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 | 19.04.2023 |
Zeit und Ort |
Mittwoch, 10:15–14:45 INF 306, SR 13 (inkl. Mittagspause) |
Tutorien |
Dana-Cristina Simedrea Zeit: Montags, 13:15-14:45 (ab dem 24.04.2023) Ort: SR 24, INF 325 Dominik Grosse Zeit: Donnerstag, 13:15-14:45 (ab dem 20.04.2023) Ort: SR26, INF 329 |
Commitment-Frist | tba |
Teilnehmerkreis
- Für Studierende der Computerlinguistik (ab 25 %) für 6 ECTS
- Bachelor-Studierende anderer Fächer als ÜK-Veranstaltung für 3 ECTS
- Andere Studierende sind nur für die hörende Teilnahme zugelassen
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)
- Bestehen der Übungsaufgaben mit mind. Note 4,0 (nur bei 3 ECTS)
Hinweis für Computerlinguist*innen (gilt nicht für ÜK/3 ECTS): Die erfolgreich bestandene Prüfung ist Teil der Orientierungsprüfung.
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.
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 |
---|---|---|
19.04.2023 | Organisatorisches; Warum Python; Erstes Herantasten; Datentypen und Variablen | Folien 01, Folien 02 |
26.04.2023 | Weitere Datentypen: Sequenzen (string, list, tuple), sowie Dictionaries, Sets und Frozensets | Folien 03, Folien 04 |
03.05.2023 | Tipps zu Pair-Programming, Methoden der Datentypen, mehr Funktionen und Operatoren; Weitere Tipps, Präzedenztabelle, Unicode- vs. Bytestring, range() und input(), f-strings | Folien 05, Folien 06 |
10.05.2023 | Kontrollstrukturen (if, while, for, match); Funktionen | Folien 07, Folien 08 |
17.05.2023 | Algorithmen, Namensräume und Module; Zen of Python, Referenzen und Kopien | Folien 09, Folien 10 |
24.05.2023 | Mutable default Argumente und Rekursion; Dateien | Folien 11, Folien 12 |
31.05.2023 | Exceptions, PEP-8; Unpacking, Erweitertes String-Formatting | Folien 13, Folien 14 |
07.06.2023 | Logging, reguläre Ausdrücke; Anonyme Funktionen (lambda), Funktionale Programmierung (map, filter, reduce) | Folien 15, Folien 16 |
14.06.2023 | Kursevaluation; list/dict/set comprehensions, Generatoren | Folien 17 |
21.06.2023 | Dekoratoren; Tests | Folien 18, Folien 19 |
28.06.2023 | Vorbereitungsfragen/Quiz/Résumé; Fragenrunde | Quiz |
05.07.2023 | OOP I | Folien 20, Folien 21 (bis Folie 8) |
12.07.2023 | OOP II | Folien 21 (ab Folie 9), Folien 22 |
19.07.2023 | Prüfung/Klausur (INF 306, SR 13) | 10:00 - 12.00 |
26.07.2023 | Besprechung der Evaluation; Projekte aufsetzen (venv/poetry/git) |
Literatur
- Offizielle Python-Dokumentation unter https://docs.python.org
- Weitere Literatur wird in der Vorlesung bekannt gegeben.