Programmieren I
Kursbeschreibung
Studiengang | Modulkürzel | Leistungs- bewertung |
---|---|---|
BA-2010 | P I | 6 LP |
ÜK | - | 3 LP (nicht für Studierende der Computerlinguistik) |
Dozent | Danny Rehl |
Veranstaltungsart | |
Sprache | Deutsch |
Erster Termin | 24.04.2019 |
Zeit und Ort |
Montag, 11 – 13 Uhr c. t. (INF 328, SR 25) Mittwoch, 18 – 20 Uhr c. t. (INF 328, SR 25) |
Commitment-Frist | tba |
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.
Teilnahmevoraussetzungen
Hinweis für Windows-Benutzer: Es steht nur sehr eingeschränkter Support zur Verfügung. Die Aufgaben können aber
natürlich auf den Rechnern im Pool (Linux, Debian) erledigt werden.
Anmeldung
Für Studierende der Computerlinguistik (mind 25 %), sowie ÜK-Teilnehmer, ist keine Anmeldung erforderlich. Melden Sie sich bitte nicht an, sondern kommen Sie einfach vorbei. Studierende anderer Fächer müssen sich per E-Mail zwischen dem 5. und dem 19. April bei der Kursleitung anmelden (rehl@cl.uni-heidelberg.de) – die Anzahl dieser Studierenden ist auf 8 Personen beschränkt. Teilen Sie in diesem Fall bitte mit, in welchem Studiengang Sie den Kurs anrechnen lassen wollen und mit wie vielen ECTS-Punkten.Leistungsnachweis
Bearbeiten der wöchentlichen Übungsaufgaben. Klausurzulassung erreichen. Siehe auch Formalia Scheinkriterien.
Bestehen der Abschlussklausur. Hinweis: Die erfolgreich bestandene Klausur ist Teil der Orientierungsprüfung.
Formalia Scheinkriterien
Tutoriumstermine
Tutorin/Tutor | Zeit | Raum |
---|---|---|
Ines | Dienstag 09:15 - 10:45 Uhr | INF 327, SR 4 |
Jonas | Dienstag 16:15 - 17:45 Uhr | INF 327, SR 5 |
Kursübersicht
Seminarplan
Datum | Inhalt | Dateien |
---|---|---|
MI 24.04.19 | Organisatorisches, Überblick |
Folien 01 Übungsblatt 00 |
MO 29.04.19 | Installation, Variablen, erste Datentypen und Operatoren |
Folien 02 |
MI 01.05.19 | fällt aus (Tag der Arbeit) | Übungsblatt 01 |
MO 06.05.19 | Datentypen, Präzedenztabelle | Folien 03 |
MI 08.05.19 |
Übungsblatt 02 Vorlage Übungsblatt 02 |
|
MO 13.05.19 | Methoden | Folien 04 |
MI 15.05.19 |
Übungsblatt 03 Vorlage Übungsblatt 03 |
|
MO 20.05.19 | Unicode vs. Bytestrings, range(), input(), str.format(), Geschichte, Kontrollstrukturen | Folien 05 |
MI 22.05.19 | enumerate, eigene Funktionen, Algorithmus |
Folien 06 Übungsblatt 04 Vorlage Übungsblatt 04 |
MO 27.05.19 | Modularisierung, Zen of Python | Folien 07 |
MI 29.05.19 | Referenzen, shallow copies, deep copies, mutable default arguments |
Folien 08 Übungsblatt 05 Vorlage Übungsblatt 05 Vorlage preprocess_text 05 |
MO 03.06.19 | Rekursion | Folien 09 |
MI 05.06.19 | Dateien, Exceptions, PEP-8 |
Folien 10 Übungsblatt 06 Vorlage Übungsblatt 06 raw_data.csv |
MO 10.06.19 | fällt aus (Pfingstmontag) | |
MI 12.06.19 | Logging, Reguläre Ausdrücke |
Folien 11 Übungsblatt 07 Vorlage Übungsblatt 07 |
MO 17.06.19 | Funktionale Programmierparadigmen, comprehensions | Folien 12 |
MI 19.06.19 | Generatoren, Iteratoren, Dekoratoren, Kursevaluation |
Folien 13 Übungsblatt 08 Vorlage Übungsblatt 08 |
MO 24.06.19 | Objektorientierte Programmierung I | Folien 14 |
MI 26.06.19 | Objektorientierte Programmierung II |
Folien 15 Übungsblatt 09 Übungsblatt 10 (Bonus!) Vorlage Übungsblatt 10 (Bonus!) Datenset für Übungsblatt 10 (Bonus!) |
MO 01.07.19 | Vererbung, (MRO & Mehrfachvererbung am 03.07.) | Folien 16 |
MI 03.07.19 | MRO, Mehrfachvererbung, Wiederholung, Fragestunde, Besprechung Evaluation, Ende der Commitment-Frist | |
MO 08.07.19 | Klausur | 11 – 13 Uhr, INF 306 SR 14 |
MI 10.07.19 | Klausurbesprechung, Klausureinsicht | |
MO 15.07.19 | Tests (Testing), Grundlagen für die Web-Programmierung I | Folien 17 |
MI 17.07.19 | Grundlagen für die Web-Programmierung II (im CIP-Pool, INF 325) | ZIP-Datei |
MO 22.07.19 | zu wenige Teilnehmer | |
MI 24.07.19 | zu wenige Teilnehmer |
Abgabe der Übungsaufgaben
[Prog1] Blatt XX, Vorname Nachname
Literatur