Introduction to Programming

Deutsche Version dieser Seite

Bertrand Meyer, fall semester 2007

General: news | reading assignments | course description | course book | help forum | downloads | further reading
Lecture: schedule | slides and video recordings
Exercises: Tootor | groups | exercise sheets | exercise slides



7.1.2009   The second mock exam is online.
15.12.2008   Tomorrow the last lecture will take place. On the programme (among other things) are the discussion of the course evaluation and the "award show" for the last task (cipher) of assignment 10.
8.12.2008   The master solution of assignment 10 is now online.
4.12.2008   The master solution of assignment 9 is now online.
4.12.2008   Announcement: The second mock exam will take place on the 9. December.
28.11.2008   Assignment 10 and the master solution 8 are now online.
27.11.2008   The course evaluation takes place on 2. December.
21.11.2008   Assignment 9 and the master solution 7 are now online.
18.11.2008   Exercise slides from the 11.10.2008 are online.
14.11.2008   Assignment 8 is now online.
12.11.2008   The first mock exam is now online.
7.11.2008   Assignment 7 is now online.
3.11.2008   Solution to assignment 6 is now online.
29.10.2008   Solution to assignment 5 is now online.
24.10.2008   Announcement: The first mock exam will take place on the 4. November.
24.10.2008   Assignment 6 is now online.
20.10.2008   Solution to assignment 4 is now online.
17.10.2008   Assignment 5 is now online.
13.10.2008   Updated assignment 4 (there was a mistake in the image path of task 1.5).
10.10.2008   Assignment 4 and solution of assignment 3 are online.
7.10.2008   The slides of the 6th exercise session (from 7.10.2008) are now online.
6.10.2008   The slides of the 5th exercise session (from 6.10.2008) are now online.
6.10.2008   Solution of assignment 2 is online.
3.10.2008   Assignment 3 is online.
30.9.2008   The exercise slides of the first 2 weeks are now online.
29.9.2008   The Liskov exercise session on Monday by Wolfgang has moved from room IFW A32.1 to IFW B42 starting Monday, 6.10.08.
26.9.2008   Second assignment is online.
22.9.2008   See below for your assigned exercise group. If you wish to change your group, please contact Hermann Lehner.
22.9.2008   First assignment is online.
8.8.2008   First version of webpage.

Reading assignments

Course description

Title and ID

Introduction to Programming
ID (Vorlesungsnummer): 252-0021-00


Foundations of object-oriented programming. Objects and classes. Interfaces of a class. Preconditions and postconditions, invariants, Design by Contract. Basic control structures. Assignment and referencing. Basic knowledge about the hardware. Basic data structures and algorithms. Recursion. Inheritance and deferred classes. Introduction to event-driven and concurrent programming. Fundamental concepts of software engineering: software production process, specification, documentation, reuse, quality assurance.

Course book

Bertrand Meyer: Touch of Class, lecture book (in preparation).

Help forum

You can use the help forum to ask course- and exercise-related questions. The assistants will do their best to answer your questions as soon as possible.


The precise descriptions about which software is needed and how to install it, can be found on a future exercise sheet.

Further reading

  • Bertrand Meyer: Object-Oriented Software Construction, Second Edition, Prentice Hall, ISBN 0-13-629155-4
  • Pete Thomas, Ray Weedon: Object-Oriented Programming in Eiffel, Second Edition, Addison-Wesley Eiffel in Practice Series, ISBN 0-201-33131-4
  • Frieder Monninger: Eiffel. Objektorientiertes Programmieren in der Praxis, H. Heise Verlag, Hannover, ISBN 3-882-29028-5
  • Bertrand Meyer: La produzione del software object oriented. Prentice Hall International, Hemel Hempstead, ISBN 88-256-0205-7
  • Giuseppe Callegarin: Nuovo corso di informatica. Basi di dati e sistemi informativi. Per le Scuole superiori. CEDAM, ISBN 8-813-19565-6
  • The concept of information hiding was first documented by David Parnas in this paper.






Monday 13:00-15:00 HG E3  
Tuesday 8:00-10:00 HG F1  

 Slides and video recordings


