Neuigkeiten
11.10.2024 | Die Klausureinsicht findet am Montag, 14.10.2024 im Raum 010 im Informatik-Gebäude (50.34) statt. Um an der Einsicht teilzunehmen, müssen Sie einen Zeitslot aus dem Buchungspool "Klausureinsicht Nachklausur SS24" im ILIAS-Kurs buchen. Nähere Informationen entnehmen Sie bitte dem zugehörigen Post im ILIAS-Forum. |
20.9.2024 | Falls Sie für eine Arbeitsstelle o.ä. eine 4,0-Bescheinigung benötigen, schreiben Sie bitte (aber nicht vor dem 5.10.) eine kurze diesbezügliche Mail an das Sekretariat und geben Sie Ihren vollen Namen und Ihre Matrikelnummer an. Für eine Ummeldung zum Master zum WS2024/2025 sollten die Noten rechtzeitig eingetragen sein, da die Ummeldung noch bis Ende November erfolgen kann. Sie sollten in diesem Fall keine 4,0-Bescheinigung benötigen. |
9.7.2024 | Die Herbstklausur wird am 27.9. um 11:00 stattfinden. Die Anmeldung ist jetzt geöffnet und läuft bis zum 25.9., abgemeldet werden kann sich bis zum 26.9. und dann vor Ort. Die Klausur wird die letzte sein, bei welcher der Modus und die Inhalte denen der Vorlesung von Prof. Snelting entsprechen. |
16.4.2024 | Die Klausureinsicht findet am Freitag, 19.04.2024, von 8:00 bis 9:30 im Hörsaal -101 im Informatik-Gebäude (50.34) statt, bitte seien Sie pünktlich. Vorläufige Ergebnisse werden noch im Laufe des Tages im Campus-System veröffentlicht. Den Notenschlüssel zur Klausur finden Sie hier (Lehramt: hier). |
28.3.2024 | Falls Sie für eine Arbeitsstelle o.ä. eine 4,0-Bescheinigung benötigen, schreiben Sie bitte (aber nicht vor dem 15.4.) eine kurze diesbezügliche Mail an das Sekretariat und geben Sie Ihren vollen Namen und Ihre Matrikelnummer an. Sollten Sie Probleme mit Fristen bekommen, kommen Sie bitte zu Prof. Snelting in die Sprechstunde. Für eine Ummeldung zum Master zum SS2024 sollten die Noten rechtzeitig eingetragen sein, da die Ummeldung noch bis Ende Mai erfolgen kann. Sie sollten in diesem Fall keine 4,0-Bescheinigung benötigen. |
20.03.2024 |
Studierende, die sich mit einer 4,0-Bescheinigung in TGI für die Klausur anmelden wollen, wenden sich bitte an das ISS. |
08.03.2024 |
Am 20.3. um 14:00 Uhr findet im Hörsaal -101 des Informatikgebäudes (50.34) eine Fragestunde zum Stoff der Vorlesung und zur Klausur statt. Fragen können auch vorher gerne an Sebastian Graf oder Jakob von Raumer gesendet werden. |
08.01.2024 |
Am 11.01. fällt die Übung aus. |
14.11.2023 |
Am 17.11. fällt die Vorlesung aus. |
23.10.2023 |
Wegen Kollision mit "Grundlagen der künstlichen Intelligenz" wurde der wöchentliche Übungstermin auf Donnerstags, 14:00 im Messtechnik-Hörsaal verschoben. Außerdem wurden Termine für Online-Tutorien angekündigt. Die erste Übung findet am 2.11. statt. |
Inhalt
In den Übungen werden die Themen der Vorlesung Programmierparadigmen wiederholt und vertieft. Weiterhin werden die Übungsaufgaben vorgestellt und die Lösungen besprochen.Material
Das Vorlesungs- und Übungsmaterial darf ausschließlich zu Zwecken genutzt werden, die in direktem Zusammenhang mit der Veranstaltung Programmierparadigmen stehen. Insbesondere die Weitergabe des hier zur Verfügung gestellten Materials an Dritte ist nicht gestattet. Foliensätze, Übungsblätter und hier veröffentlichter Quell-Code unterliegen dem Copyright des Lehrstuhls Programmierparadigmen (IPD Snelting).
Das Material kann nur aus dem Uni-Netz heruntergeladen werden. Verwenden Sie bitte den VPN-Client des SCC, falls Sie von außerhalb Zugriff benötigen.
Bearbeitung der Übungsaufgaben
Die Bearbeitung der Übungsaufgaben ist keine Voraussetzung für die Teilnahme an der Klausur. Wir empfehlen Ihnen trotzdem sehr, die Übungsaufgaben selbstständig zu bearbeiten und regelmäßig an den Übungen teilzunehmen. Insbesondere empfehlen wir, selbst am eigenen Rechner mit den vorgestellten Programmiersprachen zu experimentieren und eigene Programme zu schreiben!
Haskell-Lösungen können in unserer Praktomat-Instanz abgegeben werden, wo sie eine Reihe von Tests durchlaufen.
Forum
Für Fragen, Hilfe und Gedankenaustausch zur Übung oder den Übungsaufgaben steht das ILIAS zur Verfügung.
Termine
Die Saalübung findet wöchentlich am Donnerstag im Messtechnik-Hörsaal statt.
Zusätzlich wird es zur Vertiefung zwei optionale Online-Tutorien geben, die von unserem Tutor Maxim Besser über Zoom gehalten werden.
Veranstaltung | Tag | Uhrzeit | Ort |
---|---|---|---|
Online-Tutorium | Dienstags | 14:00-15:30 | Zoom-Link im ILIAS-Forum |
Online-Tutorium | Donnerstags | 9:45-11:15 | Zoom-Link im ILIAS-Forum |
Saalübung | Donnerstags | 14:00-15:30 | Messtechnik-Hörsaal |
Haskell
Zum Experimentieren und zur Bearbeitung der Übungsaufgaben zum Thema funktionale Programmierung benötigen Sie eine Haskell Programmierumgebung. Wir empfehlen dazu die Installation von
Mit GHCup können Sie neben einem Compiler (GHC) (inklusive Interpreter GHCi) auch den Haskell Language Server und das Build-Tool cabal herunterladen. Falls Sie Ihre Haskell-Programme nicht in einem einfachen Texteditor schreiben wollen, empfiehlt sich VS Code mit dem Haskell Language Server.
Auf den Rechnern im ATIS-Rechnerpool ist ebenfalls eine (veraltete) Installation in Form der Haskell Platform verfügbar.
Eine Web-IDE für Haskell gibt es auf Replit.
LambdaBubblePop ist eine nette, interaktive Alternative zu ghc-vis für ein Untermenge von Haskell, bei der man die Auswertungreihenfolge per Klick auf ein Redex beeinflussen kann.
Neben der in der Vorlesung empfohlenen Literatur weisen wir auch auf folgende Online-Einführungen hin:
- O'Sullivan,Stewart,Goerzen Real World Haskell
- Allen,Moronuki Haskell Programming from First Principles
- Bird Thinking Functionally with Haskell
λ-Kalkül
Zum Ausprobieren können Sie die aus PSE entstandene Web-IDE verwenden:
Oder einen der zahlreichen anderen Web-Interpreter:
- lambda [Tobias Kahlert, auf github]
- LambdaCalculus2 [Henning Dieterichs, auf github]
- Alligator Eggs Calculator [Takashi Yamamiya, auf github]
Typinferenz
Um die Typinferenz nachvollziehbarer zu machen, hat ein PSE-Team ein Tool zur Visualisierung erstellt:
Feedback und Kontakt zu den Autoren gerne über gitlab.
Prolog
Zur Bearbeitung der Übungsaufgaben zum Thema logische Programmierung benötigen Sie eine Prolog-Programmierumgebung. Zum Einstieg reicht hierfür eine Web-IDE:
Ebenfalls im Rahmen von PSE entstanden sind zwei Prolog-Interpreter, welche die in der Vorlesung vorgestellten Ausführungsbäume anzeigen können:
Gängige Prolog-Implementierungen, jeweils verfügbar für Linux/Windows/MacOS X, sind:
Neben einem normalen Texteditor gibt es zur Bearbeitung von Prolog-Programmen u.A.
- den SWI-Prolog Editor (Windows)
- das Eclipse Plugin Prolog Development Tool
Als zusätzliche Lernmaterialien empfehlen wir folgende Online-Einführung:
- Patrick Blackburn, Johan Bos, Kristina Striegnitz Learn Prolog Now!
Hiervon existiert auch eine Variante mit integrierter Web-IDE für Beispiele und Übungsaufgaben.
Akka
Um Akka-Aktoren in Java zu verwenden, müssen Teile der Akka-Bibliothek in den Classpath eingebunden werden. Die Bibliothek wird über Maven Central bereitgestellt, weshalb der einfachste Weg die Verwendung eines Maven-Projektes mit der passenden Dependency ist:
- GroupId: com.typesafe.akka
- ArtifactId: akka-actor_2.11
- Version: 2.5.19
Hinweis: Verwenden Sie Akka mindestens in der Version 2.5.x. Die Versionen 2.4.x und früher haben eine andere API, die zwar (teilweise) noch vorhanden ist, aber als deprecated deklariert wurde.
Compiler
Ein Verfahren zur systematischen Berechnung von First1 und Follow1 Mengen wird z.B. hier gezeigt (Implementierung in Haskell). Online ausprobieren können Sie z.B.- Grammophone, ein Tool zur Analyse und Transformation von Grammatiken.
- Eine Implementierung von Hacking Off
Veranstalter
Wissenschaftliche Mitarbeiter |
---|
Dr. Jakob von Raumer |
Sebastian Graf |
Tutoren |
---|
Maxim Besser |