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

Informatik II

Prof. Dr. Friedemann Mattern
Vorlesung SS2001

Zeit und Ort:

Mittwoch 8-10 ETA F5 Beginn: 4. April

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, kürzeste Wege, Datenstrukturen (Listen, Stacks, Warteschlangen, Hashtabellen, Graphen), zeitdiskrete Simulation, Nebenläufigkeit. Bei den praktischen Übungen wird die Programmsprache Java verwendet, dabei werden auch Aspekte wie Modularisierung, Abstraktion und Objektkapselung behandelt.

Literatur

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

Die Folienkopien zur Vorlesung wurden am Semesteranfang gegen Gebühr ausgegeben. Zusätzlich fand am 4. April ein Buchverkauf ausgehend von der Polybuchhandlung statt, wobei das Buch erworben werden konnte, das wir begleitend zur Vorlesung empfehlen: Marc Allen Weiss, Data Structures and Problem Solving Using Java, Addison Wesley.

Wer noch Folienkopien benötigt, wende sich bitte in der Übungsstunde an seinen Tutor oder direkt an mich: vogt@inf.ethz.ch. Das Buch sollte auch weiterhin in der Polybuchhandlung verfügbar sein.

Für die Vorlesung vom 9. Mai (Exceptions) gibt es zusätzliche Folien: [PDF]

Diskussionsforum

Der News-Server der ETH news.ethz.ch stellt ein Diskussionforum bereit, in dem Fragen zur Vorlesung und zu den Übungen besprochen werden können. Alle Hörer der Vorlesung sind herzlich eingeladen, dieses Forum zu nutzen. Das Forum ist unter dem Gruppennamen ethz.ee.course.inf erreichbar. In Netscape beispielsweise genügt die Eingabe der URL news://news.ethz.ch/ethz.ee.course.inf.

Hinweis: Der Zugang auf den News-Server war bis vor kurzem wohl insoweit beschränkt, als man nicht von einem anderen Provider als der ETH von aussen zugreifen konnte. Dieses Problem sollte mittlerweile behoben sein, der News-Server wurde dazu umkonfiguriert. Man sollte nun also an den Server auch über einen kommerziellen Provider (z.B. Bluewin) herankommen. Falls es damit immer noch Probleme geben sollte, bitte melden!

Reversi-Turnier

Informationen zum Turnier befinden sich auf einer Extra-Seite: REVERSI TURNIER

Übungen

Eine ständig wiederkehrende Frage ist die nach Musterlösungen für die Aufgaben. Eine Begründung, warum wir nicht systematisch Musterlösungen ausgeben, finden Sie unter diesem Link: [Musterlösungen].

Ansprechpartner für den Übungsbetrieb ist Harald Vogt <vogt@inf.ethz.ch>

Links:
Literatur und Informationen zum Programmieren in Java
Java Standard Edition Platform Documentation (Offizielle Dokumenation von Sun)

Tips & Tricks:
Wer von der Entwicklung in Java unter Windows auf Unix umsteigen möchte und seine Dateien kopiert, bekommt evtl. Probleme mit den unterschiedlichen Konventionen für Textdateien unter den beiden Betriebssystemen. Das betrifft einerseits den Zeichensatz (davon sind i.A. die Umlaute betroffen) und andererseits Zeilenumbrüche. Zeilenumbrüche werden unter Windows üblicherweise mit der Zeichenfolge CR/LF (CR = carriage return = (char)0x0d, LF = line feed = (char)0x0a) dargestellt, unter Unix durch ein einzelnes LF. Es gibt verschiedene Tools, mit denen Textdateien zwischen den Formaten umgesetzt werden können (search google, wahrscheinlich verkauft sogar jemand so ein Tool ;-) und es gibt gute Werkzeuge, mit denen man selbst so ein Tool schreiben kann (Python, Perl, Java). Am einfachsten geht's unter Unix allerdings mit dieser Zeile:

$ tr -d \\015 < infile > outfile

Das entfernt einfach das CR-Zeichen. Wem das nicht weiterhilft, weil er nur CR's in seiner Datei hat ohne LF's, der kann jedes CR durch LF ersetzen:

$ tr \\015 \\012 < infile > outfile

(015 und 012 sind übrigens Zahlendarstellungen im Octal-System.)

Übungsblätter

Übungsblätter werden grundsätzlich in Zweiergruppen abgegeben. Ausnahmen (Einzelabgaben) sind mit dem Tutor abzusprechen. Dreiergruppen sind nicht erlaubt.

Übungsgruppen

Gruppe Beginn Zeit Ort Tutor E-Mail
1 11.4. Mi 13-14 HG D5.2 Thomas Schoch schoch@inf.ethz.ch
2 11.4. Mi 13-14 HG E21 Frank Siegemund siegemun@inf.ethz.ch
3 11.4. Mi 13-14 IFW C42 ehemals Oliver Wyrsch
neu: Daniel Keller
ehemals owyrsch@iiic.ethz.ch
neu: dekeller@iiic.ethz.ch
4 11.4. Mi 13-14 HG G26.1 Patrick Stuedi stuedip@student.ethz.ch
5 11.4. Mi 14-15 HG D3.3 Vlad Coroama coroama@inf.ethz.ch
6 11.4. Mi 14-15 IFW B42 Oliver Kasten kasten@inf.ethz.ch
7 11.4. Mi 14-15 IFW C42 Harald Vogt vogt@inf.ethz.ch
8 11.4. Mi 14-15 ML F36 Felix Roethenbacher fr@swissmail.com

Besuchen Sie den Gebäudeplan zur Orientierung.

ETH ZurichDistributed Systems Group
Last updated May 29 2012 01:27:21 PM MET hv