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 21.10.2019
Zeit und Ort Mo., 11:15-12:45, INF 328 / SR 25
Do., 16:15-17:45, INF 328 / SR 25
Commitment-Frist tbd.

Fachliche Voraussetzungen

  • Grundkenntnisse in Unix (entsprechend der Pool-Einführung)
  • Es sind keine Programmierkenntnisse im Voraus nötig

Teilnehmerkreis

Für Studierende der Computerlinguistik (mind. 25 %). Bachelor-Studierende anderer Fächer können den Kurs im Rahmen einer ÜK-Veranstaltung für 3 LP besuchen.

Leistungsnachweis

Bearbeiten der wöchentlichen Übungsaufgaben. Klausurzulassung erreichen. Bestehen der Abschlussklausur. Hinweis: Die erfolgreich bestandene Klausur 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.

Tutoriumstermine

MITTEILUNG: Am Mittwoch den 8.01.20 findet das Tutorat (Julius) nicht statt, da es keine Vorlesung oder Übungsblattabgabe gab. Wir werden im Tutorat der folgenden Woche ggf. einen zusätzlichen Termin vereinbaren, falls notwendig um beide Blätter zu besprechen!

Tutor Zeit Raum Erster Termin
Julian Dienstag, 18:15 - 19:45 Uhr (s. t.) INF 346, SR 10 29.10.2019
Julius Mittwoch, 14:15 - 15:45 Uhr (s. t.) INF 327, SR 2 30.10.2019
Jonas Freitag, 14:00 - 15:30 Uhr (s. t.) INF 346, SR 10 25.10.2019

An Feiertagen und in den Ferien findet selbstverständlich kein Tutorium statt.

Kursübersicht

Seminarplan

Datum Sitzung Materialien
21.10.19 Orga, Überblick Vorlesungsfolien (PDF), Übungsblatt 00 (PDF)
24.10.19 Starthilfe, Variablen, erste Datentypen Vorlesungsfolien (PDF)
28.10.19 Weitere Datentypen I Vorlesungsfolien (PDF)
31.10.19 Weitere Datentypen II Vorlesungsfolien (PDF), Tutron-Handbuch (PDF), Übungsblatt 01 (PDF)
04.11.19 Methoden auf Datentypen, Mehr Operatoren, Tipps Vorlesungsfolien (PDF)
07.11.19 Unicode/Bytestring, range/input/str.format, Geschichte, Erste Kontrollstrukturen Vorlesungsfolien (PDF), Übungsblatt 02 (PDF), Vorlage 02 (PY)
11.11.19 Funktionen Vorlesungsfolien (PDF)
14.11.19 Module, Zen Of Python, Pair-Programming Vorlesungsfolien (PDF), Übungsblatt 03 (PDF), Vorlage 03 (PY)
18.11.19 Referenzen vs. Kopien, Mutable Default Arguments Vorlesungsfolien (PDF)
21.11.19 Rekursion Vorlesungsfolien (PDF), Übungsblatt 04 (PDF), Vorlage 04 (PY)
25.11.19 Klimastreik-Woche Folien (PDF) | Flyer (PDF).
28.11.19 Klimastreik-Woche Folien (PDF) | Flyer (PDF), Übungsblatt 05 (PDF), Vorlage 05 (PY)
02.12.19 Dateien, Exceptions, PEP-8 Vorlesungsfolien (PDF)
05.12.19 String-Formatting, Advanced printing, Logging Vorlesungsfolien (PDF), Übungsblatt 06 (PDF), Vorlage 06 (PY), Beispieldaten 06 (CSV)
09.12.19 Kursevaluation, Reguläre Ausdrücke Vorlesungsfolien (PDF)
12.12.19 lambda-Ausdrücke, list/dict/set comprehensions Vorlesungsfolien (PDF), Übungsblatt 07 (PDF), Vorlage 07 (PY)
16.12.19 Generatoren, Dekoratoren Vorlesungsfolien (PDF)
19.12.19 Tests (Pytest und Unittests) Vorlesungsfolien (PDF), Übungsblatt 08 (PDF), Vorlage 08 (PY), Bonus-Übungsblatt 09 (PDF), Vorlage 09 (PY)
23.12.19 fällt aus (Winterferien)
26.12.19 fällt aus (Winterferien)
30.12.19 fällt aus (Winterferien)
02.01.20 fällt aus (Winterferien)
06.01.20 fällt aus (Feiertag)
09.01.20 Objektorientierte Programmierung (OOP) I Vorlesungsfolien (PDF), Übungsblatt 10 (PDF)
13.01.20 Objektorientierte Programmierung (OOP) II Vorlesungsfolien (PDF)
16.01.20 (Mehrfach-)Vererbung, MRO Vorlesungsfolien (PDF)
20.01.20 Wiederholung, allgemeine Fragerunde
21.01.20 ENDE DER COMMITMENT-FRIST
23.01.20 Klausur 16:00 -- 18:00 Uhr, INF 327 SR 20
27.01.20 Klausurbesprechung, Klausureinsicht
30.01.20, 16:00 s. t. Agile Entwicklungsmethoden: SCRUM - Theorie & Workshop SCRUM Einführung - Theorie (PDF), SCRUM Einführung - Praxis (PDF)
03.02.20 Einführung in die Webentwicklung: Grundlagen fällt aus
06.02.20 Einführung in die Webentwicklung: Workshop mit Flask fällt aus

Literatur

zum Seitenanfang