Navigation auf uzh.ch
Deepen your knowledge about advanced software engineering practices. This course covers the following specific topics: software architecture and design, testing, program representations, static analysis, mining software repositories, release engineering, performance optimization, aspect-oriented programming, cloud applications, and further selected topics. The lectures will be complemented by a project and student presentations, which enables active learning during the lecture and a realistic use case that serves as an exmaple to support the preparation before and after the lecture.
The project this year is about replicating a recommender system for software engineering. You will work in teams of 3-4 students. We will prepare a list of scientific papers that propose recommender systems, e.g., Intelligent Code Completion With Bayesian Networks. Each team will pick one paper and will rebuild the proposed recommendation system and replicate the experiments shown in the paper.
We will have a written exam, unless the number of participants is low. The final grade will be based on all three parts: project, presentations, and the exam.
Learning Goals: Learn advanced techniques, methods, and processes in software engineering and apply them in practice.
Instructors: |
Prof. Dr. Harald Gall, Sebastian Proksch, and others. |
Schedule: | Mondays, 10:15am-12:00pm, Room 2.A.10 |
Language: | English |
AP (ECTS): | 6.0 |
Target audience: | Students in MSc Informatik |
Requirements: | MSc Informatik: Master-Basismodul Software Engineering, Programming, Distributed Systems |
Registration: | UZH Buchungstool |
Contact: | Please email Sebastian Proksch for any administrative matters |
Please refer to the kick-off slides for further details regarding the organization, like the course structure or the grading.
Date | Topic | Lecturer | Material |
---|---|---|---|
18.02. | Kickoff and Introduction of Project | Proksch | |
25.02. | Program Representations and Parsing | Alexandru | |
04.03. | Static Analysis | Proksch | Slides, Demo, Visitor Pattern |
11.03. | Code Smells and Refactoring | Palomba | Slides |
18.03. | Mining Software Repositories | Proksch | Slides |
25.03 | Testing | Proksch | Slides, Demo, Strategy Pattern |
01.04. | Midterm Project Presentations | All Participants | |
08.04. | No Lecture (Sechseläuten) | ||
15.04. | DevOps & Continuous Integration | Vassallo | Slides |
22.04. | No Lecture (Osterferien) | ||
29.04. | Release Engineering | Schermann | Slides |
06.05. | Software Architecture | Proksch | Slides |
13.05. | Aspect-Oriented Programming | Gall | Slides |
20.05. | Final Project Presentations | All Participants | |
27.05. | No Lecture | ||
31.05. | Final Project Submission | All Participants | Links to Repository, Models, Package, etc. |
17.06. | Written Exam | All Participants |
All lectures will take place on Monday, 10:15am to 12pm, in room BIN-1.D.29. The exam will take place on June 17, 10:15am to 12pm, in room 2.A.10.