Ruprecht-Karls-Universität Heidelberg
Institut für Computerlinguistik

Bilder vom Neuenheimer Feld, Heidelberg und der Universität Heidelberg

Programmieren I

Kursbeschreibung

Studiengang Modulkürzel Leistungs-
bewertung
BA-2010 P I 6 LP
NBA P I 6 LP
ABA B02 6 LP
Magister - -
ÜK - 3 LP
Dozenten/-innen Matthias Hartung
Veranstaltungsart Vorlesung/Übung
Veranstaltungsbeginn 19.10.2010
Zeit und Ort Di, 14:1515:45, INF 306 / SR 14 (SR)
  Do, 14:1515:45, INF 306 / SR 13 (SR)

Leistungsnachweis

Bearbeiten der wöchentlichen Übungsaufgaben, Bestehen der Abschlussklausur. 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 objektorientieren, interpretierten Sprache Python, die mit einem einfachen Objektmodell, guter Unterstützung der Modularisierung und einer reichen Bibliothek einen raschen Zugang zu modernen Programmiertechniken und zudem weitgehende Plattformunabhängigkeit bietet. Dabei wird versucht, den Stoff möglichst anhand konkreter (computerlinguistischer) Fragestellungen zu entwickeln.

Themen:

  • Programmierung als Problemlösen
  • Werte, Typen, Variablen
  • Funktionen
  • Kontrollstrukturen
  • Sequenzen
  • Dictionaries
  • Datei- und Prozessmanagement
  • Klassen und Objekte
  • Ausblick auf funktionales Programmieren
  • Reguläre Ausdrücke
  • XML-Behandlung in Python

Kursübersicht

Seminarplan

Datum Sitzung Materialien
19.10. Einführung, Organisatorisches Folien
21.10. Algorithmisches Problemlösen, Kontrollstrukturen Folien
26.10. Werte, Variablen, Datentypen Folien
28.10. Funktionen Folien
04.11. Strings; Implementierung von Kontrollstrukturen Folien (Update: 09.11.)
16.11. Sequenzen als Datenstrukturen; Iteration Folien (Update: 23.11.)
23.11. Übung: Listen, Iteration regal.py
25.11. Dictionaries Folien (Update: 30.11.)
02.12. String-Formatierung, Escape-Sequenzen, Encodings Folien (Update: 07.12.)
09.12. Module, Unit Testing Folien
14.12. Datei- und Prozessmanagement Folien (Update: 16.12.)
16.12. Rekursion; Umgang mit Phrasenstrukturgrammatiken Folien (Update: 21.12.)
11.01. Tupel revisited, List Comprehensions Folien
18.01. Einstieg in die objekt-orientierte Programmierung Folien
20.01. Vererbung, Introspektion Folien
01.02. Reguläre Ausdrücke Folien
03.02. Funktionalobjekte und -argumente; "Loose Ends" Folien

Nachklausur

Am Dienstag, 12.04., 14-16 Uhr findet in INF 327, SR 3, eine Nachklausur statt. An der Nachklausur können alle Studierenden teilnehmen, die die erste Klausur nicht bestanden haben. Beachtet, daß für die Teilnahme an der Nachklausur ein neues Commitment erforderlich ist ! Als Hilfsmittel zugelassen ist je Teilnehmer/in ein beliebig beschriebenes DIN A4-Blatt. Weitere Hilfsmittel sind nicht zugelassen.

Aufgaben

Aufgabenblätter werden wöchentlich, immer dienstags nach der Vorlesung, an dieser Stelle veröffentlicht. Abgabe Eurer Lösungen bitte bis Dienstag abend der Folgewoche, und zwar per Mail an prog1@cl... Lösungen zur ersten Aufgabe können ausnahmsweise auch auf Papier eingereicht werden.

Betreffzeile bei Abgabe per Mail bitte nach folgendem Schema: [Prog1] Blatt X Nachname Matr.Nr.

Hier geht's zum Tutorium

zum Seitenanfang