Ruprecht-Karls-Universität Heidelberg
Bilder vom Neuenheimer Feld, Heidelberg und der Universität Heidelberg

Programmieren I

Ankündigungen

  • Am Donnerstag, den 30. Januar, starten wir bereits um 16:00 Uhr (s. t.) mit dem Thema SCRUM.
  • Die Klausuren sind korrigiert und die Noten im LSF verfügbar. Die Klausuren können im Sekretariat eingesehen werden. Außerdem liegen die Scheine zur Abholung im Sekretariat bereit. Bitte beachten Sie die Öffnungszeiten.
  • Derzeit ist es noch unklar, ob das Thema "Webprogramming" durchgeführt werden kann. Bitte schaut hierzu regelmäßig auf diese Kursseite.

Notenverteilung Wintersemester 2019

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
03.02.20 Einführung in die Webentwicklung: Grundlagen
06.02.20 Einführung in die Webentwicklung: Workshop mit Flask

Literatur

zum Seitenanfang