Programmieren I
Kursbeschreibung
Studiengang | Modulkürzel | Leistungs- bewertung |
---|---|---|
BA-2010 | P I | 6 LP |
ÜK | - | 3 LP (nicht für CL) |
Dozent | Danny Rehl |
Veranstaltungsart |
|
Sprache | Deutsch |
Erster Termin | 29.10.2021 |
Zeit und Ort |
Freitag, 11:15–12:45, Online Freitag, 14:15–15:45 INF 328, SR 25, nicht am 14.01.22 |
Tutorien |
Dana-Cristina Simedrea Mittwoch, 18:15–19:45 INF 327, SR 3 Maximilian Hartmann Donnerstag, 14:15–15:45 INF 329, SR 26 sowie per Stream in HeiConf (weitere Informationen im Moodle) |
Commitment-Frist | tba |
Teilnehmerkreis
- Für Studierende der Computerlinguistik (mind 25 %).
- Bachelor-Studierende anderer Fächer können den Kurs im Rahmen einer ÜK-Veranstaltung für 3 ECTS besuchen.
- Der Besuch als ÜK-Veranstaltung umfasst nicht den Abschluss durch eine Klausur oder entsprechenden Leistungsnachweis.
FAQ
Bitte schauen Sie auf die FAQ-Seite, bevor Sie uns kontaktieren. Für wichtige Fragen, die dort nicht beantwortet werden, schreiben Sie gerne eine E-Mail an prog1@cl.uni-hei... Wir nehmen die Frage dann auf oder beantworten Ihre E-Mail. Mit einer E-Mail an "prog1@cl.uni-hei..." erreichen Sie den Dozenten und die Tutor*innen.
Teilnahmevoraussetzungen
- Grundkenntnisse in Unix (entsprechend der Pool-Einführung)
- Es sind keine Programmierkenntnisse im Voraus nötig
Leistungsnachweis
- Bearbeiten der wöchentlichen Übungsaufgaben.
- Prüfungszulassung erreichen.
- Bestehen der Abschlussprüfung (nur bei 6 ECTS).
Hinweis für Computerlinguist*innen (gilt nicht für ÜK/3 ECTS): Die erfolgreich bestandene Prüfung 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.
Kursübersicht
Datum | Sitzung | Materialien |
---|---|---|
29.10.2021 | Organisatorisches, Warum Python? | Vorlesungsfolien (PDF) |
29.10.2021 | Datentypen und Variablen | Vorlesungsfolien (PDF) |
05.11.2021 | Sequenzielle Datentypen: Strings | Vorlesungsfolien (PDF) |
05.11.2021 | Sequenzielle Datentypen: Listen, Tupel; Dictionaries | Vorlesungsfolien (PDF) |
12.11.2021 | Mengen, Datentypen Übersicht, Pair-Programming, Methoden (Sequenzen) | Vorlesungsfolien (PDF) |
12.11.2021 | Methoden (Mapping, Mengen), Funktionen und Operatoren | Vorlesungsfolien (PDF) |
19.11.2021 | Präzedenztabelle, Unicode- und Bytestrings, weitere Funktionen | Vorlesungsfolien (PDF) |
19.11.2021 | Kontrollstrukturen | Vorlesungsfolien (PDF) |
19.11.2021 | (eigene) Funktionen | Vorlesungsfolien (PDF) |
26.11.2021 | Algorithmus, Module | Vorlesungsfolien (PDF) |
03.12.2021 | Zen of Python, Referenzen, Kopien, mutable default arguments | Vorlesungsfolien (PDF) |
03.12.2021 | Rekursion | Vorlesungsfolien (PDF) |
10.12.2021 | Dateien | Vorlesungsfolien (PDF) |
10.12.2021 | Exceptions, PEP-8 | Vorlesungsfolien (PDF) |
17.12.2021 | String-Formatierung, Logging | Vorlesungsfolien (PDF) |
17.12.2021 | Reguläre Ausdrücke | Vorlesungsfolien (PDF) |
14.01.2022 | Funktionale Programmierung (lambda) | Vorlesungsfolien (PDF) |
14.01.2022 | list/set/dict comprehensions, Generatoren | Vorlesungsfolien (PDF) |
21.01.2022 | Unit-Tests, Pytest | Vorlesungsfolien (PDF) |
21.01.2022 | OOP I | Vorlesungsfolien (PDF) |
28.01.2022 | OOP II (inkl. Vererbung) | Vorlesungsfolien (PDF) |
28.01.2022 | OOP III (Mehrfachvererbung) | Vorlesungsfolien (PDF) |
Weitere Kursinformationen und -materialien sind im Moodle zu finden.
Literatur
- Offizielle Python-Dokumentation unter https://docs.python.org
- Weitere Literatur wird in der Vorlesung bekannt gegeben.