Introduction to Programming

Bertrand Meyer, Fall 2010
Deutsche Version dieser Seite

General

News

03.12.2010 — Assignment 10 is online. There are two versions: English and German. Note that solving this assignment is required for the testat. Because the assignment includes the final project, you are given more time than usual to solve it (until December 19).

03.11.2010Announcement: the second mock exam will take place during the exercise session next week (for the Monday groups: December 6, 15:15-17:00; for the Tuesday groups: December 7, 13:15-15:00). The place is your regular exercise rooms. Your presence at the Mock exam is required for the Testat. If you have a justifiable reason for not coming, please, contact Scott West in advance.

26.10.2010Announcement: the first mock exam will take place during the exercise session in two weeks (for the Monday groups: November 8, 15:15-17:00; for the Tuesday groups: November 9, 13:15-15:00). The place is your regular exercise rooms. Your presence at the Mock exam is required for the Testat. If you have a justifiable reason for not coming, please, contact Scott West in advance.

05.10.2010 — The video of this year's lectures is available online.

29.09.2010 — Some additional materials are now available for download.

28.09.2010 — The required version of EiffelStudio is now installed in the computer rooms CAB H56 and H57.

Course description

252-0021-00 Introduction to Programming

Content:

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

If you think you are having issues with the Traffic software, first check if it is a known bug and if there are already workarounds published. Then share your thoughts with an assistant, and possibly submit a bug report. You can also 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.

Downloads

The precise description of which software is needed and how to install it can be found on the first exercise sheet. 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

Lecture

Schedule

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

Slides and video recordings

Watch video recordings of the lectures (slides + voice).

You can also watch last year's video recordings (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. 21.09 1.2 Introduction Final version pdf pptx Chapter 1, 2
Mon. 27.09 2.1 Dealing with objects I Final version pdf pptx Chapter 2
Tue. 28.09 2.2 Dealing with objects II Final version pdf pptx Chapter 3
Mon. 04.10 3.1 Interface of a class Final version pdf pptx Chapter 4
Tue. 05.10 3.2 Interface of a class Final version pdf pptx Chapter 4
Mon. 11.10 4.1 Invariants and logic Final version pdf pptx Chapter 5
Tue. 12.10 4.2 Object creation Final version pdf pptx Chapter 6
Mon. 18.10 5.1 Assignment, references, and object structure Final version pdf pptx Chapter 9
Tue. 19.10 5.2 Control structures I Final version pdf pptx Chapter 7
Mon. 25.10 6.1 Control structures II Final version pdf pptx Chapter 7
Tue. 26.10 6.2 Control structures III Final version pdf pptx Chapter 7
Mon. 01.11 7.1 Abstraction. Dynamic model Final version pdf pptx pdf pptx Chapter 8
Tue. 02.11 7.2 Inheritance and genericity Final version pdf pptx Chapter 16
Mon. 08.11 8.1 Inheritance and genericity Final version pdf pptx Chapter 16
Tue. 09.11 8.2 Inheritance and genericity Final version pdf pptx Chapter 16
Mon. 15.11 9.1 Recursion Final version pdf pptx Chapter 14
Tue. 16.11. 9.2 Data structures Final version pdf pptx Chapter 13
Mon. 22.11 10.1 Multiple Inheritance Final version pdf pptx Chapter 16
Tue. 23.11 10.2 Describing syntax Final version pdf pptx Chapter 11
Mon. 29.11 11.1 Event-driven programming and agents I Final version pdf pptx Chapter 17, 18
Tue. 30.11 11.2 Event-driven programming and agents II Final version pdf pptx Chapter 17, 18
Mon. 06.12 12.1 Topological Sort I Final version pdf pptx Chapter 15
Tue. 07.12 12.2 Topological Sort II Final version pdf pptx Chapter 15
Mon. 13.12 13.1 An example: Undo/Redo Final version pdf pptx Chapter 17
Tue. 14.12 13.2 From programming to software engineering Final version pdf pptx Chapter 19
Mon. 20.12 14.1 From programming to software engineering II Final version pdf pptx Chapter 19

Temporary version = Temporary version Final version = Final version

Exercises

Exercise Groups

The distribution of students in the exercise groups is based on an initial self assessment questionnaire. Students are then assigned to an exercise group according to their declared level of experience. Levels are: Beginner, Intermediate, Experienced. If you haven't fill in the self-assessment questionnaire and you would like to be assigned to an exercise group, please contact Scott West, specifying your experience level and your preferred language (German or English).

Assistant Group (Mailing List) Time and Place Language Experience Level
Christian Estler Nygaard Tue, 13:15-15:00, HG D1.2 English Beginner
Alexandre Lagadec Goldberg Tue, 13:15-15:00, CAB G52 German Intermediate
Daniela Meier Knuth Tue, 13:15-15:00, ML F38 German Beginner
Max (Yu) Pei Dijkstra Mon, 15:15-17:00, IFW B42 English Intermediate
Marco Piccioni Wirth Tue, 13:15-15:00, IFW A34 English Advanced
Daniel Schweizer Turing Tue, 13:15-15:00, LFW C5 German Intermediate
Marco Trudel Lovelace Mon, 15:15-17:00, IFW A34 German Advanced
Sandra Weber Liskov Mon, 15:15-17:00, CHN D48 German Beginner
Scott West Torvalds Tue, 13:15-15:00, IFW B42 English Beginner
Valentin Wüstholz Hoare Tue, 13:15-15:00, IFW A32.1 German Intermediate

Assignments and mock exams

The weekly assignments are published every Friday before 17:00. You have to submit your solution within the next eleven days (by the end of Tuesday). The suggested way to submit the solutions is by email. They will be checked but not graded. Master solutions will be published online after the due date (on Wednesday). 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.

To get the testat and be allowed to take the final exam, students must do both the mock exams and hand in all but one assignment.

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 Sheet Solution
Week 5 References and assignments Sheet Solution
Week 6 Loops and conditionals Sheet Solution
Week 7 Mock exam 1 Exam Solution
Week 8 More peachy loops Sheet Solution
Week 9 Inheritance and polymorphism Sheet Solution
Week 10 Recursion Sheet Solution
Week 11 Mock exam 2 Exam Solution
Week 12 Agents and board games English German Solution

Exercise session slides

Date Material (PDF) Material (PowerPoint)
27/28.09.2010 pdf pptx
04/05.10.2010 pdf pptx
11/12.10.2010 pdf pptx
18/19.10.2010 pdf pptx
25/26.10.2010 pdf pptx
01/02.11.2010 pdf pptx
15/16.11.2010 pdf pptx
22/23.11.2010 pdf pptx
29/30.11.2010 pdf pptx

Back-office assistant: Nadia Polikarpova