Small logo of ETH main building ETH Zurich : Computer Science : Pervasive Computing : Distributed Systems : Education : I2 FS2008

| Zeit und Ort | Inhalt | Literatur | Prüfung | Übungen | Übungsblätter | Reversi-Turnier | Programmieren in Java | Diskussionsforum | Ansprechpartner |

Informatik II für ITET

Prof. Dr. Friedemann Mattern
Vorlesung FS2009

Zeit und Ort:

Mittwoch 8-10, HG F 7, Beginn: 18. Februar 2009.
Zur Orientierung: ETH Zentrum.

Skript:

Das aktualisierte Skript der Vorlesung kann über diese Seite bezogen werden.

Inhalt:

Teil II der Vorlesung vermittelt die gebräuchlichsten Problemlösungsverfahren, Algorithmen und Datenstrukturen. Der Stoff umfasst auch grundlegende Konzepte und Mechanismen der Programmstrukturierung. Darüber hinaus wird generell das Denken in formalen Systemen, die Notwendigkeit zur Abstraktion, sowie die Bedeutung geeigneter Modellbildungen für die Informatik motiviert.

Der Schwerpunkt der Vorlesung liegt auf der praktischen Informatik; konkrete Themen sind u.a.: Komplexitätsmasse von Algorithmen, Divide and Conquer-Prinzip, Rekursion, Sortieralgorithmen, Backtracking, Suchen in Spielbäumen, Datenstrukturen (Listen, Stacks, Warteschlangen), zeitdiskrete und ereignisorientierte Simulation, Nebenläufigkeit. Bei den praktischen Übungen wird die Programmiersprache Java verwendet, dabei werden auch Aspekte wie Modularisierung, Abstraktion und Objektkapselung behandelt.

Koordination:

Für allfällige Fragen wenden Sie sich bitte an Philipp Bolliger.

Literatur:

Die Folienkopien zur Vorlesung können weiterhin gegen 10.00 Sfr Gebühr bei Philipp Bolliger bezogen werden.

Begleitend zur Vorlesung empfehlen wir das folgende Buch:

Marc Allen Weiss, Data Structures and Problem Solving Using Java, 3. Auflage, Addison Wesley.

Die Polybuchhandlung wird am Mittwoch, den 25. Februar 2009, um 9:00 Uhr vor dem Raum HG F7 einen Hörsaalverkauf des Buches durchführen.

Prüfung:

Informatik II wird in der Herbstprüfungssession zusammen mit Informatik I geprüft. Der Prüfungsteil von Informatik II wird ca. 1 Stunde der zweistündigen Klausur umfassen. In der Klausur sind KEINE Hilfsmittel erlaubt. Falls Sie Fragen zur Klausur haben, so wenden Sie sich bitte an Philipp Bolliger.

Übungen:

Zusätzlich zur Vorlesung gibt es insgesamt 10 Übungsgruppen zu drei verschiedenen Terminen. Die Übungen beginnen am Mittwoch, den 25. Februar 2009.

Die Anmeldung für die Übungsgruppen ist geschlossen. Für Fragen melden Sie sich bitte an Philipp Bolliger.

Hier Zeit und Ort unserer Übungsgruppen:

Gruppe Zeit Ort Tutor
1 Mi 13-14 RZ F21 Vlad Trifa
2 Mi 13-14 IFW A34 Anicka Hanulova
3 Mi 13-14 IFW C42 Christoph Häcki
4 Mi 13-14 IFW D44 Steve Hinske
5 Mi 13-14 IFW E42 Lukas Beyeler
6 Mi 14-15 IFW C42 Robert Adelmann
7 Mi 14-15 IFW D44 Markus Weiss
8 Do 13-14 IFW C42 Alexander Bernauer
9 Do 13-14 IFW D42 Beat Saurenmann
10 Do 13-14 IFW D44 Iulia Ion

In der Vorlesung werden Übungsblätter verteilt. Zur Bearbeitung eines Aufgabenblattes steht jeweils eine Woche zur Verfügung.

