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

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 16.10.2023 13:15 Uhr
Zeit und Ort Montag, 10:15–11:45, INF 327 / SR 1
Montag, 13:15–14:45, INF 327 / SR 1
Tutorien Anna Fischer
Zeit: Dienstag, 15:15-16:45
Ort: SR 1, INF 327 ab 17.10.2023

Dana-Cristina Simedrea
Zeit: Donnerstag, 10:15-11:45
Ort: SR 14, INF 306 ab 19.10.2023
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

  • 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
16.10.2023 Organisatorisches, Warum Python, Erstes Herantasten Folien 01
23.10.2023 Variablen, erste Datentypen (Integer, Float, Boolean), Operatoren;
Sequentielle Datentypen (String, List, Tuple)
Folien 02,
Folien 03
30.10.2023 Weitere Datentypen (Dictionary, Sets);
Pair Programming, Datentyp-Methoden, weitere built-in Funktionen
Folien 04,
Folien 05
06.11.2023 Unicode vs. Bytestrings, range() und input(), f-Strings;
Kontrollstrukturen (if, while, for, match case)
Folien 06,
Folien 07
13.11.2023 Funktionen Folien 08
20.11.2023 Algorithmus, Module;
Funktions-Argumentstrukturen, Zen of Python, Referenzen, Kopien
Folien 09,
Folien 10
27.11.2023 Mutable default arguments, Rekursion;
Dateien/IO
Folien 11,
Folien 12
04.12.2023 Exceptions, PEP-8;
Unpacking, Erweitertes String-Formatting
Folien 13,
Folien 14
11.12.2023 Logging, reguläre Ausdrücke;
lambda-Ausdrücke
Folien 15,
Folien 16
18.12.2023 list/dict/set comprehension, Generatoren;
Dekoratoren
Folien 17,
Folien 18
08.01.2024 Tests;
OOP I
Folien 19,
Folien 20
15.01.2024 OOP II, Vererbung;
Mehrfachvererbung
Folien 21,
Folien 22
22.01.2024 Rest Folie 22; Probeklausur -
29.01.2024 fällt krankheitsbedingt aus -
05.02.2024 Klausur (10:00 s.t. - 11:45); Besprechung Klausur, Besprechung Evaluation, Ausblick -

Literatur

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