Advanced Software Engineering - FS 14

Contents

In this lecture, advanced methods and hot topics in software engineering are presented by different speakers.

Organization

Instructors: Prof. Dr. Harald Gall, Prof. Dr. Martin Glinz, Dr. Philipp Leitner, Martin Brandtner, Jürgen Cito
Schedule: Mo, 10:15-12:00
Language: English
AP (ECTS): 4.0
Target audience: Students in MSc Informatik
Requirements: MSc Informatik: Master-Basismodul
Software Engineering, Programming, Distributed Systems
Registration: UZH Buchungstool
VVZ: organizational details in UZH online course catalog (VVZ)

Learning Goals

Students shall be able to understand and apply advanced methods, techniques, and processes in software engineering.

Format

This course offers a mixture of lectures, small practical exercices, and a project with presentation. This allows the students to actively learn during the lecture and in preparation before and after the lecture based on concrete examples. Exercises and projects are mandatory, but will not be graded.

Note that for some of the sessions (see below) attendance is mandatory. Generally, this will be the case in sessions with practical exercises or presentations. Each student is allowed to miss one mandatory session. For each missed mandatory session after the first one, written confirmation of a medical practitioner is required. The exam needs to be taken in any case.

Project

As part of this lecture, students are required to implement and present a short cloud computing project using Amazon Web Services. These projects are solved in groups of 3 to 5 students, and presented (demonstrated) to the rest of the class. We form groups and assign topics as part of the lecture on 17.3.2014, so each student should participate in this lecture. Results are to be presented at 14.4.2014, so participation is mandatory then as well.

Timetable

The list of weekly topics may be subject to change. The slides will be updated on a week by week basis. NOTE: Please check back to this table, as lecture units may change on short notice!

Date Topic Documents/Assignments
17.02.2014 no lecture - Adv. SE starts on February 25th
24.02.2014 Kickoff and Introduction + Software Architecture (Leitner) Material
03.03.2014 Bug Fixing User Study (Brandtner) - Participation Mandatory! Please bring with you:
MacBook/Notebook
w Google Chrome
Browser installed
10.03.2014 Aspect-Oriented Programming (Gall Leitner).
(this lecture will contain a small live programming session - see the material folder in OLAT for some instructions on how to set up your laptop for it)
Material
17.03.2014 Elastic Systems Engineering I + Forming Project Groups (Leitner) - Participation Mandatory! - please attend this meeting, send an email before, or make sure that somebody else registers for a team for you! Material
24.03.2014 Elastic Systems Engineering II (Leitner) Material
31.03.2014 Domain-Specific Languages (Leitner) Material
07.04.2014 Code Metrics, Testing & Continuous Integration (Brandtner) Material
14.04.2014 Student Project Presentations (Leitner) - Participation Mandatory!
21.04.2014 Easter Holidays
28.04.2014 ATAM (Gall) Material
05.05.2014 Problem Solving (Glinz) - Read BEFORE the Lecture! (also available in OLAT)
12.05.2014 Agility I: Selected Papers (Glinz) Material (including mandatory prepration task, to be done prior to the lecture)
19.05.2014 Agility II: Agile Lego Hour (Glinz) Material
26.05.2014 Anti-Patterns and Refactoring (Cito) Material
16.06.2014 Written (!) Exam - Participation Mandatory!

OLAT Course

All complementary material will be made available in a dedicated OLAT-Resource for Advanced Software Engineering. The course material, for example, slides, exercises, tools, etc., can be found there. It also contains a forum, where we will occasionally post announcements and answer questions related to the lecture in a timely fashion.

Exam

This year, the exam will be a written exam, happening on 16.06.2014. Participation in this exam is mandatory. The exam will be closed-book, and focus on the contents covered during the lecture units. The exam will not contain programming tasks, but focus on understanding of udnerlying concepts.