Official course description:
Full info last published 1/11-19

Software Development and Software Engineering

Course info
Language:
English
ECTS points:
7.5
Course code:
BSSODSE1KU
Offered to guest students:
no
Offered as a single subject:
no
Programme
Level:
Bachelor
Programme:
Bachelor of Science in Data Science
Staff
Course manager
Assistant Professor
Teaching Assistant
Teaching Assistant (TA)
Teaching Assistant
Teaching Assistant (TA)
Course semester
Semester
Efterår 2019
Start
26 August 2019
End
31 January 2020
Exam
Exam type
ordinær
Internal/External
intern censur
Grade Scale
7-trinsskala
Exam Language
GB
Abstract

The course is an introduction to software engineering, software development, and object-oriented programming for Data Science BSc students.   

Description

Please be aware that changes may occur!

Content:

  • principles of software engineering
  • software architectures and design patterns
  • object-oriented analysis and design with UML as modeling language
  • object-oriented implementation with Java as programming language


Formal prerequisites

To be determined.

Intended learning outcomes

After the course, the student should be able to:

  • Explain and be able to execute the essentials of all primary facets of software development within software engineering including analysis, design, implementation, testing, validation, and verification
  • Describe and apply modeling techniques for analysis and design
  • Describe and apply object-oriented methods for analysis, design and implementation, e.g., in the programming language Java
  • Explain the principles of software architecture, including fundamentals of a variety of common architecture styles and design patterns
  • Construct useful, coherent, large-scale systems of up to approx. 10 KLOC in size, including the ability to perform system and domain analysis for a given problem, propose an appropriate software architecture, write a system specification and its implementation, and validate the implementation against its specification.
  • Describe processes to plan and run a software engineering project including different stakeholders and their respective roles.
Learning activities

  • explain and be able to execute the essentials of all primary facets of software development within software engineering including analysis, design, implementation, testing, validation, and verification
  • describe and apply modeling techniques for analysis and design
  • describe and apply object-oriented methods for analysis, design and implementation, e.g., in the programming language Java
  • explain the principles of software architecture, including fundamentals of a variety of common architecture styles and design patterns
  • construct useful, coherent, large-scale systems of up to approx. 10 KLOC in size, including the ability to perform system and domain analysis for a given problem, propose an appropriate software architecture, write a system specification and its implementation, and validate the implementation against its specification
  • describe processes to plan and run a software engineering project including different stakeholders and their respective roles

Course literature

The course literature is published in the course page in LearnIT.

Ordinary exam
Exam type:
A: Written exam on premises, internal (7-trinsskala)
Exam variation:
A33: Written exam on premises on paper with restrictions
Exam description:

Duration: 4 hours

There is no access to advanced electronic tools such as computers, e-Readers or tablets. 
Only old-fashioned standard tools for writing on paper are allowed. 
Only use of ballpoint pen is allowed for the final exam hand-in. 



reexam
Exam type:
Z. To be decided, - (-)
Exam variation: