Skip to main content

Software Evolution Project

Master’s level
15 credits (ECTS)


The purpose of this course is to familiarise the student with situations, activities, and techniques typical for software evolution, such as adding a new feature, refactoring, automating variability or testing, improving performance, re-balancing non-functional requirements, and so on. Furthermore, students learn to plan, implement, and reflect on software evolution scenarios and improvements.

Prerequisites and selection


To be eligible for the course the student needs to have successfully completed the following courses, or equivalent:
a 7.5 hec course in programing (e.g., DIT948 Programming),
a 7,5 hec software project course (e.g., DIT191 Agile development processes),
a 7.5 hec course in software quality (e.g., DIT847 Software Quality),
and at least one of the following courses, or equivalent:
7,5 hec DIT284 Requirements Engineering,
7,5 hec DIT544 Advanced software architecture,
7,5 hec DIT596 Software Language Engineering for Domain Specific Languages, or
7,5 hec DIT848 Model based testing.
Applicants must prove knowledge of English: English 6/English B or the equivalent level of an internationally recognized test, for example TOEFL, IELTS.