NDAK16007U CHANGED: Software Engineering (SE)

Volume 2018/2019

MSc Programme in Computer Science.



Software engineering represents the principles, methods, tools, and techniques involved in the design, development, implementation, and maintenance of software systems. The purpose of this course is to provide an overview of the different aspects and stages involved in the engineering of software with a special focus on the use of models in software engineering and adaptability. Assuming that course participants are acquainted with basic software development principles, this course will provide knowledge on and experience with the wider aspects and stages in the lifecycle of a software system. During this course you will as a student be introduced to the general principles of software engineering, methods for addressing software engineering problems, and common tools and techniques applied in the different aspects of the field. Concretely, you will be given access to existing code for a case management system and be asked to make and document a change to the system.

The course will include lectures and exercises in the following subjects:
• Project Management
• Requirements Elicitation
• Software Design, Models and Development
• Software Implementation
• Maintenance, Change and Evolution

Learning Outcome


Knowledge of

  • How software systems are designed, developed, implemented, and maintained
  • The necessary principles in the engineering of software systems
  • Methods, tools, and techniques to design, develop, implement, and maintain software


Skills to

  • Manage the processes of designing, developing, implementing, and maintaining software systems
  • Communicate the design of a system
  • Control the quality of the produced software
  • Adapt and predict evolution of software systems


Competences to

  • Document and communicate their engineering process
  • Critically read and apply existing methods, tools, and techniques

See Absalon for a list of course literature.

Good programming skills are required.
Lectures, workshops, and projects.
Students should be aware that this is not a programming course. While they are expected to hand in a software product as a part of their project, the focus of the report and exam will be on the process of developing the product (e.g. requirements elicitation, design, quality assurance, etc).
  • Category
  • Hours
  • Exam
  • 1
  • Exam Preparation
  • 13
  • Lectures
  • 24
  • Preparation
  • 56
  • Project work
  • 80
  • Theory exercises
  • 32
  • Total
  • 206
Continuous feedback during the course of the semester

There will be continuous supervision of student projects during exercise classes and it will be possible to hand in and receive feedback on a draft of the final report.
In all cases, it is the student's own responsibility to make use of these opportunities.


7,5 ECTS
Type of assessment
Oral examination, 25 minutes
The students as a group will first present their project. The presentation will take approximately 15-20 minutes, depending on the number of students in the group.
This is followed by an individual oral exam of 20 minutes (including grading) per student without preparation.
The examination will be based on the student report and course curriculum.
Exam registration requirements

Submitted and approved student report based on the course project and student's reflections.

Only certain aids allowed

Only the following materials are allowed at the exam:

• The project report

• The presentation slides

• Source code for the group project



Marking scale
7-point grading scale
Censorship form
No external censorship
Several internal examiners.

Same as ordinary exam.

The report must be (re)submitted no later than two weeks before the re-exam in order for the student to qualify for the re-exam.

Criteria for exam assesment

See Learning Outcome.