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

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

Programmieren I

Plot Notenverteilung Klausur

Ankündigungen

  • Erstmalig wird das Konzept flipped classroom umgesetzt werden. Mehr Informationen gibt es hierzu in der ersten traditionellen Vorlesungsstunde, die vor allem Organisatorisches beinhaltet.
  • Bitte schreiben Sie sich in den Moodle-Kurs ein.

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.10.2022
Zeit und Ort Mittwoch, 10:15–14:45
INF 328, SR 25 (inkl. Mittagspause)
Tutorien Dana-Cristina Simedrea

Zeit: ab 28.10 Freitags 15:15 – 16:45
Ort: INF 325 SR 24

Dominik Grosse
Zeit: Montag, 10:15–11:45
Ort: INF 325, CIP-Pool
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

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)
  • 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.

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.10.2022 Organisatorisches; Warum Python; Erstes Herantasten; Datentypen und Variablen Folien 01, Folien 02
26.10.2022 Sequentielle Datentypen (str, list, tuple); dict; set; Zusammenfassung Folien 03, Folien 04
02.11.2022 Tipps & Tricks (inkl. Pair-Programming); Methoden; mehr zu Operatoren und built-in-Funktionen; Präzedenztabelle; Unicode- vs. Bytestring; Format-Strings Folien 05, Folien 06
09.11.2022 Kontrollstrukturen; Funktionen Folien 07, Folien 08
16.11.2022 Funktionen (Rest); Algorithmus; Modularisierung; Zen; Referenzen; Kopien Folien 09, Folien 10
23.11.2022 Mutable default arguments; Rekursion; Dateien Folien 11, Folien 12
30.11.2022 Exceptions; PEP-008; String-Formatting; Logging Folien 13, Folien 14
07.12.2022 Reguläre Ausdrücke; lambda, map, filter, reduce Folien 15, Folien 16
14.12.2022 list/dict/set comprehension; Generatoren; Dekoratoren Folien 17, Folien 18
21.12.2022 Tests; Testen mit Pytest; Objektorientierte Programmierung (Teil 1) Folien 19, Folien 20
11.01.2023 Objektorientierte Programmierung (Teil 2); Mehrfachvererbung Folien 21, Folien 22
18.01.2023 Fragen & Projekt
25.01.2023 Fragen & Projekt
01.02.2023 Fragestunde
Klausur, INF 306, SR 19 (1. OG)
10 - 12 Uhr
13 - 15 Uhr
08.02.2023 - -
15.02.2023 Klausureinsicht, -besprechung 11:00 Uhr s. t.

Literatur

  • Offizielle Python-Dokumentation unter https://docs.python.org
  • Weitere Literatur wird in der Vorlesung bekannt gegeben.
zum Seitenanfang