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.
|