Ruprecht-Karls-Universität Heidelberg
Institut für Computerlinguistik

Bilder vom Neuenheimer Feld, Heidelberg und der Universität Heidelberg

Programmieren I

Plot Notenverteilung Klausur

Kursbeschreibung

Studiengang Modulkürzel Leistungs-
bewertung
BA-2010 P I 6 LP
ÜK - 3 LP (nicht für CL)
Dozent Danny Rehl
Veranstaltungsart Vorlesung / Übung
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.
zum Seitenanfang