P2: Programming 2


Vorlesung für Haupt- und Nebenfachstudenten.

Course:Programming 2 (Spring Semester 2015)
Lecturers: Prof. Oscar Nierstrasz, Mircea F. Lungu
Staff:Andrei Chiș, Aliaksei Syrel, Mario Kaufmann
Lectures: Fridays 14h15 - 16h00
Language: English (German on demand)
Location: Engehaldenstrasse 8, 001
Start: 2015-02-20
Exam: 2015-06-03 @ 10-12 in ExWi A6
Exercise hour:Fridays 16-17
Computer pool support:Tuesdays 16-18, in A95 (Exwi)
Repetition:Spring 2016

Object-Oriented Programming with Java

mvc.png This course provides an introduction to object-oriented design, with emphasis on the following themes: How does Responsibility-Driven Design help you to decompose a complex system into objects? How does Design by Contract help you to develop robust software? How do you make use of inheritance to design flexible and generic software systems? How do iterative and incremental development and continuous refactoring help you to arrive at a clean and understandable design? How do you effectively test software? How do you avoid developing complex and unmaintainable code by consistently applying simple design principles? What kinds of known design patterns help you to simplify your software? How do you develop software that communicates its own design? How do you effectively use tools like debuggers, version control systems, and integrated development environments?

Schedule 2015

Week Date Lecture
1 20-Feb-15 Introduction
2 27-Feb-15 OO Design Principles
3 06-Mar-15 Design by Contract
4 13-Mar-15 A Testing Framework
5 20-Mar-15 Debugging and Tools
6 27-Mar-15 Iterative Development
- 03-Apr-15 Good Friday
- 10-Apr-15 Spring break
7 17-Apr-15 Inheritance and Refactoring
8 24-Apr-15 Advanced Design Lab
9 01-May-15 GUI Construction
10 08-May-15 Guidelines, Idioms and Patterns
11 15-May-15 A bit of C++
12 22-May-15 A bit of Smalltalk
13 29-May-15 Einblicke in die Praxis (Gastvortrag)
03-Jun-15 Exam — ExWi A6 @ 10h00-12h00
Last changed by oscar on 12 March 2015