Programmieren I
Kursbeschreibung
Studiengang | Modulkürzel | Leistungs- bewertung |
---|---|---|
BA-2010 | P I | 6 LP |
ÜK | - | 3 LP (nicht für Studierende der Computerlinguistik) |
Dozenten/-innen | Steffen Brinkmann gpg public key |
Mehrdad Moslemi | |
Julian Rodriquez | Veranstaltungsart | Vorlesung/Übung |
Erster Termin | 20.04.2017 |
Zeit und Ort | Di, 16:15–17:45, INF 327 / SR 20 |
Do, 16:15–17:45, INF 328 / SR 25 | |
Tutorien | Di, 18:15–19:45, INF 325 / Computerpool |
Mi, 14:15–15:45, INF 325 / Computerpool | |
Klausur | 13.7.2017, 16.00 s.t., HS2, INF 306 |
Commitment-Frist | 19.06.17 bis 12.07.17 |
Teilnahmevoraussetzungen
Freude am Programmieren (lernen), Grundkenntnisse in Unix (Kommandozeile)
Leistungsnachweis
- Bearbeiten der wöchentlichen Übungsaufgaben
- Bestehen der Abschlussklausur. Zugelassen zur Teilnahme an der Klausur wird nur, wer 80% der Übungsaufgaben entsprechend den festgelegten Anforderungen in Eigenleistung bearbeitet. 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 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.
Kursübersicht
Vorlesungsplan
Datum | Thema | Materialien |
---|---|---|
20.4.2017 | Organisatorisches, Einführung | slides |
25.4.2017 | Typen und Werte | slides |
27.4.2017 | Typen und Werte (Forts.) | Aufgaben |
2.5.2017 | Algorithmen, Funktionen | slides |
4.5.2017 | Funktionen | slides Aufgaben |
9.5.2017 | Kontrollstrukturen | slides |
11.5.2017 | Datenstrukturen | slides Aufgaben |
16.5.2017 | Sequenzen | slides |
18.5.2017 | dictionaries | slides Aufgaben cities1.dat cities2.dat |
23.5.2017 | exceptions | slides |
25.5.2017 | fällt aus wg. Feiertag | |
30.5.2017 | Rekursion | slides |
1.6.2017 | Tuples, List Comprehensions, Command line parameters |
slides Aufgaben |
6.6.2017 | String, Encodings | slides |
8.6.2017 | Module | slides Aufgaben |
13.6.2017 | fällt aus wg. Krankheit | |
15.6.2017 | fällt aus wg. Feiertag | |
20.6.2017 | Klassen | slides Aufgaben baum.py nikolaus.py pyro.py |
22.6.2017 | Reguläre Ausdrücke | slides Aufgaben grammar.py rule.py rules.txt |
27.6.2017 | Algorithmen: Suchen und Sortieren | slides |
29.6.2017 | Vererbung | slides organisatorisches |
4.7.2017 | Vererbung (Forts.) | |
6.7.2017 | Factory functions, lambda, ... | slides |
11.7.2017 | Fragestunde | Probeklausur Beispiele aus der Fragestunde |
13.7.2017 | Klausur | |
18.7.2017 | fällt aus | |
20.7.2017 | Klausurbesprechung, Datenverarbeitung und Visualisierung | slides |
25.7.2017 | Datenverarbeitung und Visualisierung, Webapplikationen | slides |
27.7.2017 | Blick über den Tellerrand | slides wikitranslator.py |
Literatur und Links
- ofizielle Python Dokumentation
- online book: Learn Python the hard way
- Python Cheat Sheets
- Linux Command Line Cheat Sheet
- Jupyter Notebook Cheat Sheet