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

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

Exam

Repetition exam