ETH Zurich :
Computer Science :
Pervasive Computing :
Distributed Systems :
Education :
I2 HS2019
ƒ
| Inhalt
| Zeit und Ort
| Unterlagen
| Übungen
| Prüfung
| Reversi-Turnier
| Programmieren in Java
| Kontakt |
Informatik II für ITET
Prof. Dr. Friedemann Mattern
Vincent Becker, Lukas Burkhalter (Coordinators)
Vorlesung HS2019
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ät und Korrektheit von Algorithmen, Divide and Conquer-Prinzip, Rekursion, Sortieralgorithmen, Backtracking, Suche in Spielbäumen, Datenstrukturen (Listen, Stacks, binäre Bäume etc.), zeitdiskrete Simulation, Nebenläufigkeit, Verifikation. Gelegentlich werden auch kurze Hinweise zum geschichtlichen Kontext der jeweiligen Konzepte gegeben.
Bei den praktischen Übungen wird die Programmiersprache Java verwendet, dabei werden auch Aspekte wie Modularisierung, Abstraktion und Objektorientierung behandelt.
Zeit und Ort
- Vorlesung:
- 19. September bis 19. Dezember 2019
- Donnerstag 10-12 Uhr, ETF E1
- Übungen:
- Freitag 13-14 Uhr, Räume siehe unten.
- In der ersten Semesterwoche findet keine Übungsstunde statt! Stattdessen veranstalten wir einen Java-Einführungskurs (HG E 7). Die Folien finden Sie hier und die gezeigten Demos hier. Ein zusätzlicher Hinweis zur Installation von Java: Neuerdings verlangt Oracle, dass man einen Account erstellt. Wer dies nicht tun will, kann auch das OpenJDK verwenden.
Besondere Termine:
- Freiwilliger Einführungskurs in Java:
- Freitag, 20. September 2019, 13:15-14:30 Uhr, HG E 7.
- In dieser Woche finden keine Übungen statt.
- Reversi-Turnier:
- Donnerstag, 19. Dezemeber 2019, ab 13:00 Uhr, CABinett (Stuz2).
- Mehr Informationen auf der Reversi-Webseite.
- Dafür finden am 20. Dezember keine Tutorien statt.
Unterlagen
Die erste Übungsserie wird in der ersten Vorlesungswoche aufgeschaltet.
Folienkopien:
Die Folienkopien zur Vorlesung im PDF-Format werden hier zur Verfügung gestellt.
Als Gesamtkopie (ca. 110 MB; Empfehlung: einmalig herunterladen und lokal speichern) oder nach Kapitel getrennt:
Literatur:
Begleitend zur Vorlesung empfehlen wir das Buch Marc Allen Weiss, Data Structures and Problem Solving Using Java, 4. Auflage, Addison Wesley.
Übungen
Registrierung:
Stellen Sie zuerst sicher, dass Sie bei mystudies für die Vorlesung angemeldet sind. Die Registrierung erfolgt über das CodeExpert-System, über das auch die Bearbeitung und Korrektur stattfindet.
Nutzen Sie diesen Link zur Anmeldung.
Die Registrierung schliesst am Mittwoch, den 25.09.2019. Sollten Sie bei der Registrierung Probleme haben, melden Sie sich bitte per Email bei Lukas Burkhalter.
Abgabe und Korrektur:
Sie können die Übungen jeweils etwa eine Woche lang bearbeiten.
Die Abgabe erfolgt mittels des Online-Abgabesystem Code Expert, welches von Informatik I bekannt sein sollte.
Geprüft wird Ihre Lösung bereits durch das Abgabesystem. Damit erhalten Sie direkt eine Rückmeldung.
Ihr Assistant hat ebenfalls Zugriff auf Ihre Abgaben und wird sich diese anschauen und Ihnen ebenfalls Feedback geben.
Die einzelnen Übungsaufgaben werden Ihnen auf Code Expert angezeigt. Sie können dort auch ein Übungsblatt als PDF-Datei generieren. Damit Sie die Code-Skelette einfach zur Arbeit in einer IDE (z.B. Eclipse) auf
Ihrem Computer nutzen können, finden Sie diese unten zum Herunterladen.
Übungsgruppen:
Bitte besuchen Sie stets nur diejenige Übungsgruppe, bei der Sie
sich angemeldet haben. Ein Wechsel ist nur in Ausnahmefällen und nach
Rücksprache mit dem Koordinator möglich. (So bleiben Sie während des
ganzen Semester ein gemeinsames Team, die Tutoren können gezielt
auf die Lösungen der Übungsaufgaben der Anwesenden eingehen und
alle Übungsgruppen haben etwa gleich viele Teilnehmer.)
Gruppe |
Zeit |
Ort |
Tutor |
Materialien* |
1 |
Fr 13-14 |
CHN G 46 |
Mihai Bâce |
Link |
2 |
Fr 13-14 |
ETZ F 91 |
Lukas Burkhalter |
Link |
3 |
Fr 13-14 |
ML H 34.3 |
Jing Yang |
Link |
4 |
Fr 13-14 |
ML J 34.1 |
Alexander Viand |
Link |
5 |
Fr 13-14 |
ML J 37.1 |
Carina Fuss |
Link |
6 |
Fr 13-14 |
NO C 44 |
Vincent Becker |
Link |
7 |
Fr 13-14 |
NO D 11 |
Julia Gygax |
Link |
8 |
Fr 13-14 |
NO E 11 |
Pascal Schärli |
Link |
* Die hier verlinkten Materialien dienen als Unterstützung für die Vorlesung. Verantwortlich für die Inhalte sind die jeweiligen Assistenten.
|
Source-Dateien der Übungsblätter
Bonusübungen
Während des Semesters gibt es zwei Bonusübungen durch deren Bearbeitung man einen Bonus von insgesamt maximal 0.25 erhalten kann, der dann auf die Klausur angerechnet wird.
Um an den Bonusübungen teilnehmen zu können, muss man während des Semesters die "normalen" Übungen bearbeiten, um über die dadurch erhaltenen XP die jeweilige Bonusaufgabe freizuschalten.
Die genauen Bedingungen sind in CodeExpert festgelegt. Da Bonusaufgaben als Teil der Prüfung gewertet werden, sind dabei auch die Plagiatrichtlinen der ETH strikt
anzuwenden. Bei einem Täuschungsversuch bei der Bearbeitung der Bonusaufgaben verfällt der gesamte Bonus für das Semester und es kann nicht mehr an den weiteren
Bonusaufgaben teilgenommen werden. Bei einem Plagiatsfall sind davon alle Beteiligten betroffen, inkl. der- oder demjenigen, die/der die Lösung zur Verfügung stellt.
Dazu zählt auch, die Lösung öffentlich zugänglich zu machen (z.B. auf einer Online-Plattform), wenn diese dann von jemand anderem (auch ohne Wissen der hochladenden Person) verwendet wird.
Prüfung
Informatik II wird in der Herbstprüfungssession schriftlich geprüft.
Der Prüfungsteil von Informatik II wird ca. 1 Stunde umfassen.
In der Klausur sind keine Hilfsmittel erlaubt.
Programmieren in Java
Auf den Pool-Rechnern steht Java zur Verfügung. Wir arbeiten mit der
Version Java SE 11.
Wer Java auf seinem eigenen Rechner installieren möchte, hat die
Möglichkeit, sich das Java Software Development Kit (JDK) von der
Oracle-Webseite
herunterzuladen oder es sich über seine Distribution zu installieren. Neuerdings verlangt Oracle, dass man einen Account erstellt. Wer dies nicht tun will, kann auch das OpenJDK verwenden.
Links:
Kontakt
Für allfällige Fragen wenden Sie sich bitte an Ihren Übungsassistenten!
|