Course syllabus
Welcome
DAT265 / DIT598 Software evolution project lp1 HT20 (15 hp)
The course is given by the Department of Computer Science and Engineering during Study Period 1 and 2.
Teaching in Times of Corona
Dear students,
Due to the ongoing Corona crisis, we made the following decisions about DAT265/DIT598 after performing a risk analysis.
- All lectures will be online (as live sessions, zoom links are available on the internal schedule page). You are not allowed to record any of the lectures in this course.
- All supervision sessions and milestone meetings with your TAs will be online through video-calls (we will provide zoom rooms for that)
- All course activities will happen considering Stockholm's timezone.
- The only event offered as an optional campus event are the mini-seminars in the second half of the term. Note that the decision regarding the mini-seminars might change if a new risk assessment at the start of the second half of the semester leads to the insight that we cannot safely perform the event on campus. Mini-seminars can also be participated in online if you wish so. Thus, it will be possible to follow the course fully remotely.
Kind regards
Regina
Contact details
Course coordination and examiner: Regina Hebig (hebig@chalmers.se)
Supervisors:
- Khaled Al Sabbagh (khaled.al-sabbagh@gu.se)
- Aiswarya Raj Munappy (aiswarya@chalmers.se)
- Rolf Green (rolf.green@chalmers.se)
- Ricardo Diniz Caldas (ricardo.caldas@chalmers.se)
- Afonso Fontes (afonso.fontes@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 detailed schedule can be found on the page "Course Schedule" and in the course summary below. Most events will happen on zoom. Links for that can be found on the page "Course Schedule". Rooms can be found in TimeEdit.
We will have some workshops and supervision meetings every Tuesday and Friday in the mornings (as indicated in TimeEdit). This is also time were you can reach use easily and without effort in a virtual room. 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.
Course literature
Please, find the list of course literature here.
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 improvements 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.
The course is a joint course (Chalmers and Göteborgs Universitet):
- Link to the syllabus for DAT265 on Studieportalen: Syllabus
- Link to the syllabus for DIT598: Syllabus
Course design and examination form
Detailed information on the course design and 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 on the internal module pages.
Last year's course evaluation results
The course evaluation from the last occasion (HT2019/2020) can be found here, including a link to the minutes from course evaluation meeting.
Changes made since the last occasion
The main change made since the last occasion concerns the selected project. The new project will be based on the open-source tool JabRef
Other changes are:
- Online teaching due to Covid19 instead of face-to-face meetings
- Addition of the workshop on Dev-Tool ideas
- Unfortunately, no guest lecture on continuous integration and testing platforms (due to unavailability of the guest lecturer)
For early planners
Teamwork: Teamwork will play a big role in this project course. To prepare for that:
- We recommend you to read the following paper before the course starts (8 pages): Wolfe, J., & Powell, E. (2014, October). Strategies for dealing with slacker and under-performing teammates in class projects. In Professional Communication Conference (IPCC), 2014 IEEE International (pp. 1-8). IEEE. You find a PDF in the internal pages.
- We plan to have teams of 5 students. This year you are asked to choose all team members yourself. So, please, feel free to go ahead and match yourself with some classmates. When doing so, please, consider your own timing constraints (e.g. what are the other courses you are planning to take?) and make sure to form teams that can meet on a regular basis - also outside the times scheduled for workshops and supervision meetings. All teams that are smaller than 5 students should be prepared to take in additional students. More details can be soon be found on the internal pages.
Looking forward to seeing you in the course!
Course summary:
Date | Details | Due |
---|---|---|