Angewandtes Programmieren in der Computerlinguistik
Sommersemester 2024
Dozent: Helmut Schmid
Kursinhalt
Am Beispiel ausgewählter computerlinguistischer Aufgabenstellungen erhalten die
Studierenden die Möglichkeit, ihre praktischen Python-Programmierkenntnisse zu vertiefen.
Sie werden in jeder Woche eine Programmieraufgabe selbständig
lösen. Die neue Aufgabe wird jeweils in der Vorlesung vorgestellt
und besprochen. Die Übungen finden im Rechnerpool statt. Dort
können Sie an Ihrer Lösung für die gestellte Aufgabe arbeiten und
sich bei Fragen und Problemen an mich wenden.
Die einzelnen Aufgaben und den jeweiligen Abgabetermin
finden Sie unten. Sie können die Aufgaben in Gruppen von bis zu 3
Studierenden bearbeiten und gemeinsam abgeben. Nach der Abgabe
erhalten Sie von mir eine Email mit Kommentaren zu Ihrer
Lösung. Es gibt pro Übung maximal 10 Punkte. Die Punkte kann ich
Ihnen nicht mitteilen, da sonst für Bachelorstudierende nach
Erreichen der Mindestpunktezahl kein Anreiz mehr besteht, weitere
Übungen zu bearbeiten.
Nicht jeder meiner Kommentare zu Ihrer Abgabe bedeutet einen
Punkteabzug. Manche sind auch nur ein Hinweis, wie Sie Ihren
Code noch lesbarer oder effizienter machen können.
Wenn Sie außerhalb der Übungen Fragen stellen möchten, können Sie
das über das Moodle-Forum zu dem Kurs tun. Dazu sollten Sie sich
in Moodle zu dem Kurs anmelden.
Achtung: Wenn Sie diesen Kurs bereits im Bachelorstudium
besucht haben, dürfen Sie ihn im Masterstudium nicht noch einmal
besuchen.
Termine
- Vorlesung
| Dienstag | 10 - 12 Uhr c.t. | in Raum 057 |
- Übungen
| Mittwoch | 10 - 12 Uhr c.t. | im Rechnerpool Antarktis |
Programmierübungen
Übung | Beschreibung | Termin | Abgabe bis |
Hinweise |
Übung
1 | Anagramm-Erkennung und Kompositazerlegung | 16. 4. 2023 | 22. 4. 2023 |
|
Übung 2 | Parsen mit rekursivem Abstieg | 23. 4. 2023 | 29. 4. 2023 |
|
Übung 3 | Verfeinerung von Parsebaumannotationen | 30. 4. 2023 | 6. 5. 2023 |
|
Übung 4 | Earley-Parser und Profiling | 7. 5. 2023 | 13. 5. 2023 |
|
Übung 5 | Buchstaben-Bäume
| 14. 5. 2023 | 27. 5. 2023 |
|
Übung 6 | Minimierung endlicher Automaten | 28. 5. 2023 | 3. 6. 2023 |
|
Übung 7 | Levenshtein-Abstand
| 4. 6. 2023 | 10. 6. 2023 |
|
Übung 8 | Transliteration Mining | 11. 6. 2023 | |
|
| Transliteration Mining | 18. 6. 2023 | 24. 6. 2023 |
|
Übung 9 | LSTM-Wortart-Tagger Teil 1 | 25. 6. 2023 | 1. 7. 2023 |
|
Übung 10 | LSTM-Wortart-Tagger Teil 2 | 2. 7. 2023 | 8. 7. 2023 |
|
Übung 11 | LSTM-Wortart-Tagger Teil 3 | 9. 7. 2023 | 15. 7. 2023 |
|
Pro Übung gibt es maximal 10 Punkte. Übung 8 wird doppelt
gewichtet. Es werden nur die 10 besten Abgaben gewertet (wobei hier
Übung 8 als zwei Abgaben zählt).
Es dürfen nur die Standardbibliotheken (math, collections etc.)
verwendet werden, sofern in der Aufgabe nicht explizit mehr erlaubt
wird. Fragen Sie im Zweifelsfall nach, bevor Sie eine Bibliothek
benutzen.
Ein gutes Programm erfüllt die gestellte Aufgabe korrekt und effizient. Es ist kurz,
gut lesbar und überall dort dokumentiert, wo es für das Verständnis des Codes
wichtig ist. Variablen und Funktionen sollten aussagekräftige Namen
besitzen. Redundanz im Code ist zu vermeiden. Der Code sollte sinnvoll
strukturiert sein.
Bitte schicken Sie Ihre Lösungen per E-Mail-Anhang an schmid@cis.lmu.de.
Modulprüfung
Zum Bestehen des Kurses sind bei Bachelorstudierenden mindestens 40 Prozent der
möglichen Gesamtpunktezahl aus den Programmieraufgaben erforderlich
und bei Masterstudierenden 50 Prozent.
Begleitmaterial
|