Introduction to Programming

Bertrand Meyer, Fall 2015
Deutsche Version dieser Seite



06.10.2015 — Student can check the status of their submitted exercises online.

22.09.2015 — The edX MOOC is here!

21.09.2015 — We assigned students to exercise groups. If you don't find your Legi-Number in any group, please contact Alexey and tell him your preferred level and language.

14.09.2015 — The MOOC is here!

14.09.2015 — To be assigned to an exercise session make sure you answer our questionnaire within Thursday 17 September.

20.07.2015 — The first lecture will take place on Tuesday 15.9. There will be no exercise sessions during the first week.

20.07.2015 — The course page goes online.

Course description

252-0021-00 Introduction to Programming


Course book

Bertrand Meyer: Touch of Class, Learning to Program Well with Objects and Contracts, Springer 2009, ISBN: 978-3-540-92144-8. Electronic version (only available inside ETH network).

Helping and getting help

To get started with the Traffic software, you might want to read this introduction. If you think you have found a bug in Traffic, share your thoughts with your assistant, and possibly submit a bug report.

In case you encounter a crash of the EiffelStudio development environment, please click the "Submit bug report" button and provide the following credentials: login ethinfo1, password ethinfo1.

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 description of which software is needed and how to install it can be found on the first exercise sheet. It is also possible to use public computer rooms (CAB H56 and H57) where the required software is already installed (Windows only).

The lecture slides (in PowerPoint and PDF format), the exercise session slides, the exercise sheets, the masters solutions for the exercises and the mock exams can be downloaded from this page.

Additional materials:

Further reading



Day Time Location
Monday 13:15-15:00 HG E7
Tuesday 8:15-10:00 HG E7

Slides and video recordings

You can also watch video recordings from 2009 in English.

Note: in the PDF version of the slides animation is not retained and some slides can become unclear.

Date Lecture Title Slides Readings
Tue. 15.09 1.2 Introduction Final version pdf pptx Chapter 1, 2
Mon. 21.09 2.1 Dealing with objects I Final version pdf pptx Chapter 2
Tue. 22.09 2.2 Dealing with objects II Final version pdf pptx Chapter 3
Mon. 28.09 3.1 Interface of a class Final version pdf pptx Chapter 4
Tue. 29.09 3.2 Invariants and logic Final version pdf pptx Chapter 5
Mon. 05.10 4.1 Object creation Final version pdf pptx Chapter 6
Tue. 06.10 4.2 Object creation II Final version pdf pptx Chapter 6
Mon. 12.10 5.1 Assignment, references, and object structure Final version pdf pptx Chapter 9
Tue. 13.10 5.2 Describing syntax Final version pdf pptx Chapter 11
Mon. 19.10 6.1 Control structures I Final version pdf pptx Chapter 7
Tue. 20.10 6.2 Control structures II Final version pdf pptx Chapter 7
Mon. 26.10 7.1 Abstraction Final version pdf pptx Chapter 8
Tue. 27.10 7.2 Dynamic model Final version pdf pptx Chapter 8
Mon. 2.11 8.1 Inheritance and genericity I Final version pdf pptx Chapter 16
Tue. 3.11 8.2 Questions and Answers
Mon. 9.11 9.1 Inheritance and genericity II Final version pdf pptx Chapter 16
Tue. 10.11 9.2 Inheritance and genericity III Final version pdf pptx Chapter 16
Mon. 16.11 10.1 Inheritance and genericity IV Final version pdf pptx Chapter 16
Tue. 17.11 10.2 Recursion I Final version pdf pptx Chapter 14
Mon. 23.11 11.1 Recursion II Final version pdf pptx Chapter 14
Tue. 24.11. 11.2 Data structures Final version pdf pptx Chapter 13
Mon. 30.11 12.1 Topological Sort Final version pdf pptx Chapter 15
Tue. 1.12 12.2 Multiple Inheritance Final version pdf pptx Chapter 16
Mon. 7.12 13.1 An example: Undo/Redo Final version pdf pptx Chapter 17
Tue. 8.12 13.2 An example: Undo/Redo II Final version pdf pptx Chapter 17
Mo. 14.12 14.1 Event-driven programming and agents Final version pdf pptx Chapter 17, 18
Tue. 15.12 14.2 From programming to software engineering Final version pdf pptx Chapter 19

Tentative version = Tentative version Final version = Final version


Exercise Groups

Here you will find the distribution of students into exercises groups as well as general information about the groups.

The distribution of students in the exercise groups is based on a self assessment questionnaire. The students are then grouped according to their experience. Access the self assessment questionnaire here.

Assignments and mock exams

The weekly assignments are published every Monday before 18:00. You should submit your solution within the next nine days (by the end of Wednesday). The suggested way to submit the solutions is by email. They will be checked but not graded. you can check the status of your submissions online. Master solutions will be published online after the due date (on Thursday). Students are strongly encouraged to look at the solutions and ask questions.

Two mock exams will take place during the exercise sessions, be graded and returned.

Week Exercise Links
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 and logic Sheet Solution
Week 5 Assignments and control structures Sheet Solution
Week 6 Loopy games Sheet Solution
Week 7 Mock exam 1 Exam Solution
Week 8 Inheritance and polymorphism Sheet Solution
Week 9 Recursion Sheet Solution
Week 10 Data structures Sheet Solution
Week 11 Agents and board games Sheet Solution
Week 12 Mock exam 2 Exam Solution

Exercise session slides and exercises

Date Material (PDF/code) Material (PowerPoint/code)
23.9 pdf ppt
30.09 pdf ppt/role play game source
7.10 pdf ppt
14.10 pdf ppt
21.10 pdf ppt
28.10 pdf ppt
18.11 pdf ppt/binary search tree source
25.11 pdf ppt in-class exercise in-class exercise 2
9.12 pdf ppt
Additional Topics Material (PDF) Material (PowerPoint) Material (Other)
Syntax comparison Eiffel/Java pdf pptx
Invariants / Marriage example pdf pptx code
Once routines pdf pptx code
Void safety pdf pptx code
Programming paradigms pdf pptx
CAT calls pdf pptx
Verification pdf pptx
Beyond Eiffel pdf pptx