Einführung in die Programmierung

Bertrand Meyer, Herbst 2011
English version of this site

Allgemeines

News

01.12.2011 — Übung 10 ist online. Die Lösung dieser Übung ist für das Testat erforderlich. Weil die Übung das Abschlussprojekt enthält, bekommen Sie mehr Zeit als bisher um sie zu lösen (bis zum 18. Dezember).

28.11.2011Ankündigung: Die zweite Probeklausur findet nächste Woche während der Übungsstunde (in den normalen Übungsräumen) statt: für die Montagsgruppen am 5. Dezember, 15:15-17:00, und für die Dienstagsgruppen am 6. Dezember, 13:15-15:00. Die Anwesenheit an der Probeklausur ist für das Testat erforderlich! Falls Sie berechtigte Gründe haben, nicht an der Probeklausur teilzunehmen, kontaktieren Sie bitte Ihren Assistenten bzw. Ihre Assistentin im Voraus.
Es gibt kein Übungsblatt mit Falligkeit am 6. Dezember; bitte benutzen Sie diese Woche, um sich für die Probeklausur vorzubereiten.

31.10.2011Ankündigung: Die erste Probeklausur findet nächste Woche während der Übungsstunde (in den normalen Übungsräumen) statt: für die Montagsgruppen am 7. November, 15:15-17:00, und für die Dienstagsgruppen am 8. November, 13:15-15:00. Die Anwesenheit an der Probeklausur ist für das Testat erforderlich! Falls Sie berechtigte Gründe haben, nicht an der Probeklausur teilzunehmen, kontaktieren Sie bitte Ihren Assistenten bzw. Ihre Assistentin im Voraus.
Es gibt kein Übungsblatt mit Falligkeit am 8. November; bitte benutzen Sie diese Woche, um sich für die Probeklausur vorzubereiten.

05.10.2011 — EiffelStudio ist ab sofort in den öffentlichen Computerräumen CAB H56 und H57 verfügbar.

28.09.2011 — Der Abgabestatus der Übungen kann ab sofort online eingesehen werden.

28.09.2011 — Die zwei Probeklausuren werden in den Übungsstunden 07/08.11 und 05/06.12 stattfinden.

25.09.2011 — Die Übungsgruppen wurden zusammengestellt.

22.09.2011 — Wir haben die Frist für den Selbsteinschätzungsfragebogen auf morgen (23. September) 09:00 verlängert. Vergessen Sie bitte nicht den Namen anzugeben, sonst können wir Sie nicht einer Übungsgruppe zuteilen.

22.09.2011 — Übungsblatt 1: Die EiffelStudio Installationsanleitung fur Linux wurde korrigiert.

15.09.2011 — Die erste Lektion findet am Dienstag, den 20. September, statt. Das erste Übungsblatt wird ebenfalls am Dienstag publiziert. Es gibt keine Übungstunden in der ersten Woche.

Kursbeschreibung

252-0021-00 Einführung in die Programmierung

Inhalt der Vorlesung

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

Um mit der Traffic Software zu starten, könnte es helfen die Dokumentation zu lesen. Wenn Sie einen Fehler in Traffic entdecken, besprechen Sie das mit einem Assistenten und melden es dann als Fehlerbericht (braucht ein Origo Account).

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 auf dem ersten Übungsblatt. Es ist auch möglich öffentliche Computerräume (CAB H56 und H57) zu benutzen, in welchen die nötige Software bereits installiert ist.

Zusätzliche Materialien:

Weiterführende Literatur

Vorlesung

Stundenplan

Tag Zeit Ort
Montag 13:00-15:00 HG F1
Dienstag 8:00-10:00 HG F1

Vorlesungsfolien und Video-Aufnahmen

Video-Aufnahmen der Vorlesungen (Folien + Stimme) anschauen.

Video-Aufnahmen aus dem Jahr 2009 auf Englisch anschauen.

Hinweis: in den PDF-Dateien sind die verwendeten Animationen nicht enthalten, deshalb könnten einzelne Slides schwierig zu verstehen sein.

