6 EC
Semester 1, period 2
5364SOEV6Y
| Owner | Master Software Engineering |
| Coordinator | dr. L.T. van Binsbergen |
| Part of | Master Software Engineering, year 1 |
This course is designed around lab sessions in which we study real and large (open-source) software systems, written in languages like C, Java, PHP or Ruby. We use Rascal -a programming language workbench, or meta programming language- to apply and build software metrics, software analyses, software visualisations and (if time permits) software transformations. See http://www.rascal-mpl.org. The student is supported with introductory courses and interactive lab sessions while learning this new language in the beginning.
The course is supported by a series of lectures on the theory of software maintenance and evolution, guest lecturers from field experts, and a guided study of a number of research papers about maintenance, reverse engineering, reengineering and renovation. Example topics are clone detection, mining software repositories and refactoring.
The format is focused on practical skills via the lab exercises, such as exploring source code and building tools, and academic skills via the paper sessions. Every week we start with a two hour lecture on the theory of software evolution, which is required to understand the material covered in the lab exercises. The rest of the day and the following day are lab hours. You also need two hours time every other week to prepare for the bi-weekly two-hour paper sessions.
In this course we use the experimental programming language Rascal, which is (beta) open-source software and new to most students. On top of that we dive into many new topics for the students. Therefore the lab time is designed to be an integral and interactive part of the teaching, where the lecturer and the students are both present.
|
Activity |
Number of hours |
|
Zelfstudie |
53 |
|
Lecture |
16 |
|
Seminar |
4 |
|
Presentation (giving/attending) |
3 |
|
Laptop practical |
92 |
Requirements concerning attendance (TER-B).
| Item and weight | Details |
|
Final grade |
The two practical assignments are executed in pairs (Series 1-2). The written assignment is executed individually (Annotated Bibliography)
The 'Regulations governing fraud and plagiarism for UvA students' applies to this course. This will be monitored carefully. Upon suspicion of fraud or plagiarism the Examinations Board of the programme will be informed. For the 'Regulations governing fraud and plagiarism for UvA students' see: www.student.uva.nl
See course reader.
Recommended prior knowledge: