Einführung in die Programmierung

English version of this page

Bertrand Meyer, Herbstsemester 2009

Allgemeines: News | Lesematerial | Kursbeschreibung | Unterlagen | Helfen und Hilfe bekommen | Downloads | Weiterführende Literatur
Vorlesung: Stundenplan | Folien und Video-Aufnahmen
Übungen: Übungsgruppen | Übungsblätter | Slides der Übungsstunden


Allgemeines

News

9.8.2010   The exam will take place in HIL G15 from 14:00 to 16:00.
21.12.20098   Die Musterlösung 10 ist nun online.
14.12.2009   Das zweite Mock Exam und die Musterlösung sind online.
4.12.2009   Die Musterlösung 9 ist online.
1.12.2009   Weitere Informationen zum Projekt: Ihr könnt alleine oder in Teams von zwei Personen arbeiten. Für diejenigen, welche mehr als das Minimum abgeben wollen, wird der Abgabetermin vom 18. Dezember verlängert. Im Januar werden wir euch kontaktieren, ob ihr eure Arbeit zum Beginn des nächsten Semesters vorstellen wollt.
27.11.2009   Übung 10 ist online.
26.11.2009   Die Musterlösung 8 ist online.
24.11.2009   Ankündigung: Die zweite Präsenzübung findet am 7. und 8. Dezember gemäss dem normalen Übungsplan statt.
23.11.2009   Am 1. Dezember findet die Vorlesungsevaluierung statt.
22.11.2009   Übung 9 ist online.
15.11.2009   Die Musterlösung 7 ist online.
15.11.2009   Das erste Mock Exam ist online.
12.11.2009   Übung 8 ist online.
5.11.2009   Musterlösung 6 ist online.
30.10.2009   Übung 7 ist online.
28.10.2009   Ankündigung: Die erste Probeklausur findet während der Übungsstunde in zwei Wochen statt: für die Montagsgruppen am 9. November, 15:00-17:00 und für die Dienstagsgruppen am 10. November, 13:00-15:00. Die Probeklausur findet in den normalen Übungsräumen statt, ausser für die Gruppen Hoare und Wirth, welche in den Raum HG E21 wechseln. Die Anwesenheit an der Probeklausur ist für das Testat erforderlich! Wer berechtigte Gründe hat, um nicht an der Probeklausur teilzunehmen, soll Nadia Polikarpova im Voraus kontaktieren.
28.10.2009   Musterlösung 5 ist online.
24.10.2009   Übung 6 ist online.
21.10.2009   Musterlösung 4 ist online.
17.10.2009   Übung 5 ist online.
15.10.2009   Musterlösung 3 ist online.
10.10.2009   Übung 4 und die Musterlösung von Übung 2 sind online.
5.10.2009   Wer noch immer keine Übungsgruppe hat, soll bitte Nadia Polikarpova kontaktieren und das Erfahrungslevel (A: Anfänger, B: Fortgeschritten, C: Erfahren), die bevorzugte Sprache (Deutsch oder Englisch) und den Tag (Montag oder Dienstag) angeben. Die Gruppen mit verfügbaren Plätzen sind Nygaard, Hoare, Wirth, Dijkstra, Liskov und Knuth.
2.10.2009   Das dritte Übungsblatt ist online.
1.10.2009   Alle Computerräume sind OK: CAB E38, IFW D31, IFW C31, CAB E31 und CAB E37.
28.9.2009   Zweites Übungsblatt ist online.
24.9.2009   Falls Du den Fragebogen zur Selbsteinschätzung nicht ausgefüllt hast, und in eine Übungsgruppe eingeteilt werden willst, dann kontaktiere Nadia Polikarpova. Gib die bevorzugte Stufe (A: Anfänger, B: Fortgeschritten, C: Erfahren), Sprache (Deutsch oder Englisch) und den Tag (Montag oder Dienstag) an.
23.9.2009   Ab nächstem Dienstag, 29.09.09, wir die Übungsstunde der Gruppe Goldberg im Raum HG E22 stattfinden (vorher ETZ K91).
22.9.2009   Bitte benutzt nicht die Computerräme CAB E38 und IFW D31. In diesen Räumen müssen wir erst noch ein Problem mit der Installation beheben. Ihr könnt die Computer in den Räumen IFW C31, CAB E31 und CAB E37 benutzen.
22.9.2009   Erstes Übungsblatt ist online.
17.8.2009   Erste Version dieser Homepage.

