
Programmieren I

Kursbeschreibung
Studiengang | Modulkürzel | Leistungs- bewertung |
---|---|---|
BA-2010 | P I | 6 LP |
ÜK | - | 3 LP (nicht für Studierende der Computerlinguistik) |
Dozenten/-innen | Danny Rehl |
Veranstaltungsart | |
Sprache | Deutsch |
Erster Termin | 22.10.2018 |
Zeit und Ort | Montag, 11:15-12:45, INF 328 / SR 25 Mittwoch, 18:15-19:45, INF 328 / SR 25 |
Commitment-Frist | tbd. |
Teilnahmevoraussetzungen
Für Studierende der Computerlinguistik (mind 25%) ist keine Anmeldung erforderlich. Studierende anderer Fächer und ÜK-Teilnehmer müssen sich per E-Mail zwischen dem 5. und dem 19. Oktober bei der Kursleitung anmelden (rehl@cl.uni-heidelberg.de) --- die Anzahl dieser Studierenden ist auf 8 Personen beschränkt. Es ist keine Anmeldung für Studierende anderer Fächer mehr möglich, da die Plätze bereits vergeben sind.
Leistungsnachweis
Bearbeiten der wöchentlichen Übungsaufgaben. Klausurzulassung erreichen. Bestehen der Abschlussklausur. Hinweis: Die erfolgreich bestandene Klausur ist Teil der Orientierungsprüfung.
Inhalt
Ziel dieser Vorlesung ist, Studierenden einen ersten Überblick über die systematische Entwicklung von wartbaren und korrekten Programmen zu geben. Dies geschieht anhand der objektorientierten, interpretierten Sprache Python, die mit einem einfachen Objektmodell, guter Unterstützung der Modularisierung und einer reichhaltigen Bibliothek einen raschen Zugang zu modernen Programmiertechniken und zudem weitgehende Plattformunabhängigkeit bietet. Dabei wird versucht, den Stoff u. a. anhand konkreter (computerlinguistischer) Fragestellungen unter der Einhaltung von Standards und Konventionen zu entwickeln.
Tutoriumstermine
Wochentag | Uhrzeit | Ort | Tutor |
---|---|---|---|
Dienstag | 11:15 - 12:45 | INF 328, SR 17b | Catarina Cramer |
Mittwoch | 09:15 - 10:45 | INF 325, SR 24 | Benjamin Beilharz |
Freitag | 16:15 - 17:45 | INF 326, SR 28 | Jonas Uhrig |
Kursübersicht
Seminarplan
Datum | Sitzung | Materialien |
---|---|---|
22.10.2018 | Organisatorisches, Einführung | Folien |
24.10.2018 | Erste Schritte, Variablen und Datentypen |
Folien Übungsblatt 01 |
29.10.2018 | Sequenzielle Datentypen | Folien |
31.10.2018 | Übungsblatt 02 | |
05.11.2018 | Weitere Datentypen und Methoden (I) | Folien |
07.11.2018 | Weitere Datentypen und Methoden (II) |
Übungsblatt 03 exercise-03.py |
12.11.2018 | Kontrollstrukturen, Funktionen (I) | Folien (Updated 14.11.18) |
14.11.2018 | Kontrollstrukturen, Funktionen (II) |
Übungsblatt 04 exercise-04.py |
19.11.2018 | Variablenskopus, Spaghetti-Code, Entpackungoperator | Folien |
21.11.2018 | Module, Zen of Python |
Folien Übungsblatt 05 exercise_05.py |
26.11.2018 | Referenzen, flache und tiefe Kopien | Folien |
28.11.2018 | Rekursion, Tutron |
Folien Übungsblatt 06 exercise_06.py |
03.12.2018 | ||
05.12.2018 | Dateien und Exceptions |
Folien Übungsblatt 07 exercise_07.py raw_data.csv |
10.12.2018 | ||
12.12.2018 | Logging, Reguläre Ausdrücke |
Folien Übungsblatt 08 exercise_08.py holy_grail.txt |
17.12.2018 | Kursevaluation, Reguläre Ausdrücke (kurze Wiederholung), Lambda, list/dict/set comprehensions | Folien |
19.12.2018 | Generatoren, Dekoratoren |
Folien Übungsblatt 09 (Update) exercise_09.py (Update) |
24.12.2018 | Weihnachtsferien | |
26.12.2018 | Weihnachtsferien | |
31.12.2018 | Weihnachtsferien | |
02.01.2019 | Weihnachtsferien | |
07.01.2019 | OOP I | Folien |
09.01.2019 | OOP II | Folien |
14.01.2019 | Vererbung, Mehrfachvererbung | Folien |
16.01.2019 | Fragestunde (auch gerne vorab als E-Mail) | keine Folien |
21.01.2019 | Klausurtermin | INF 327, SR 20 |
23.01.2019 | Besprechung Klausur | keine Folien |
28.01.2019 | Tests, SCRUM (Theorie) |
Folien Scrum (Einblick) Übungsblatt 10 exercise_10.py |
30.01.2019 | SCRUM (Praxis) | keine Folien |
04.02.2019 | Webentwicklung I | keine Folien |
06.02.2019 | Webentwicklung II | GitLab-Repository |
Literatur