NDAK16007U Software Engineering (SE)

Volume 2019/2020
Education

MSc Programme in Computer Science.

Content

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 large systems. 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 (large) software system. During this course the students will 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.

The course will include lectures and exercises in the following subjects:

• Project Management

• Requirements Elicitation


• Software Design and Development

• Software Implementation


• Quality Assurance

• Maintenance and Evolution


• Software Business

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 and architecture of a system
  • Control the quality of the produced software 
  • Plan the maintenance of (large) software systems
  • Predict evolution of (large) 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.

Academic qualifications equivalent to a BSc degree is recommended.
(Video) 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
Written
Oral
Individual
Collective
Continuous feedback during the course of the semester
Peer feedback (Students give each other feedback)

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.

 

Credit
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.
 

Aid
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.
Re-exam

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.