Programmieren I
Ankündigungen
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 | 14.10.2024 10:15 Uhr |
Zeit und Ort |
Montag, 10:15 - 11:45; INF 328, SR 25 Montag, 13:15 - 14:45; INF 328, SR 25 |
Tutorien |
Aaron Henning Zeit und Ort: siehe Moodle |
Louis Müller Zeit und Ort: siehe Moodle |
|
Commitment-Frist | Wird per E-Mail institutsweit bekanntgegeben, vermutlich ein paar Tage/Wochen vor Vorlesungsende. |
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
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
3 ECTS
- Bearbeiten der wöchentlichen Übungsaufgaben
- Bestehen der Übungsaufgaben mit mind. Note 4,0
6 ECTS
- Bearbeiten der wöchentlichen Übungsaufgaben
- Prüfungszulassung erreichen (80 % der Übungsaufgaben)
- Bestehen der Abschlussprüfung (Klausur)
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.
Voraussichtlicher Kursplan
Datum | Sitzung | Materialien |
---|---|---|
14.10.2024 |
Organisatorisches, Warum Python, Erstes Herantasten; Datentypen, Variablen; Operatoren; Hilfe |
Folien 01
Folien 02 |
21.10.2024 |
Sequentielle Datentypen (Strings, Listen, Tupel); Weitere Datentypen (Dict, Set, Frozenset) |
Folien 03
Folien 04 |
28.10.2024 |
Pair-Programming, Methoden, Weitere built-in Funktionen; Weitere Funktionen, F-Strings, Kontrollstrukturen |
Folien 05
Folien 06 |
04.11.2024 |
Kontrollstrukturen (Fortsetzung), Funktionen; Algorithmus |
Folien 07
Folien 08 |
11.11.2024 |
Module, Mutable Default Arguments; Zen of Python, Referenzen, shallow/deep copies |
Folien 09
Folien 10 |
18.11.2024 |
Rekursion, Dateien; Exceptions, PEP-8 |
Folien 11
Folien 12 |
25.11.2024 | Unpacking, (Advanced) String-Formatting | |
02.12.2024 |
Logging, reguläre Ausdrücke; Anonyme Funktionen (lambda), map/filter/reduce |
|
09.12.2024 |
list/set/dict comprehensions, Generatoren/Iteratoren; Dekoratoren |
|
16.12.2024 |
Kursevaluation, Tests (Pytest); Objektorientierte Programmierung (OOP) I |
|
13.01.2025 |
Objektorientierte Programmierung (OOP) II, Vererbung; Mehrfachvererbung |
|
20.01.2025 | Puffer/Weitere Themen | |
27.01.2025 |
Wiederholung/Fragestunde; Klausur 13:00 Uhr c. t. |
|
03.02.2025 | Weitere Themen: tbd |
Literatur
- Offizielle Python-Dokumentation unter https://docs.python.org
- Weitere Literatur wird in der Vorlesung bekannt gegeben.