The exercise sessions schedule reports three hours of exercises per week. In fact all the relevant topics for the course and the exam will be discussed during the first two hours (Monday and Tuesday). In addition, on every Tuesday from 14:00 to 15:00, each assistant will be available to answer questions and provide support on the assignments.


The software Tootor is an interactive guide through parts of the course curriculum. The software is available at


The distribution of students to the groups is based on last names.
A-Bro: Nygaard
Bru-Fan: Goldberg
Fav-Guz: Knuth
Ham-Käs: Torvalds
Kat-Lon: Dijkstra
Lor-Ngu: Lovelace
Noe-Sche: Liskov
Schi-Tad: Hoare
Tan-Z: Wirth
Students that are not present in the first lecture are requested to contact Marco Piccioni directly to be assigned to a group.






Room and times


Yi Wei RZ J5 044 632 69 57 Yi Wei Liskov Mo, 15:00-16:00, ML J34.1
Tue, 13:00-15:00, ML J34.3
Ilinca Ciupa RZ J4 044 632 44 49 Ilinca Ciupa Nygaard Mon, 15:00-16:00, IFW D42
Tue, 13:00-15:00, ETZ K91
Ivo Colombo Ivo Colombo Torvalds Mon, 15:00-16:00, ML H37.1
Tue, 13:00-15:00, HG E22
Wolfgang Schwedler RZ J8
044 632 47 32
Wolfgang Schwedler
Lovelace Mon, 15:00-16:00, IFW A32.1
Tue, 13:00-15:00, ETZ E9
Nadia Polikarpova RZ J8
044 632 65 74
Nadia Polikarpova
Hoare Mon, 15:00-16:00, LEC C14
Tue, 13:00-15:00, IFW B42
Andreas Leitner RZ J4 044 632 30 21 Andreas Leitner Wirth Mon, 15:00-16:00, IFW A 36
Tue, 13:00-15:00, LEC C14
Benjamin Morandi RZ J9 044 632 78 28 Benjamin Morandi Dijkstra Mon, 15:00-16:00, ML H34.3
Tue, 13:00-15:00, LFW C5
Marco Piccioni RZ J9 044 632 65 32 Marco Piccioni Knuth Mon, 15:00-16:00, HG E21
Tue, 13:00-15:00, CAB H52
Conrado Plano Conrado Plano Goldberg Mon, 15:00-16:00, ML F39
Tue, 13:00-15:00, LEC C18

Assignments and mock exams

The weekly assignments will be checked by the assistants but not graded. The suggested way to submit the assignments is in electronic form (typically via email). The complete solutions of the assignments will be published after the due hand-in date. Students are strongly encouraged to look at the published master solutions and ask questions about the parts of the solutions that they don't understand. Common errors will be addressed and discussed during the exercise sessions. Within the semester two mock exams will take place during the exercise sessions. To get the testat and be able to take the final exam, students must do both the mock exams (grade is not relevant) and hand-in all but one assignment. The mock exams will be checked, graded and handed back to the students.




Master solution

Week 1 Getting started Sheet
Week 2 Give me your feature name and I'll call you Sheet Solution
Week 3 Of Objects and Features Sheet Solution
Week 4 Object creation Sheet Solution
Week 5 References and assignments Sheet Solution
Week 6 Loops and conditionals Sheet Solution
Week 7 Mock exam 1 Sheet Solution
Week 8 More loops Sheet Solution
Week 9 Ghosts Sheet Solution
Week 10 Recursion Sheet Solution
Week 11 Observable secrets Sheet Solution
Week 12 Mock exam 2 Sheet Solution

Slides used in the exercise sessions

The slides used in the exercises are available here (note: in the pdf version animation is not retained and some slides can become unclear):
Date Material (.pdf) Material (.ppt)
23.09.2008 pdf ppt
29.09.2008 pdf ppt
30.09.2008 pdf ppt
6.10.2008 pdf ppt
7.10.2008 pdf ppt
13.10.2008 pdf ppt
14.10.2008 pdf ppt
20.10.2008 pdf ppt
21.10.2008 pdf ppt
27.10.2008 pdf ppt
28.10.2008 pdf ppt
10.11.2008 pdf ppt
17.11.2008-18.11.2008 pdf ppt
24.11.2008-25.11.2008 pdf ppt
1.12.2008-2.12.2008 pdf ppt

E-Mail: Michela Pedroni