P2: Programming 2 (F13)


Vorlesung für Haupt- und Nebenfachstudenten.

Course: Programming 2 (Spring Semester 2014)
Lecturers: Prof. Oscar Nierstrasz, Mircea F. Lungu
Staff: Andrei Chiş
Lectures: Fridays 14h15 - 16h00
Language: English (German on demand)
Location: Engehaldenstrasse 8, 001
Start: 2013-02-22
Exam: TBA
Exercise hour: Fridays 16-17
Computer pool support: Tuesdays 16-18, in A95 (Exwi)

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 (2013 — to be updated)

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