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

Prerequisites

You should have successfully completed the Programmming 1 course.

Learning outcomes

You will learn:

Schedule (Spring Semester 2025)

DateTopic
21-02Introduction
28-02Object-Oriented Design Principles
07-03Design by Contract
14-03Testing and Debugging
21-03Inheritance and Polymorphism
28-03Iterative Development and Refactoring
04-04Design Patterns
11-04GUI Construction
18-04(No class)
25-04(No class)
02-05A bit of Smalltalk (Guest Lecture by Oscar Nierstrasz)
19-05A bit of Functional Programming
16-05Introduction to Aspect-Oriented Programming
23-05Guest Lecture (TBA)
30-05Q&A

Exam

Repetition exam