Course syllabus
DAT265 / DIT588
The course Software evolution project lp1 HT23 (15 hp) is offered by the department of Computer Science and Engineering as a joint course at Chalmers and Göteborgs Universitet.
- Link to the syllabus for DAT265 on Studieportalen: Syllabus (Links to an external site.)
- Link to the syllabus for DIT588: Syllabus
Contact details
Course responsible: Farnaz Fotrousi (fotrousi@chalmers.se)
Examiner: Jennifer Horkoff (jenho@chalmers.se)
Supervisors:
- Malsha Ashani Mahawattta Dona malsha@chalmers.se
- Ricardo Diniz Caldasricardo.caldas@chalmers.se
- Weixing Zhang weixing@chalmers.se
Course purpose
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. 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, 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.
Schedule
The schedule is available at TimeEdit.
We will have lectures, worskhops, group presentations and some supervision meetings. Thus, these are the times you should schedule for the course. There will of course be additional meetings within your team, but this is something you are free to agree upon within the team. Details can be found on the course schedule page .
Course literature
Please, find the list of course literature here.
Course design
Detailed information on the course design and organisation can be found here.
Communication between teachers and students takes place via Canvas and e-mail.
Project assignments and guidelines for reporting can be found in the Modules.
Changes made since the last occasion
- A slight change in the examination grades: more points for the group milestones and extra points for the optional individual assignments.
- Changing the selected software evolution project
- Introducing a workshop for choosing evolution scenarios in the selected project
- Defining concrete expectations for each group milestone.
- Some adjustments on lectures’ content and assignments descriptions.
Learning objectives and syllabus
Learning objectives (after completion of the course the student should be able to):
- 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.
- 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 improvement goals for the same product.
- 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.
Examination form
Detailed information on the course examination can be found here.
Communication between teachers and students takes place via Canvas and e-mail.
Project assignments and guidelines for reporting can be found in the Modules.
Course summary:
Date | Details | Due |
---|---|---|