Informatik I - Übungen
Übungsblätter
Übungsblatt | Ausgeteilt | Abgabe | Material |
---|---|---|---|
Übungsblatt 1 | Dienstag, 26. Oktober 2010 | Donnerstag, 4. November 2010 | |
Übungsblatt 2 | Dienstag, 9. November 2010 | Donnerstag, 18. November 2010 | |
Übungsblatt 3 | Dienstag, 23. November 2010 | Donnerstag, 2. Dezember 2010 |
zlisten.rkt |
Übungsblatt 4 | Dienstag, 7. Dezember 2010 | Donnerstag, 16. Dezember 2010 | |
Übungsblatt 5 | Dienstag, 21. Dezember 2010 | Donnerstag, 13. Januar 2011 | |
Übungsblatt 6 | Dienstag, 18. Januar 2011 | Donnerstag, 27. Januar 2011 | |
Übungsblatt 7 | Dienstag, 1. Februar 2011 | Donnerstag, 10. Februar 2011 | |
Übungsblatt 8 | Montag, 14. Februar 2011 | nie (freiwillige Zusatzübung) |
Abgabe der Übungsblätter
Jeden zweiten Dienstag wird ein Blatt mit Übungsaufgaben ausgegeben, welches innerhalb von neun Tagen (bis zum Donnerstag der darauf folgenden Woche) bearbeitet werden muss. Lösungen zu Programmieraufgaben werden per Mail an den Tutor abgegeben, schriftliche Lösungen auf Papier zu Theorieaufgaben sollen bis 10:00 Uhr am Abgabetag (also vor Beginn der Vorlesungsstunde) im Briefkasten Ihrer Übungsgruppe im EG von Gebäude 051 eingeworfen werden.
Themen der betreuten Programmierübungen
Nr. | Zeitraum | Thema |
---|---|---|
1 | 21.10. bis 27.10.2010 | Arithmetik |
2 | 28.10. bis 03.11.2010 | Fallunterscheidungen, Arithmetik, Fehler |
3 | 04.11. bis 10.11.2010 | Zusammengesetzte und gemischte Daten |
4 | 11.11. bis 17.11.2010 | Zusammengesetzte und gemischte Daten, Listen und Rekursion |
5 | 18.11. bis 24.11.2010 | Rekursion auf mehreren Argumenten, let und let* |
6 | 25.11. bis 01.12.2010 | Zusammengesetzte Daten, Endrekursion und Akkumulatoren |
7 | 02.12. bis 08.12.2010 | Eigenschaften von binären Relationen |
8 | 09.12. bis 15.12.2010 | Kartesisches Produkt und transitive Hülle |
9 | 16.12. bis 22.12.2010 | Turtle-Grafik und Fraktale |
10 | 10.01. bis 14.01.2011 | Einfache Funktionen in Python |
11 | 17.01. bis 21.01.2011 | Zusammengesetzte Daten in Python |
12 | 24.01. bis 28.01.2011 | Verkettete Listen in Python |
13 | 31.01. bis 04.02.2011 | Verkettete Listen in Python, Iteration |
14 | 07.02. bis 11.02.2011 | Eingebaute Sequenztypen in Python |
Termine und Ort
Übungen: Acht Gruppen zu folgenden Terminen:
Nr. | Tag | Zeit | Raum | Tutor | |
---|---|---|---|---|---|
1 | Di | 16:15-18:00 Uhr | 051-03-026 | Manuel Meyer | meyerma@informatik.uni-freiburg.de |
2 | Di | 16:15-18:00 Uhr | 051-00-031 | Malte Ahl | info1@malteahl.de |
3 | Di | 16:15-18:00 Uhr | 051-00-034 | Daniel Brand | brandd@informatik.uni-freiburg.de |
4 | Mi | 16:15-18:00 Uhr | 051-00-031 | Jonathan Nagel | nagelj@informatik.uni-freiburg.de |
5 | Mi | 16:15-18:00 Uhr | 078-00-014 | Franz Dietrich | dietricf@informatik.uni-freiburg.de |
6 | Do | 16:15-18:00 Uhr | 051-00-034 | Stephanie Embgen | embgens@informatik.uni-freiburg.de |
7 | Do | 16:15-18:00 Uhr | 052-02-017 | Nikolaus Mayer | mayern@informatik.uni-freiburg.de |
8 | Do | 16:15-18:00 Uhr | 051-03-026 | Fabian Wenzelmann | wenzelmf@informatik.uni-freiburg.de |
Betreutes Programmieren:
Tag | Zeit | Räume | Tutoren | |
---|---|---|---|---|
Mo | 18:15-20:00 Uhr | 082-00-028 082-00-029 |
Malte Ahl, Manuel Meyer, Fabian Wenzelmann |
info1@malteahl.de, meyerma@informatik.uni-freiburg.de, wenzelmf@informatik.uni-freiburg.de |
Di | 18:15-20:00 Uhr | 082-00-028 082-00-029 |
Thomas Liebetraut, Nikolaus Mayer, Leonore Winterer |
liebetrt@informatik.uni-freiburg.de, mayern@informatik.uni-freiburg.de, winterel@informatik.uni-freiburg.de |
Mi | 18:15-20:00 Uhr | 082-00-028 082-00-029 |
Stephanie Embgen, Thorsten Engesser, Felix Neubauer |
embgens@informatik.uni-freiburg.de, engesset@informatik.uni-freiburg.de, neubauef@informatik.uni-freiburg.de |
Do | 18:15-20:00 Uhr | 082-00-028 082-00-029 |
Franz Dietrich, Sebastian Dufner, Thorsten Engesser |
dietricf@informatik.uni-freiburg.de, dufners@informatik.uni-freiburg.de, engesset@informatik.uni-freiburg.de |
Fr | 18:15-20:00 Uhr | 082-00-028 082-00-029 |
Daniel Brand, Markus Grützner, Jonathan Nagel |
brandd@informatik.uni-freiburg.de, gruetzne@informatik.uni-freiburg.de, nagelj@informatik.uni-freiburg.de |
Die Anmeldung sowohl zu den Übungen als auch zum betreuten Programmieren erfolgt über das Online-Vorlesungsverzeichnis. Beachten Sie, dass zu der Online-Anmeldung auch die Anmeldung zu je einem der konkreten oben genannten Termine gehört.
Die Übungsgruppen sind auf je 20 Teilnehmer begrenzt, die Gruppen im betreuten Programmieren auf je 15 Teilnehmer. Es entscheidet die Reihenfolge der Anmeldung.
Aufgaben zum Selbststudium
Eine Reihe sehr guter Programmieraufgaben zum Selbststudium finden Sie in Herbert Klaeren und Michael Sperber. Die Macht der Abstraktion. Einführung in die Programmierung. Teubner Verlag, 2007.
Auf vielfache Nachfrage stellen wir als Ergänzung zu den theoretischen Übungen und zum betreuten Programmieren aber auch an dieser Stelle einige weitere Scheme-Programmieraufgaben zum Selbststudium bereit. Das Niveau der Aufgaben ist so gewählt, dass vor allem grundlegende Techniken wiederholt werden.
Die Bearbeitung der Aufgaben ist freiwillig und die Lösungen werden weder abgegeben noch korrigiert. Mit Fragen zu den Aufgaben können Sie sich an die Tutoren des betreuten Programmierens wenden. Einer der Tutoren wird täglich zwischen 17:30 Uhr und Beginn der betreuten Programmiersitzung im Pool anwesend sein und Ihre Fragen beantworten.
Blätter 1 bis 4 enthalten Scheme-Programmieraufgaben, Blatt 5 enthält Aufgaben, wie sie auch in einer Klausur vorkommen könnten.
Die Aufgaben im Einzelnen:
Thema | Blatt |
---|---|
1. Ausdrücke und Prozeduren | add-ex-1.pdf |
2. Datentypen und Records | add-ex-2.pdf |
3. Rekursion | add-ex-3.pdf |
4. Zusammengesetzte Datentypen: Polynome | add-ex-4.pdf |
5. Klausurvorbereitung | add-ex-5.pdf |
DrRacket-Update
Einige Wochen nach Beginn der Vorlesungszeit wurde eine neue Version von DrRacket veröffentlicht (Aktualisierung von Version 5.0.1 auf 5.0.2). Da einige der Änderungen für Vorlesung und Übungen relevant sind, wurden die Pool-Rechner im Betreuten-Programmiermodus bereits aktualisiert. Sollten Sie auf Ihren Privatrechnern noch eine veraltete Version installiert haben und diese aktualisieren wollen, beachten Sie bitte auch den Hinweis auf http://www.deinprogramm.de/dmda/ zum Patch für DrRacket Version 5.0.2 (unter Neuigkeiten/10.11.2010).
Python-3-Installation
Wenn Sie auf Ihrem Privatrechner Python installieren wollen, sollten Sie beachten, dass wir in der Vorlesung mit Python 3 arbeiten, und dass Python 3 zu älteren Python-Versionen (2.x) inkompatibel ist. Sie sollten also die neueste Version der Python-3-Reihe verwenden (derzeit Python 3.1.3). Für die meisten Linux-Distributionen gibt es fertige Pakete. Unter Ubuntu reicht beispielsweise das Kommando sudo apt-get install python3, um Python 3 zu installieren. Alternativ können Sie auch den Quellcode herunterladen und kompilieren. Mac-Nutzer folgen der Anleitung für Python auf dem Mac. Für Windows-Nutzer steht auf der Download-Seite ein Installer (64 Bit) zur Verfügung.