[an error occurred while processing this directive]
 

Introduction to Programming

Deutsche Version dieser Seite
Bertrand Meyer, winter semester 2003/2004

The course is over. Enjoy your well-deserved break and good luck for future semesters!

Links to the pages for the new (2004-2005) course session: English; German

General info: News | Course description | Requirements for Testat | Course book | Help Forum | Office hours | Downloads | Further reading
Lectures: Schedule | Slides and lecture videos 
Exercises: Schedule | Assistants | Exercise topics


General info

News

Check the German version of this page.

 Course description

Title and ID

Introduction to Programming
ID (Vorlesungsnummer): 37-001

Content

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.

Information sheet (updated 2003-10-24)

 Requirements for Testat

  • 6 weekly exercises
  • 1 classroom exercise
  • 1 project exercise

In order to have an exercise accepted, you must show an effort to solve the tasks. Additionally, a questionnaire about the difficulty level needs to be filled out.

 Course book

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

Click here to download the book.

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. Bernd: thank you for setting up the forum!

Click here to access the Help Forum.

Office hours

Friday, 14:00 -16:00, RZ J22

Downloads

EiffelStudio 5.4 Free Edition is available for both Windows and Linux. Click 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

 

Lectures

Schedule

Day

Time

Room

 
Monday 13:00-15:00 HG E7  
Tuesday 10:00-12:00 HG E7  

Slides and lecture videos

Week

Date

Topic

Slides

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)  

Exercises

 Schedule

Day

Time

Room

 

Monday 15:00-16:00 see corresponding assistant  
Tuesday 13:00-15:00 see corresponding assistant  
or
Monday

15:00-16:00

1 group, see corresponding assistant
 
Wednesday 14:00-16:00 1 group, see corresponding assistant  
or
Tuesday

15:00-18:00

2 groups, see corresponding assistant
 

Assistants

Assistants

Office

Phone number

E-Mail

Group

Room

Language

Volkan Arslan RZ J3 01 632 44 70 Volkan Arslan lions Mo ML J37.1
Di ETZ E9
German
Till Bay RZ J22 01 632 76 33  Till Bay dragonflies Mo ML H37.1
Di ML D13
German
Susanne Cech RZ J5 01 632 79 36 Susanne Cech turtles Mo LEC C14
Di HG F3
German
Jörg Derungs CLW B3 01 632 74 06 Jörg Derungs ants Mo ETZ H91
Di ML H44
German
Piotr Nienaltowski RZ J3 01 632 44 68 Piotr Nienaltowski frogs Mo IFW A32.1
Di ETZ K91
English
Michela Pedroni RZ J22 01 632 76 84 Michela Pedroni lizards Mo ML H34.3
Di HG F5
German
Gabor Szabo CLW B2 01 632 73 97 Gabor Szabo dogs Di IFW D42 English
Benno Baumgartner     Benno Baumgartner bees Mo ETZ K91
Di HG D7.2
German
Peter Farkas     Peter Farkas mice Di IFW A34 German
Michael Gomez     Michael Gomez cows Mo ML F39
Di ML J34.3
German
Matthias Sala     Matthias Sala cats Mo IFW A36
Mi HG E22
German
Tobias Widmer     Tobias Widmer ducks Mo ML J34.1
Di LEC C18
German
Karine Arnout RZ J5 01 632 47 23 Karine Arnout     French

Exercise topics

Week

Exercise

Links

Example solution

Week 1 How to use computers at the ETH (E-mail, Internet, printers) Exercise sheet  
Week 2 It's logic! Exercise sheet
Questionnaire
Downloads
Week 3 A first program and Contracts Exercise sheet
Questionnaire
Downloads
Week 4 Classroom exercise 1 Exercise sheet
Week 5 Control structures Exercise sheet
Questionnaire
Week 6 Syntax Exercise sheet
Questionnaire
Week 7 References and assignment Exercise sheet
Questionnaire
Downloads
Week 8 Data structures and programming Exercise sheet
Questionnaire
Downloads
Week 9 --- no exercises for Christmas ---    
Week 10 Classroom exercise II Übungsblatt
Projekt Modelling and implementation of a larger application Exercise sheet
Downloads
 

Last modified on 2004-02-02

E-Mail: Piotr Nienaltowski