P2: Programming 2 (FS12)


Vorlesung für Haupt- und Nebenfachstudenten.

Course: S6064 (Spring Semester 2012)
Lecturer: Prof. Oscar Nierstrasz
Staff: Niko Schwarz, Aaron Karper, Joel Krebs
Lectures: Fridays 14h15 - 16h00
Language: English (German on demand)
Location: Engehaldenstrasse 8, 001
Start: 2012-02-24
Exam: 2012-06-08 @ 10h00-12h00, ExWi A6
Exercise hour: Fridays 16-17
Computer pool support: Tuesdays 15-17, 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 2012

1 24-Feb-12 Introduction
2 02-Mar-12 OO Design Principles
3 09-Mar-12 Design by Contract
4 16-Mar-12 A Testing Framework
5 23-Mar-12 Debugging and Tools
6 30-Mar-12 Iterative Development
06-Apr-12 Good Friday
13-Apr-12 Spring break
7 20-Apr-12 Inheritance and Refactoring
8 27-Apr-12 Advanced OO Design (lab, Jorge Ressia)
9 04-May-12 GUI Construction
10 11-May-12 Guidelines, Idioms and Patterns
11 18-May-12 A bit of Smalltalk
12 25-May-12 A bit of C++
13 01-Jun-12 Einblicke in die Praxis (Gastvortrag, Frank Buchli)
08-Jun-12 Exam — ExWi A6 @ 10h00-12h00