Datum Vorlesung Titel Folien Lesematerial
Di. 20.09 1.2 Einführung Endgültige Version pdf pptx Kapitel 1, 2
Mo. 26.09 2.1 Handhabung von Objekten I Endgültige Version pdf pptx Kapitel 2
Di. 27.09 2.2 Handhabung von Objekten II Endgültige Version pdf pptx Kapitel 3
Mo. 03.10 3.1 Die Schnittstelle einer Klasse Endgültige Version pdf pptx Kapitel 4
Di. 04.10 3.2 Invarianten und Logik Endgültige Version pdf pptx Kapitel 5
Mo. 10.10 4.1 Objekterzeugung Endgültige Version pdf pptx Kapitel 6
Di. 11.10 4.2 Zuweisung, Referenzen, und die Objektstruktur Endgültige Version pdf pptx Kapitel 9
Mo. 17.10 5.1 Steuerstrukturen I Endgültige Version pdf pptx Kapitel 7
Di. 18.10 5.2 Steuerstrukturen II Endgültige Version pdf pptx Kapitel 7
Mo. 24.10 6.1 Abstraktion Endgültige Version pdf pptx Kapitel 8
Di. 25.10 6.2 Vererbung und generische Klassen I Endgültige Version pdf pptx Kapitel 16
Mo. 31.10 7.1 Vererbung und generische Klassen II Endgültige Version pdf pptx Kapitel 16
Di. 01.11 7.2 Das dynamische Modell Endgültige Version pdf pptx Kapitel 8
Mo. 07.11 8.1 Rekursion I Endgültige Version pdf pptx Kapitel 14
Di. 08.11 8.2 Rekursion II Endgültige Version pdf pptx Kapitel 14
Mo. 14.11 9.1 Daten Strukturen I Endgültige Version pdf pptx Kapitel 13
Di. 15.11. 9.2 Daten Strukturen II Endgültige Version pdf pptx Kapitel 13
Mo. 21.11 10.1 Mehrfachvererbung Endgültige Version pdf pptx Kapitel 16
Di. 22.11 10.2 Beschreibung von Syntax Endgültige Version pdf pptx Kapitel 11
Mo. 28.11 11.1 Topologisches Sortieren I Endgültige Version pdf pptx Kapitel 15
Di. 29.11 11.2 Topologisches Sortieren II Endgültige Version pdf pptx Kapitel 15
Mo. 05.12 12.1 Ereignisbasierte Programmierung und Agenten I Endgültige Version pdf pptx Kapitel 17, 18
Di. 06.12 12.2 Ereignisbasierte Programmierung und Agenten II Endgültige Version pdf pptx Kapitel 17, 18
Mo. 12.12 13.1 Ein Beispiel: Undo/Redo Endgültige Version pdf pptx Kapitel 17
Di. 13.12 13.2 Vom Programmieren zum Software Engineering I Endgültige Version pdf pptx Kapitel 19
Mo. 19.12 14.1 Vom Programmieren zum Software Engineering II Endgültige Version pdf pptx Kapitel 19
Di. 20.12 14.2 Einige Forschungsthemen unseres Lehrstuhls (Software Engineering)

Temporäre Version = Temporäre Version Endgültige Version = Endgültige Version

Übungen

Übungsgruppen

Hier finden Sie die Einteilung in die Übungsgruppen sowie die allgemeinen Informationen über die Gruppen.

Die Einteilung der Studenten in die Übungsgruppen basiert auf einer Selbsteinschätzung. Die Studenten werden dann anhand ihrer Erfahrung eingeteilt.

Übungsblätter

Die wöchentlichen Übungen werden jeden Freitag vor 17:00 publiziert. Sie müssen Ihre Lösung innerhalb den nächsten elf Tage (bis Dienstag abend) abgeben. Der vorgeschlagene Ablauf für die Abgabe ist, die Übungen per Email zu schicken. Sie werden überprüft, aber nicht bewertet; der Abgabestatus kann online eingesehen werden. Die Musterlösung der Übungen wird nach dem Abgabedatum (mittwochs) hier publiziert. Studenten wird empfohlen, die Musterlösung anzuschauen und bei Unklarheiten nachzufragen.

Während des Semesters werden in den Übungsstunden zwei Probeklausuren durchgeführt. Die Probeklausuren werden überprüft und benotet an die Studenten zurückgegeben.

Um das Testat zu erhalten und an die Abschlussprüfung zugelassen zu werden, müssen Studenten die beiden Probeklausuren und alle bis auf eine Übung abgegeben haben.

Woche Übung Links
Woche 1 Getting started Übungsblatt
Woche 2 Give me your feature name and I'll call you Übungsblatt Lösung
Woche 3 Of objects and features Übungsblatt Lösung
Woche 4 Object creation and logic Übungsblatt Lösung
Woche 5 Assignments and control structures Übungsblatt Lösung
Woche 6 Loopy games Übungsblatt Lösung
Woche 7 Probeklausur 1 Probeklausur Lösung
Woche 8 Inheritance and Polymorphism Übungsblatt Lösung
Woche 9 Recursion Übungsblatt Lösung
Woche 10 Data structures Übungsblatt Lösung
Woche 11 Probeklausur 2 Probeklausur Lösung
Woche 12 Agents and board games Übungsblatt Lösung

Folien der Übungsstunden

Datum Material (PDF) Material (PowerPoint)
26/27.09.2011 pdf pptx
03/04.10.2011 pdf pptx
10/11.10.2011 pdf pptx
17/18.10.2011 pdf pptx
24/25.10.2011 pdf pptx
31.10/01.11.2011 pdf pptx
14/15.11.2011 pdf pptx
21/22.11.2011 pdf pptx
28/29.11.2011 pdf pptx
12/13.12.2011 pdf pptx
Zusätzliche Themen Material (PDF) Material (PowerPoint) Material (Anderes)
Syntax comparison Eiffel/Java pdf pptx
Invariants / Marriage example pdf pptx code
Once routines pdf pptx code
Programming paradigms pdf pptx
Verification pdf pptx code
CAT calls pdf pptx
Void safety pdf pptx code