Lesematerial

  • Touch of Class, Kapitel 19
  • Touch of Class, Kapitel 17 und 18
  • Touch of Class, Kapitel 11 und 18
  • Touch of Class, Kapitel 15
  • Touch of Class, Kapitel 13
  • Touch of Class, Kapitel 14
  • Touch of Class, Kapitel 16
  • Touch of Class, Kapitel 8
  • Touch of Class, Kapitel 7 und 9
  • Touch of Class, Kapitel 5 und 6
  • Touch of Class, Kapitel 3 und 4
  • Touch of Class, Kapitel 1 und 2
  • Allgemeines Informationsblatt

Kursbeschreibung

Titel und Vorlesungsnummer

Einführung in die Programmierung
Vorlesungsnummer: 252-0021-00

Inhalt der Vorlesung

Grundlagen der objekt-orientierten Programmierung. Objekte und Klassen. Konzept der Schnittstellen von Klassen. Vor- und Nachbedingungen, Invarianten, Design by Contract. Elementare Kontrollstrukturen. Zuweisungen und Referenzierung. Grundbegriffe aus der Hardware. Elementare Datenstrukturen und Algorithmen. Rekursion. Vererbung und "deferred classes". Einführung in Event-driven Design und Concurrent Programming. Grundkonzepte aus Software Engineering wie dem Softwareprozess, Spezifikation und Dokumentation, Reuse und Quality Assurance.

Unterlagen

Bertrand Meyer: Touch of Class, Learning to Program Well with Objects and Contracts, Springer 2009, ISBN: 978-3-540-92144-8. Elektronische Version (Nur innerhalb des ETH Netzwerks verfügbar)

Helfen und Hilfe bekommen

Bei Problemen mit der Traffic-Software überprüfe zuerst, ob es sich um einen bekannten Fehler handelt, und ob es bereits eine Lösung dazu gibt. Falls nicht, besprich das mit einem Assistenten und melde es dann als Fehlerbericht. Auf dem Hilfe-Forum können inhaltliche Fragen, die sich auf die Vorlesung oder Übungen beziehen, gestellt werden. Die Assistenten werden bemüht sein, diese so schnell wie möglich zu beantworten.

Downloads

Die genauen Angaben, welche Software benötigt wird und wie man diese installiert, befinden sich in einer zukünftigen Übung.

Weiterführende Literatur

  • 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
  • David Parnas hat das Konzept "Information Hiding" erstmals dokumentiert.

Vorlesung

Stundenplan

Tag

Zeit

Ort

 
Montag 13:00-15:00 HG E3  
Dienstag 8:00-10:00 HG F1  

 Folien und Video-Aufnahmen

Übungen

Übungsgruppen

Die Einteilung der Studenten in die Übungsgruppen basiert auf einer Selbsteinschätzung. Die Studenten werden dann anhand ihrer Erfahrung eingeteilt. Die Levels sind: A (Anfänger), B (Fortgeschritten), C (Erfahren). Falls Du den Fragebogen zur Selbsteinschätzung nicht ausgefüllt hast, und in eine Übungsgruppe eingeteilt werden willst, dann kontaktiere Nadia Polikarpova. Gib die bevorzugte Stufe (A: Anfänger, B: Fortgeschritten, C: Erfahren), Sprache (Deutsch oder Englisch) und den Tag (Montag oder Dienstag) an. Die Gruppen mit verfügbaren Plätzen sind Nygaard, Hoare, Wirth, Dijkstra, Liskov und Knuth.

Assistent/-in

Raum

Telefon

E-Mail

Gruppe

Übungszeit und -raum

