[an error occurred while processing this directive]

Introduction to Programming

German Version version of this page

Bertrand Meyer, Wintersemester 2004/2005

General info: News | Course description | Course book | Help Forum | Downloads | Traffic Software | Further reading
Lectures: Schedule | Slides and lecture videos | Slides and lecture videos from last year (winter semester 2003/2004)
Exercises: Registration | Lab session | Schedule | Assistants | Exercise topics

General info


Check the German version of this page.

Course description

Title and ID

Introduction to Programming
ID (Vorlesungsnummer): 252-0001-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.


EiffelStudio 5.5 Free Edition is available for both Windows and Linux. Click here.

Traffic Software

The Traffic Software can be downloaded here.

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






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

  Slides and lecture videos




Slides (EN)

Video (mpeg4)

Week 1 Tue, 2004-10-19 Introduction  
Week 2 Mon, 2004-10-25 Dealing with objects  
  Tue, 2004-10-26 Eiffel, objects and programs  
Week 3 Mon, 2004-11-01 The interface of a class  
  Tue, 2004-11-02 Logic  
Week 4 Mon, 2004-11-08 Object creation  
  Tue, 2004-11-09 References, assignment, and the object structure  
Week 5 Mon, 2004-11-15 Control structures I  
  Di, 2004-11-16 Syntax  
Week 6 Mon, 2004-11-22 Control structures II  
  Tue, 2004-11-23 Control structures II  
Week 7 Mon, 2004-11-29 The dynamic model  
  Tue, 2004-11-30 The dynamic model  
Week 8 Mon, 2004-12-06 Inheritance  
  Tue, 2004-12-07 Inheritance and Genericity  
Week 9 Mon, 2004-12-13 Recursion  
  Tue, 2004-12-14 Recursion  
Week 10 Mon, 2004-12-20 Container data structures  
  Tue, 2004-12-21 Introduction to .NET  
Week 11 Mon, 2005-01-10 Question time, more about inheritance  
  Tue, 2005-01-11 More about inheritance  
Week 12 Mon, 2005-01-17 Event-driven programming with agents  
  Tue, 2005-01-18 An example: undo/redo  
Week 13 Mon, 2005-01-24 Topological sort I: background  
  Tue, 2005-01-25 Topological sort II: algorithm  
Week 14 Mon, 2005-01-31 From programming to software engineering  
  Tue, 2005-02-01 "Object-Oriental Bazaar" and project presentations

Slides and lecture videos from last year (winter semester 2003/2004)





Video (.rm)

Week 1 Tue, 2003-10-21 Introduction  
Week 2 Mon, 2003-10-27 Manipulation of objects (part I)  
  Tue, 2003-10-28 Logic  
Week 3 Mon, 2003-11-03 Manipulation of objects (part II)  
  Tue, 2003-11-04 Interface of a class  
Week 4 Mon, 2003-11-10 Creation of objects  
  Tue, 2003-11-11 Control structures (part 1)  
Week 5 Mon, 2003-11-17 Control structures (part 2)  
  Tue, 2003-11-18 Syntax  
Week 6 Mon, 2003-11-24 References, assignment, and the object structure  
  Tue, 2003-11-25 The dynamic model  
Week 7 Mon, 2003-12-01 More on the dynamic model  
  Tue, 2003-12-02 Container data structures    
Week 8 Mon, 2003-12-08 A simple application  
  Tue, 2003-12-09 A glimpse into the hardware    
Week 9 Mon, 2003-12-15 Recursion    
  Tue, 2003-12-16 Inheritance    
Week 10 Mon, 2004-01-05 Inheritance and genericity    
  Tue, 2004-01-06 Testing    
Week 11 Mon, 2004-01-12 More about inheritance    
  Tue, 2004-01-13 Event-driven programming and agents    
Week 12 Mon, 2004-01-19 Event-driven programming with agents    
  Tue, 2004-01-20 An example: Undo/Redo    
Week 13 Mon, 2004-01-26 Topological sort 1: Background    
  Tue, 2004-01-27 Topological sort 1: Algorithm    
Week 14 Mon, 2004-02-02 From Programming to Software Engineering    
  Tue, 2004-02-03 Sneak preview "Algorithms and data structures" (by Prof. Widmayer), selected project presentation (by students)  



Please register here for the exercises

Lab session

The lab session takes place in IFW D31 from 12 to14 o'clock. There will be always two assistant there from 13 to 14 o'clock to assist you in case you have problems.



2004-11-12 Till, Rolf  
2004-11-19 Michela, Till  
2004-11-26 Sebastien, Stephan  
2004-12-03 Stephanie, Robert  
2004-12-10 Volkan, Sebastien  
2004-12-17 Stephanie, Michela  






Monday 15:00-16:00 check the assistants section: Groups Goldberg, Lovelace, Dijkstra, Backus, Codd, Liskov and Knuth  
Tuesday 13:00-15:00 check the assistants section: Groups Goldberg, Lovelace, Dijkstra, Backus, Codd, Liskov and Knuth  


check the assistants section: Group Torvards
Tuesday 14:00-16:00 check the assistants section: Group Torvards  


check the assistants section: Groups Wirth and Nygaard




Phone number





Volkan Arslan RZ J3 01 632 44 70 Volkan Arslan Wirth Tu IFW D42 german
Stephanie Balzer RZ J22 01 632 02 80  Stephanie Balzer Goldberg Mo IFW B42
Tu ML D13
Till Bay RZ J22 01 632 76 33  Till Bay Torvalds Mo ML J34.1
Tu IFW B42
Rolf Bruderer Rolf Bruderer Lovelace Mo IFW A36
Tu LEC C18
Robert Carnecky Robert Carnecky Dijkstra Mo ML H34.3
Tu HG F3
Stephan Classen Stephan Classen Backus Mo LEC C14
Sebastian Gruber Sebastian Gruber Codd Mo ML J37.1
Tu HG F5
Michela Pedroni RZ J22 01 632 76 84 Michela Pedroni Liskov Mo ML F39
Tu HG E22
Matthias Sala Matthias Sala Knuth Mo ML H37.1
Tu ETZ K91
Sébastien Vaucouleur RZ J3 01 632 74 09 Sébastien Vaucouleur Nygaard Tu IFW A34 english

Exercise topics




Example solution

Week 1 Introduction to the Infrastructure at ETH Exercise paper  
Week 2 Taking off Exercise paper  
Week 3 Of Objects and Contracts Exercise paper  
Week 4 Object creation Exercise paper  
Week 5 Classroom exercise 1 Exercise paper  
Week 6 Loops Exercise paper  
Week 7 "equal"="equal" Exercise paper  
Week 8 More Inheritance Exercise paper  
Week 9 Genericity and Recursion Exercise paper  
Week 10 Final project Exercise paper  
Week 11 Classroom exercise 2 Exercise paper  

Last modified on 2005-02-03

E-Mail: Volkan Arslan