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 Studierende
der Computerlinguistik)
Dozenten/-innen Danny Rehl
Veranstaltungsart Vorlesung/Übung
Sprache Deutsch
Erster Termin 22.10.2018
Zeit und Ort Montag, 11:15-12:45, INF 328 / SR 25
Mittwoch, 18:15-19:45, INF 328 / SR 25
Commitment-Frist tbd.

Teilnahmevoraussetzungen

  • Grundkenntnisse in Unix (entsprechend der Pool-Einführung)
  • Es sind keine Programmierkenntnisse im Voraus nötig
Für Studierende der Computerlinguistik (mind 25%) ist keine Anmeldung erforderlich. Studierende anderer Fächer und ÜK-Teilnehmer müssen sich per E-Mail zwischen dem 5. und dem 19. Oktober bei der Kursleitung anmelden (rehl@cl.uni-heidelberg.de) --- die Anzahl dieser Studierenden ist auf 8 Personen beschränkt. Es ist keine Anmeldung für Studierende anderer Fächer mehr möglich, da die Plätze bereits vergeben sind.

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

Wochentag Uhrzeit Ort Tutor
Dienstag 11:15 - 12:45 INF 328, SR 17b Catarina Cramer
Mittwoch 09:15 - 10:45 INF 325, SR 24 Benjamin Beilharz
Freitag 16:15 - 17:45 INF 326, SR 28 Jonas Uhrig

Kursübersicht

Seminarplan

Datum Sitzung Materialien
22.10.2018 Organisatorisches, Einführung Folien
24.10.2018 Erste Schritte, Variablen und Datentypen Folien
Übungsblatt 01
29.10.2018 Sequenzielle Datentypen Folien
31.10.2018 Übungsblatt 02
05.11.2018 Weitere Datentypen und Methoden (I) Folien
07.11.2018 Weitere Datentypen und Methoden (II) Übungsblatt 03
exercise-03.py
12.11.2018 Kontrollstrukturen, Funktionen (I) Folien (Updated 14.11.18)
14.11.2018 Kontrollstrukturen, Funktionen (II) Übungsblatt 04
exercise-04.py
19.11.2018 Variablenskopus, Spaghetti-Code, Entpackungoperator Folien
21.11.2018 Module, Zen of Python Folien
Übungsblatt 05
exercise_05.py
26.11.2018 Referenzen, flache und tiefe Kopien Folien
28.11.2018 Rekursion, Tutron Folien
Übungsblatt 06
exercise_06.py
03.12.2018
05.12.2018 Dateien und Exceptions Folien
Übungsblatt 07
exercise_07.py
raw_data.csv
10.12.2018
12.12.2018 Logging, Reguläre Ausdrücke Folien
Übungsblatt 08
exercise_08.py
holy_grail.txt
17.12.2018 Kursevaluation, Reguläre Ausdrücke (kurze Wiederholung), Lambda, list/dict/set comprehensions Folien
19.12.2018 Generatoren, Dekoratoren Folien
Übungsblatt 09 (Update)
exercise_09.py (Update)
24.12.2018 Weihnachtsferien
26.12.2018 Weihnachtsferien
31.12.2018 Weihnachtsferien
02.01.2019 Weihnachtsferien
07.01.2019 OOP I Folien
09.01.2019 OOP II Folien
14.01.2019 Vererbung, Mehrfachvererbung Folien
16.01.2019 Fragestunde (auch gerne vorab als E-Mail) keine Folien
21.01.2019 Klausurtermin INF 327, SR 20
23.01.2019 Besprechung Klausur keine Folien
28.01.2019 Tests, SCRUM (Theorie) Folien
Scrum (Einblick)
Übungsblatt 10
exercise_10.py
30.01.2019 SCRUM (Praxis) keine Folien
04.02.2019 Webentwicklung I keine Folien
06.02.2019 Webentwicklung II GitLab-Repository

Literatur

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

» Wiki-Seite zum Kurs

zum Seitenanfang