Course syllabus for Software evolution project

Course syllabus adopted 2024-02-05 by Head of Programme (or corresponding).

Overview

  • Swedish nameSoftware evolution project
  • CodeDAT266
  • Credits15 Credits
  • OwnerMPSOF
  • Education cycleSecond-cycle
  • Main field of studyComputer Science and Engineering, Software Engineering
  • DepartmentCOMPUTER SCIENCE AND ENGINEERING
  • GradingTH - Pass with distinction (5), Pass with credit (4), Pass (3), Fail

Course round 1

  • Teaching language English
  • Application code 24119
  • Maximum participants65
  • Block schedule
  • Open for exchange studentsNo

Credit distribution

0124 Project 12 c
Grading: TH
6 c6 c0 c0 c0 c0 c
0224 Written and oral assignments 3 c
Grading: TH
1.5 c1.5 c0 c0 c0 c0 c

In programmes

Examiner

Information missingGo to coursepage (Opens in new tab)

Eligibility

General entry requirements for Master's level (second cycle)
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Specific entry requirements

English 6 (or by other approved means with the equivalent proficiency level)
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Course specific prerequisites

To be eligible for this course, the student needs to have successfully completed the
following requirements, or equivalent:
  • A bachelor degree in Software Engineering, Computer Science, Information Technology, Information Systems, or equivalent
  • Advanced Requirements Engineering (7.5 credits)
  • Quality Assurance and Testing (7.5 credits)
Applicants must prove knowledge of English: English 6/English B or the equivalent level of an internationally recognized test, for example TOEFL, IELTS.

Aim

The aim of this course is for students to synthesize and apply the knowledge achieved from previous compulsory courses in the program, and learn about and deal with the activities occurring after the initial product release in software development.

Learning outcomes (after completion of the course the student should be able to)

Knowledge and understanding
  • explain the notion of software evolution,
  • summarize state of the art in methods and tools for software evolution tasks, such as program comprehension and software refactoring,
  • discuss the challenges associated with software evolution,
  • explain current research trends in program comprehension and refactoring
Skills and abilities
  • extract a software product's architecture from a given code base and evaluate the quality of the software product,
  • implement one software evolution scenario,
  • implement changes to a software product that lead to an improvement of the product's quality,
  • make use of synergies between different improvements goals for the same product,
Judgement and approach
  • detect and judge needs for quality improvement or evolution in an authentic software product,
  • plan the use of appropriate methods and techniques for performing a software evolution scenario and a quality improvement task,
  • judge needs for improvement of methods and tools to support software evolution
  • plan and evaluate ideas for new or improved tools

Content

The course consists of two modules, including a group project and individual assignments.

The purpose of this course is to familiarize the student with situations, activities, and techniques typical for software evolution, such as adding a new feature, refactoring, and so on. Furthermore, students learn to plan, implement, and reflect on software evolution scenarios and improvements.

Organisation

The course contains project- and problem-based teaching.

Literature

The literature depends on the specific improvement area taken on by the student.

Examination including compulsory elements

The course consists of two modules:
  • A group project carried out in groups of students.
  • One or more individual assignments.
 Furthermore, individual optional assignments can be used to collect bonus points during the course.

The course examiner may assess individual students in other ways than what is stated above if there are special reasons for doing so, for example if a student has a decision from Chalmers on educational support due to disability.