CL-Programmierung I: Python (WiSe 2017/18)

Im Bachelorstudiengang Computerlinguistik an der Uni Düsseldorf.
Eckdaten
- Dozent: Dr. Kilian Evang <evang@hhu.de>
- Co-Dozentin: Esther Seyffarth, M.A.
- Vorlesungen: Di. 14:30–16:00, Raum 24.21.03.62-64 (PC-Pool)
- Übungen: Mi. 14:30–16:00, Raum 24.21.03.62-64 (PC-Pool)
bzw. 24.21.00.90 (für Teilnehmer/innen mit eigenem Laptop) - Sprechstunde: Mi. 16:30–18:00 oder nach Vereinbarung, Raum 24.53.00.85
Hinweise zum PC-Pool
- Allgemeine Informationen hier.
- Beim Starten des PCs bitte Ubuntu als Betriebssystem auswählen. Weitere Informationen zu Ubuntu hier.
- Achtung: Die PCs werden bei jedem Neustart automatisch in den Ursprungszustand versetzt und gespeicherte Daten gehen verloren. Bitte sichern Sie immer alle Ihre Daten auf USB-Sticks, in der Cloud o.Ä.
- Bitte den PC nach Benutzung herunterfahren. So vermeiden Sie, dass Ihre persönlichen Daten (Browserverlauf, Cookies etc.) auf dem PC zurückbleiben.
- Wenn Sie das Betriebssystem Ubuntu auf Ihrem Laptop nutzen möchten, können Sie es z.B. als Virtuelle Maschine installieren. Hier finden Sie eine Anleitung.
Hinweise zum Beteiligungsnachweis
- Es werden (fast) jede Woche Aufgaben gestellt, die zu bearbeiten sind.
- Es handelt sich meistens um eine Programmieraufgabe. Textaufgaben o.Ä. können aber auch vorkommen.
- Beim Bearbeiten der Aufgaben dürfen Sie sich mit Ihren Kommiliton/inn/en austauschen. Jede/r Teilnehmer/in muss jedoch eine eigene funktionierende Lösung erstellen.
- Zwecks Beteiligungsnachweis muss jede/r Teilnehmer/in seine/ihre funktionierende Lösung persönlich während der Übungssitzung derselben oder der folgenden Woche vorzeigen. Der/die Dozent/in vermerkt das dann.
- Wenn Sie eine Frist versäumen, kommen Sie bitte so bald wie möglich in die Sprechstunde, damit wir eine Lösung finden können.
Lernziele
Theorie: Die Teilnehmer/innen lernen,
- welche Rolle Programmierung in der Computerlinguistik spielt, welche Arten von Daten Computerlinguist/inn/en verarbeiten müssen und welch Arten von Programmen sie schreiben müssen.
- die Grundzüge der Geschichte und der Prinzipien der Unix-Programmierumgebung. Angesichts der heutigen Vielzahl von Programmiersprachen und Entwicklungsumgebungen spielt diese Umgebung aufgrund ihrer Allgegenwärtigkeit und als verbindendes Element eine Schlüsselrolle für zukünftiges Selbststudium und beim Verstehen existierender Software.
- Grundbegriffe des Programmierens wie Werte, Typen, Ausdrücke, Operatoren, Kontrollstrukturen, Funktionen, Objekte etc. Wir gehen hier nicht zu sehr in die Tiefe, definieren aber alle Begriffe sorgfältig, sodass der Weg für ein zukünftiges Eintauchen in tiefere Schichten der Materie frei ist. Wir benutzen hier intensiv die Programmiersprache Python 3 als Anschauungsmaterial, die sich aufgrund ihrer einsteiger/innenfreundlichen Abstraktionsebene sehr gut eignet.
Praxis: Die Teilnehmer/innen lernen,
- mit der Kommandozeile und der Unix-Programmierumgebung umzugehen. Wie in der Theorie hat das auch in der späteren Praxis eine Schlüsselfunktion.
- einfache bis mittelkomplexe Programme in Python zu schreiben, die nicht nur funktionieren, sondern auch gut lesbar und wartbar sind.
- insbesondere den Umgang mit rohen und annotierten Sprachdaten. So werden sie schnell in die Lage versetzt, den Computer als Werkzeug bei linguistischer Forschung (und beim Spielen mit Sprache) einzusetzen.
Zeitplan
Bitte zeigen Sie die Aufgaben in derselben oder in der nächsten Übungssitzung vor.
Weitere Ressourcen
Zum Selbststudium und für weitere Übungen stehen im Internet und in Lehrbüchern viele Materialien zur Verfügung. Hier ein paar Links:
- Python für Linguisten (Kurs mit Aufgaben und Musterlösungen)
- Python-Kurs (frei zugänglich)
- Learn to Program: The Fundamentals (Einschreibung erforderlich)
- Python Programming: An Introduction to Computer Science (Lehrbuch)
- Python 3 Documentation (die offizielle Dokumentation zu Python)