Programming 2
About this course
This course provides an introduction to object-oriented design in Java with an emphasis on practical techniques for developing complex software systems.
Organisation
- Lecturer(s): Timo Kehrer
- Assistant(s): Roman Bögli, Alexander Boll
- Teaching assistants: Teaching assistants
- Material: ILIAS
- Podcast: ILIAS
- Registration: KSL
- Language: English, German
- Course repetition: Spring Semester 2026
Prerequisites
You should have successfully completed the Programmming 1 course.
Learning outcomes
You will learn:
- How to apply Responsibility-Driven Design to decompose a complex system into objects
- How to use Design by Contract to develop robust software
- How to make use of inheritance to design flexible and generic software systems
- How to apply iterative and incremental development and continuous refactoring to arrive at a clean and understandable design
- How to effectively test software
- How to develop maintainable code by consistently applying simple design principles
- How to apply design patterns as reusable solutions to commonly occurring design problems
- How to develop software that communicates its own design
- How to effectively use development tools like integrated development environments and version control systems
- How to program declaratively using paradigms beyond (classical) object-orientation
Schedule (Spring Semester 2025)
- Lectures: Fridays 13:15 - 15:00, Hörsaal 1 001, Engehalde, E8
- Exercises: Fridays 15:15 - 16:00, Hörsaal 1 001, Engehalde, E8
- Pool Hours: Tuesdays 16:30 - 18:00, PC Pool A95, ExWi
Date | Topic |
---|---|
21-02 | Introduction |
28-02 | Object-Oriented Design Principles |
07-03 | Design by Contract |
14-03 | Testing and Debugging |
21-03 | Inheritance and Polymorphism |
28-03 | Iterative Development and Refactoring |
04-04 | Design Patterns |
11-04 | GUI Construction |
18-04 | (No class) |
25-04 | (No class) |
02-05 | A Bit of Functional Programming |
19-05 | Introduction to Aspect-Oriented Programming |
16-05 | Guest Lecture (TBA) |
23-05 | Guest Lecture (TBA) |
30-05 | Q&A |
Exam
- Date: Friday, 13th June 2025, 10:00 - 12:00
- Location: Hörsaal A6 and B5, ExWi
- Type: Written, 120 minutes
- Registration: KSL
Repetition exam
- Date: TBA
- Location: TBA
- Type: Written, 120 minutes
- Registration: KSL