Object-Oriented Programming (Programowanie Obiektowe)

Lecture: Tuesdays, 14-16, room 140.
Lab: Tuesdays, 16-18, room 137.

Course Description

The course will be based on Unix and C++. I do not plan to discuss all features of all object-oriented programming languages that have existed in history. Instead I will base the course on my experience with writing theorem provers and a flight simulation program. I will not simply list all features of C++, but explain how they must be used. C++ is a complicated language with many features which are often used incorrectly.


A professional computer scientist must be familiar with Linux. Windows is designed in such a way that the user has no control over the computer. Because of this, a Windows user never knows where his files are, which processes are running and what they are doing. Windows compilers are usually integrated into development tools and usually do not respect the standard. A Windows user is usually not able to start an editor, and format code by himself.



You should know C, and have some minimal programming experience.

Planned Schedule

Grading and Project

The total number of points in the exercises is 192. I will give maximally 100 points for the project. This means that the project should have a complexity of approximately six exercises in order to get the maximal number of points. The project must contain a couple of classes in multiple files, (correctly distributed over .h and .cpp files), it must be compiled with a correctly prepared makefile under Linux. The project must use either inheritance or templates. The code must have a reasonable lay out, see the rules. Points are as follows: At least 272 gives 5.0, at least 252 gives 4.5, at least 232 gives 4.0, at least 212 gives 3.5, and at least 192 gives 3.0. In order to obtain a grade at all, one has to show at least 2/3 of exercise points before 24.06.2011.


Exercises are on tuesday, 16.15, room 137.