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 Leistungsbewertung
BA-2010 P I 6 LP
ÜK - 3 LP (nicht für Studierende der Computerlinguistik)


Dozent Danny Rehl
Veranstaltungsart Vorlesung/Übung
Erster Termin 23.04.2018
Zeit und Ort Mo, 18:1519:45, INF 327 / SR 20 (SR)
Di, 18:1519:45, INF 325 / SR 7 (SR, Neu!)
Commitment-Frist tba

Teilnahmevoraussetzungen

- Grundkenntnisse in Unix (entsprechend der Pool-Einführung)

- Es sind keine Programmierkenntnisse im Voraus nötig

Leistungsnachweis

- Bearbeiten der wöchentlichen Übungsaufgaben

- Bestehen der Abschlussklausur. Die erfolgreich bestandene Klausur ist Teil der Orientierungsprüfung.

Inhalt

Ziel dieser Vorlesung ist es, 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 möglichst anhand konkreter (computerlinguistischer) Fragestellungen unter der Einhaltung von Standards und Konventionen zu entwickeln.

Tutoriumstermine

Wochentag Uhrzeit (c. t.) Ort Tutor
Montag 11:00 Uhr - 13:00 Uhr INF 327 SR 6 Julius Unverfehrt
Montag 16:00 Uhr - 18:00 Uhr INF 325 ZIP-Pool Atila Martens
Dienstag 16:00 Uhr - 18:00 Uhr INF 325 SR 24 Steffen Knapp

Kursübersicht

Seminarplan

Datum Sitzung Materialien
23.04.2018 Organisatorisches, Abstimmung Tutoriumstermine und Überblick Folien
24.04.2018 Erste Schritte, Variablen und Datentypen Folien
30.04.2018 Sequentielle Datentypen Folien
Übungsblatt 01
01.05.2018 Tag der Arbeit Samstags gehört Vati mir!
07.05.2018 Weitere Datentypen und Methoden (I) Folien
08.05.2018 Weitere Datentypen und Methoden (II) Übungsblatt 02
exercise-02.py
14.05.2018 Kontrollstrukturen und Funktionen Folien
15.05.2018 Funktionen und Algorithmen Folien
Übungsblatt 03 (Bonus)
21.05.2018 Pfingstmontag Seelische Erholung oder einfach nur Arbeitsruhe
22.05.2018 Module, Zen & Rekursion Folien
Übungsblatt 04
28.05.2018 Rekursion, Kopien vs. Referenzen Folien
29.05.2018 Dateien, Exceptions Folien
Übungsblatt 05
04.06.2018
05.06.2018 Logging Folien
Übungsblatt 06
11.06.2018 Reguläre Ausdrücke Folien
12.06.2018 Hackathon (keine Folien) Übungsblatt 07
Python-Vorlage
Textdatei
18.06.2018 Kursevaluation; OOP, Klassen (I) Folien
19.06.2018 OOP, Klassen (II) Folien
Übungsblatt 08
25.06.2018
26.06.2018 Übungsblatt 09
02.07.2018 Besprechung Evaluationsergebnisse, Vererbung Folien
03.07.2018 Mehrfachvererbung, Abschluss OOP Folien
Vorlesungsskript
Übungsblatt 10 (Letztes, Bonus)
09.07.2018 Abschluss OOP, Beantwortung Last-Minute-Fragen Folien (Übersicht und Fragestellungen ziemlich allgemeiner Art, Vorsicht! Eignet sich nicht unbedingt zum Lernen)
10.07.2018 Klausur
16.07.2018 Besprechung Klausur, Debugging
17.07.2018 List Comprehensions, Lambda, Unit Testing Folien
23.07.2018 SCRUM Workshop I
24.07.2018 SCRUM Workshop II

Literatur

- Offizielle Python-Dokumentation unter https://docs.python.org

- Weitere Literatur wird in der Vorlesung bekannt gegeben.

» weitere Kursmaterialien

zum Seitenanfang