Zum Erreichen des Testats ist eine Bearbeitung von 75% der Übungsaufgaben sowie das Erreichen von 50% der Gesamtpunktzahl notwendig. Die Abgabe der Aufgaben erfolgt in Zweiergruppen.

Übungsblätter:

Nr Ausgabe Rückgabe Downloads Bemerkungen
0 18. Februar Keine Abgabe Aufgabenblatt: PDF
Java: HelloWorld.java, Char2Bin.java
Die Übungsserie Nr.0 wird nicht bewertet.
1 25. Februar 4. März Aufgabenblatt: PDF
Java: ClassX.java
-
2 04. März 11./12. März Aufgabenblatt: PDF
Java: SortArray.java, ConvertTree.java
-
3 11. März 18./19. März Aufgabenblatt: PDF
Java: StringObject.java, LKD.java,
SortArray.java (Beispiellösung)
-
4 18. März 25./26. März Aufgabenblatt: PDF
Java: Stack.java, InfToPost.java, Expr.java, Ackermann.java
-
5 25. März 1./2. April Aufgabenblatt: PDF
Java: IntList.java, TestIntList.java
-
6 1. April 8./9. April Aufgabenblatt: PDF
Java: IntList.java, TestObjectList.java
-
7 8. April 22./23. April Aufgabenblatt: PDF Hinweise zu Reversi (und Downloads)
8 22. April 29 April Aufgabenblatt: PDF Hinweise zu Reversi (und Downloads)
9 29. April 6./7. Mai Aufgabenblatt: PDF Die Alpha-Beta-Animation
10 6. Mai 13./14. Mai Aufgabenblatt: PDF
Java: MergeSort.java, TestMergeSort.java
-
11 13. Mai 20./21. Mai Aufgabenblatt: PDF
Java: Pos.java, Springer.java
-
12 20. Mai (ohne Wertung) Aufgabenblatt: PDF Die Aufgaben dieser Serie werden nicht mehr bewertet sind jedoch relevant für die Prüfung.

Bitte geben Sie Ihre Lösung Ihrem Tutor in der Übungsstunde ab.

Reversi-Turnier:

Das Reversi-Turnier wird am Mittwoch, 27.05.2009 um 12.30 Uhr, in der Semper Aula (HG G60) stattfinden. Hier geht's zu den Reversi-Seiten...

Programmieren in Java:

Auf den Pool-Rechnern steht Java zur Verfügung. Wir empfehlen die Version 1.5 (aka 'Java 2 Platform Standard Edition 5.0'), welches die Standard-Version auf tardis ist und also einfach mit den Kommandos

javac (Compiler)
java (Laufzeit-Umgebung)

aufgerufen wird. Wer Java auf seinem eigenen Rechner installieren möchte, hat die Möglichkeit, sich das Java Software Development Kit (JDK) von der Sun-Webseite herunterzuladen. Es gibt Versionen für Windows, Linux und Solaris. Auf Mac OS X ist Version 1.5 seit Version 10.4 (Tiger) standardmässig installiert. Man bekommt damit, wie auf tardis, die Kommandos zum Aufruf des Compilers (javac) und der Laufzeitumgebung (java).

Darüber hinaus empfehlen wir wärmstens eine integrierte Entwicklungsumgebung zu verwenden. Besonders empfehlen möchten wir Eclipse IDE for Java Developers. Diese IDE hat sich sehr bewährt und wird von uns selber eingesetzt. Nach der Installation des JDK 1.5 und Eclipse sollte darauf geachtet werden, dass Eclipse diese Java Version verwendet. Dies kann in den Einstellungen von Eclipse unter Java -> Installed JREs erledigt werden.

Hier finden sie eine gute Einleitung in die Verwendung von Eclipse (in englischer Sprache).

Hier finden sie eine Anleitung zum Thema Debugging mit der Eclipse Platform (in englischer Sprache).

Hier die Dokumentation aller Java-Klassen (API Specification, Java 2 Platform Standard Edition 5.0).

ETH ZurichDistributed Systems Group
Last updated June 20 2023 01:44:58 PM MET pb