Course syllabus for Software evolution project

Course syllabus adopted 2021-02-17 by Head of Programme (or corresponding).

Overview

  • Swedish nameSoftware evolution project
  • CodeDAT265
  • 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 24118
  • Maximum participants65
  • Block schedule
  • Open for exchange studentsNo

Credit distribution

0111 Project 15 c
Grading: TH
7.5 c7.5 c0 c0 c0 c0 c

In programmes

Examiner

Go 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 the course the student needs to have successfully completed the following courses, or equivalent:
  • a 7.5 hec course in programing (e.g., TDA584 Introductory software development, 7.5 hec),
  • a software project course DAT321 Software Quality, 7.5 hec,
and at least one of the following courses, or equivalent:
  • DAT231 Requirements Engineering, 7.5 hec,
  • DAT220 Advanced software architecture, 7.5 hec,
  • DAT240 Model driven engineering, 7.5 hec,
  • DAT262 Model based testing 7.5 hec.
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 scenarios as defined by the Architecture Driven Modernization (ADM) task force of the Object Management Group (OMG),
  • 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, clone detection, 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 as defined by the OMG, such as platform or language migration,
  • implement changes to a software product that lead to an improvement of the product's quality (quality improvement task),
  • 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 consist of a series of group and individual milestones, and supervision meetings during the semester.Groups and teachers agree on a software evolution scenario to be performed as a project during the course. In additon, lectures and workshops are used to provide the student with methods and knowledge about software evolution.
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, and so on. Furthermore, students learn to plan, implement, and reflect on software evolution scenarios and improvements.

Organisation

The course contains project- and problembased teaching.

Literature

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

Examination including compulsory elements

The course consists of one module which consists of four components.
The course is examined by the following four mandatory components:
  • weekly group milestones that are submitted during the course,
  • a written group report to be submitted at the end of the course,
  • a documentation of the individual contribution to the final outcome of the group work,
  • an individual written final report.
The group work is carried out in groups of normally 4-5 students. The student collects points for all four components. Furthermore individual optional milestones 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.