Sprache

Erfahrung level

Michela Pedroni RZ J8 044 632 76 84 Michela Pedroni Nygaard Tue, 13:15-15:00, IFW A34 German A
Scott West RZ J8 044 632 74 09 Scott West Torvalds Tue, 13:15-15:00, LFW C5 English A
Marco Trudel RZ J9
044 632 85 92
Marco Trudel Lovelace Mon, 15:15-17:00, LFV E41 German
B
Nadia Polikarpova RZ J8
044 632 65 74
Nadia Polikarpova Hoare Tue, 13:15-15:00, IFW B42 English
C
Julian Tschannen RZ J3 044 632 44 49 Julian Tschannen Wirth Tue, 13:15-15:00, CAB H53 German C
Benjamin Morandi RZ J9 044 632 78 28 Benjamin Morandi Dijkstra Mon, 15:15-17:00, ML H41.1 German A
Nikolay Kazmin     Nikolay Kazmin Liskov Tue, 13:15-15:00,ETZ E9 English B
Florian Köhl     Florian Köhl  Knuth Tue, 13:15-15:00, CAB H52 German A
Alexandre Lagadec     Alexandre Lagadec Goldberg Tue, 13:15-15:00, HG E22 German B
Jeremie Miserez     Jeremie Miserez Turing Tue, 13:15-15:00, ETZ F91 German B

Übungsblätter

Die wöchentlichen Übungen werden von den Assistenten überprüft, aber nicht bewertet. Der vorgeschlagene Ablauf für die Abgabe der Übungen ist, die Übungen elektronisch abzugeben (normalerweise per Email). Die Musterlösung der Übungen wird nach dem Abgabedatum hier publiziert. Studenten wird empfohlen, die Musterlösung anzuschauen und bei Unklarheiten nachzufragen. Häufige Fehler werden während der Übungsstunde besprochen. Während dem Semester werden in den Übungsstunden zwei Probeklausuren durchgeführt. Um das Testat zu erhalten und an die Abschlussprüfung zugelassen zu werden, müssen Studenten die beiden Probeklausuren (Note ist nicht relevant) und alle bis auf eine Übung abgegeben haben. Die Probeklausuren werden überprüft und benotet an die Studenten zurückgegeben.

Woche

Übung

Links

Musterlösung

Woche 1 Getting started Sheet
Woche 2 Give me your feature name and I'll call you Sheet Solution
Woche 3 Of Objects and Features Sheet Solution
Woche 4 Object creation Sheet Solution
Woche 5 References and assignments Sheet Solution
Woche 6 Loops and conditionals Sheet Solution Boardgame code
Woche 7 More peachy loops Sheet Solution
Woche 8 Mock exam 1 Sheet Solution
Woche 9 Polymorphic Behaviors Sheet Solution Boardgame code (II)
Woche 10 Recursion Sheet Solution Maze code
Woche 11 Agents and boardgames Sheet Solution Boardgame code (III)
Woche 12 Mock exam 2 Sheet Solution

Slides der Übungsstunden

Die in den Übungen verwendeten Folien sind hier verfügbar (Hinweis: in den pdf-Dateien sind die verwendeten Animationen nicht enthalten, deshalb könnten einzelne Slides schwierig zu verstehen sein):
Datum Material (.pdf) Material (.ppt)
22.09.2009 pdf pptx
29.09.2009 pdf pptx
6.10.2009 pdf pptx source
13.10.2009 pdf pptx
20.10.2009 pdf pptx
27.10.2009 pdf pptx
3.11.2009 pdf pptx
10.11.2009 mock exam
17.11.2009 mock exam sol.
24.11.2009 pdf pptx magic squares
1.12.2009 pdf pptx
8.12.2009 mock exam 2
15.12.2009 mock exam 2 sol.
Fortgeschrittenes Material
Void safety pdf pptx demo
Once routines pdf pptx demo
Programming paradigms pdf pptx
CAT calls pdf pptx
Testing pdf pptx

Back-office assistant e-mail: Marco Piccioni