Allgemeines
News
03.12.2010 — Übung 10 ist online. Es gibt zwei Versionen: Englisch und Deutsch. 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 19. Dezember).
03.12.2010 — Ankündigung: Die zweite Probeklausur findet während der Übungsstunde nächste Woche statt: für die Montagsgruppen am 6. Dezember, 15:15-17:00 und für die Dienstagsgruppen am 7. Dezember, 13:15-15:00. Die Probeklausur findet in den normalen Übungsräumen statt. Die Anwesenheit an der Probeklausur ist für das Testat erforderlich! Wer berechtigte Gründe hat, um nicht an der Probeklausur teilzunehmen, soll Scott West im Voraus kontaktieren.
26.10.2010 — Ankündigung: Die erste Probeklausur findet während der Übungsstunde in zwei Wochen statt: für die Montagsgruppen am 8. November, 15:15-17:00 und für die Dienstagsgruppen am 9. November, 13:15-15:00. Die Probeklausur findet in den normalen Übungsräumen statt. Die Anwesenheit an der Probeklausur ist für das Testat erforderlich! Wer berechtigte Gründe hat, um nicht an der Probeklausur teilzunehmen, soll Scott West im Voraus kontaktieren.
05.10.2010 — Die Video-Aufnahmen der diesjährigen Vorlesung sind ab sofort online verfügbar.
29.09.2010 — Einige zusätzliche Materialien sind ab sofort zum Herunterladen verfügbar.
28.09.2010 — Die benötigte Version von EiffelStudio ist ab sofort in den Computerräumen CAB H56 und H57 verfügbar.
Kursbeschreibung
252-0021-00 Einführung in die Programmierung
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.
Zusätzliche Materialien:
- Troubleshooting (bekannte Probleme mit der EiffelStudio Installation)
- Informationsblatt für Studierende
- Übersetzungsliste (Vorlesungsterminologie auf Deutsch und Englisch)
- Do it with style (Übersicht über die Stilregeln von Eiffel)
- Einführung in Eiffel
- Syntaxbeschreibung von Eiffel in BNF-E (Auszug aus "Eiffel: the language")
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 |
Vorlesungsfolien und Video-Aufnahmen
Video-Aufnahmen der Vorlesungen (Folien + Stimme) anschauen.
Video-Aufnahmen der vorjährigen Vorlesungen anschauen (auf Englisch).
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. 21.09 | 1.2 | Einführung | pdf pptx | Kapitel 1, 2 |
Mo. 27.09 | 2.1 | Handhabung von Objekten I | pdf pptx | Kapitel 2 |
Di. 28.09 | 2.2 | Handhabung von Objekten II | pdf pptx | Kapitel 3 |
Mo. 04.10 | 3.1 | Die Schnittstelle einer Klasse | pdf pptx | Kapitel 4 |
Di. 05.10 | 3.2 | Die Schnittstelle einer Klasse | pdf pptx | Kapitel 4 |
Mo. 11.10 | 4.1 | Invarianten und Logik | pdf pptx | Kapitel 5 |
Di. 12.10 | 4.2 | Objekterzeugung | pdf pptx | Kapitel 6 |
Mo. 18.10 | 5.1 | Zuweisung, Referenzen, und die Objektstruktur | pdf pptx | Kapitel 9 |
Di. 19.10 | 5.2 | Steuerstrukturen I | pdf pptx | Kapitel 7 |
Mo. 25.10 | 6.1 | Steuerstrukturen II | pdf pptx | Kapitel 7 |
Di. 26.10 | 6.2 | Steuerstrukturen III | pdf pptx | Kapitel 7 |
Mo. 01.11 | 7.1 | Abstraktion. Das dynamische Modell | pdf pptx pdf pptx | Kapitel 8 |
Di. 02.11 | 7.2 | Vererbung und generische Klassen I | pdf pptx | Kapitel 16 |
Mo. 08.11 | 8.1 | Vererbung und generische Klassen II | pdf pptx | Kapitel 16 |
Di. 09.11 | 8.2 | Vererbung und generische Klassen III | pdf pptx | Kapitel 16 |
Mo. 15.11 | 9.1 | Rekursion | pdf pptx | Kapitel 14 |
Di. 16.11. | 9.2 | Daten Strukturen | pdf pptx | Kapitel 13 |
Mo. 22.11 | 10.1 | Mehrfachvererbung | pdf pptx | Kapitel 16 |
Di. 23.11 | 10.2 | Beschreibung von Syntax | pdf pptx | Kapitel 15 |
Mo. 29.11 | 11.1 | Ereignisbasierte Programmierung und Agenten I | pdf pptx | Kapitel 11 |
Di. 30.11 | 11.2 | Ereignisbasierte Programmierung und Agenten II | pdf pptx | Kapitel 17, 18 |
Mo. 06.12 | 12.1 | Topologisches Sortieren I | pdf pptx | Kapitel 15 |
Di. 07.12 | 12.2 | Topologisches Sortieren II | pdf pptx | Kapitel 17, 18 |
Mo. 13.12 | 13.1 | Ein Beispiel: Undo/Redo | pdf pptx | Kapitel 17 |
Di. 14.12 | 13.2 | Vom Programmieren zum Software Engineering I | pdf pptx | Kapitel 19 |
Mo. 20.12 | 14.1 | Vom Programmieren zum Software Engineering II | pdf pptx | Kapitel 19 |
= Temporäre Version = Endgültige Version
Ü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: Anfänger, Fortgeschritten, Erfahren. Falls Du den Fragebogen zur Selbsteinschätzung nicht ausgefüllt hast, und in eine Übungsgruppe eingeteilt werden willst, dann kontaktiere Scott West. Gib die bevorzugte Stufe (Anfänger, Fortgeschritten, Erfahren) und Sprache (Deutsch oder Englisch) an.
Assistent/-in | Gruppe (Mailingliste) | Übungszeit und -raum | Sprache | Stufe |
---|---|---|---|---|
Christian Estler | Nygaard | Di. 13:15-15:00, HG D1.2 | Englisch | Anfänger |
Alexandre Lagadec | Goldberg | Di. 13:15-15:00, CAB G52 | Deutsch | Mittlere |
Daniela Meier | Knuth | Di. 13:15-15:00, ML F38 | Deutsch | Anfänger |
Max (Yu) Pei | Dijkstra | Mo. 15:15-17:00, IFW B42 | Englisch | Mittlere |
Marco Piccioni | Wirth | Di. 13:15-15:00, IFW A34 | Englisch | Fortgeschrittene |
Daniel Schweizer | Turing | Di. 13:15-15:00, LFW C5 | Deutsch | Mittlere |
Marco Trudel | Lovelace | Mo. 15:15-17:00, IFW A34 | Deutsch | Fortgeschrittene |
Sandra Weber | Liskov | Mo. 15:15-17:00, CHN D48 | Deutsch | Anfänger |
Scott West | Torvalds | Di. 13:15-15:00, IFW B42 | Englisch | Anfänger |
Valentin Wüstholz | Hoare | Di. 13:15-15:00, IFW A32.1 | Deutsch | Mittlere |
Ü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. 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 Musterlösung |
Woche 3 | Of objects and features | Übungsblatt Musterlösung |
Woche 4 | Object creation | Übungsblatt Musterlösung |
Woche 5 | References and assignments | Übungsblatt Musterlösung |
Woche 6 | Loops and conditionals | Übungsblatt Musterlösung |
Woche 7 | Probeklausur 1 | Probeklausur Musterlösung |
Woche 8 | More peachy loops | Übungsblatt Musterlösung |
Woche 9 | Inheritance and polymorphism | Übungsblatt Musterlösung |
Woche 10 | Recursion | Übungsblatt Musterlösung |
Woche 11 | Probeklausur 2 | Probeklausur Musterlösung |
Woche 12 | Agents and board games | Englisch Deutsch Musterlösung |
Folien der Übungsstunden
Datum | Material (PDF) | Material (PowerPoint) |
---|---|---|
27/28.09.2010 | pptx | |
04/05.10.2010 | pptx | |
11/12.10.2010 | pptx | |
18/19.10.2010 | pptx | |
25/26.10.2010 | pptx | |
01/02.11.2010 | pptx | |
15/16.11.2010 | pptx | |
22/23.11.2010 | pptx | |
29/30.11.2010 | pptx |
Back-office Assistentin: Nadia Polikarpova