P2: Programming 2

Overview

Vorlesung für Haupt- und Nebenfachstudenten.

Course:Programming 2 (Spring Semester 2014)
Lecturers: Prof. Oscar Nierstrasz, Mircea F. Lungu
Staff:Andrei Chiș, Kenneth Radunz, Aliaksei Syrel
Lectures: Fridays 14h15 - 16h00
Language: English (German on demand)
Location: Engehaldenstrasse 8, 001
Start: 2014-02-21
Exam: 2014-06-04 @ 10-12
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 2014

1 21-Feb-14 Introduction
2 28-Feb-14 OO Design Principles
3 07-Mar-14 Design by Contract
4 14-Mar-14 A Testing Framework
5 21-Mar-14 Debugging and Tools
6 28-Mar-14 Iterative Development
7 04-Apr-14 Inheritance and Refactoring
8 11-Apr-14 Advanced Design Lab
- 18-Apr-14 Good Friday
- 25-Apr-14 Spring break
9 02-May-14 GUI Construction
10 09-May-14 Guidelines, Idioms and Patterns
11 16-May-14 A bit of C++
12 23-May-14 A bit of Smalltalk
13 30-May-14 Einblicke in die Praxis (Gastvortrag)
04-Jun-14 Exam — ExWi A6 @ 10h00-12h00
Last changed by oscar on 18 August 2014