Lade Daten...
iLearn
Cau-siegel-color-300

Aktuelles

Termine

Vorlesung (vom 21.10.2019 bis zum 05.02.2020)

  • Montag, 10:15 - 11:45 Uhr in CAP3 - Hörsaal 2
  • Dienstag, 14:15 - 15:45 Uhr in CAP3 - Hörsaal 2

Übungen (vom 21.10.2018 bis zum 10.02.2019)

  • Mi, 10:15 - 11:45, LMS2 - R.Ü1
  • Mi, 16:15 - 17:45, LMS2 - R.Ü3
  • Do, 8:30 - 10:00, LMS2 - R.Ü3
  • Do, 10:15 - 11:45, LMS2 - R.Ü3
  • Do, 10:15 - 11:45, WSP3 - Seminarraum 2

Rechnerzeit (vom 21.10.2019 bis zum 05.02.2020)

  • Fr, 12:00 - 14:00, HRS3 - R.105a

Praktikum (vom 17.02.2020 bis zum 28.02.2020)

Klausur (1. Prüfungszeitraum, 4.3.2020, TBD) Klausur (2. Prüfungszeitraum, TBD)

Weitere organisatorische Informationen sowie eine Literaturliste finden Sie im UnivIS oder auf der Veranstaltungsseite des Lehrstuhls.

Vorlesung

Zur Vorlesung existiert ein Skript (nur innerhalb der CAU abrufbar), welches parallel zur Vorlesung überarbeitet wird. Dieses Skript beinhaltet den ungefähren Vorlesungsverlauf, weswegen neben dem Lesen des Skripts auch immer die Vorlesung besucht werden sollte, um über den aktuellen Stand informiert zu sein.

Die in der Vorlesung behandelten Programmiersprachen sind auf den Institutsrechnern vorinstalliert. Im Internet sind auch freie Implementierungen von Haskell, Java sowie Prolog verfügbar.

Auf der Seite der Vorlesung können Sie sich weitere Materialien wie die in der Vorlesung entwickelten Programme herunterladen.

Hinweise zur Verwendung von Haskell

Für die funktionale Programmierung mit Haskell verwenden wir in den ersten Wochen eine vereinfachte Variante des GHCi, den FortProg-GHCi.

Anforderungen

Zur Installation des FortProg-GHCi benötigen Sie den Glasgow Haskell Compiler (GHC) in Version 8.0 oder neuer. Außerdem benötigen Sie das Haskell Build System Cabal in Version 1.10 oder aktueller. Die Installation wird durch Haskell Platform vereinfacht, da dort bereits alle notwendigen Tools enthalten sind und der Umgebung hinzugefügt werden. Stellen Sie sicher, dass sich die Executables ghci und cabal im Pfad befinden, z.B. durch

1
2
3
4
5
> ghci --version
The Glorious Glasgow Haskell Compilation System, version 8.6.1
> cabal --version
cabal-install version 2.4.0.0
compiled using version 2.4.0.1 of the Cabal library 

Installation

Update: Version 1.3 des FortProg-GHCi verfügbar, die Cabal-3.0.0.0 unterstützt (relevant für die meisten MacOS-Nutzer)

Linux/MacOS: Laden Sie sich das Bash-Skript fortprog-ghci herunter und kopieren Sie es in ein bin-Verzeichnis, das im eigenen Pfad liegt, und machen es ausführbar. Nun können Sie den FortProg-GHCi mit dem Befehl fortprog-ghci starten.

Windows: Laden Sie sich das Batch-Skript fortprog-ghci.bat herunter. Nun können Sie den FortProg-GHCi über das Skript beispielsweise per Doppelklick ausführen.

Verwendung

Bitte beachten Sie: Zur Verwendung von FortProg-GHCi muss jedem Haskell-Modul ein expliziter Import der SimplePrelude hinzugefügt werden.

-- explicit import of SimplePrelude
import SimplePrelude

-- Compute the square of a given number
square :: Int -> Int
square x = x * x

Weitere Hinweise zur Verwendung von Haskell

Sie sind dazu angehalten, den folgenden Style-Guide beim Entwickeln von Haskell-Programmen zu befolgen.

Der in der Vorlesung verwendete Haskell Mode für den Editor Emacs kann recht einfach installiert werden, wobei man natürlich den Text-Editor Emacs schon kennen sollte.

Hinweise zur Verwendung von Prolog

Um einen leichteren Einstieg in Prolog zu gewährleisten, wird in der Vorlesung zunächst eine Erweiterung für SWI-Prolog verwendet, die eine bessere Suchstrategie implementiert. Hierzu gibt es zwei Möglichkeiten (unter der Voraussetzung, das SWI-Prolog installiert ist und durch den Aufruf swipl gestartet werden kann):

  • Für Unix/Linux: Man kopiere dieses Bash-Skript in ein bin-Verzeichnis, das im eigenen Pfad liegt. Dann kann man durch das Kommando fortprog-swipl das erweiterte SWI-Prolog-System aufrufen. Alternativ kann man das Bash-Skript auch in das Verzeichnis legen, wo die Prolog-Programme sind, und dann das SWI-Prolog-System mit dem Kommando ./fortprog-swipl aufrufen.
  • Für andere Systeme: Man kopiere dieses Prolog-Programm in das Verzeichnis, wo sich die Prolog-Programme befinden, und starte das SWI-Prolog-System mit dem Kommando swipl -q -s fortprog.

Nach dem wie oben beschriebenen Start von SWI-Prolog kann man sein eigenes Programm wie gewohnt mit [myprog]. laden und ausprobieren. Zu beachten ist, dass bei Benutzung dieser Erweiterung die Prolog-Programme keine Negation oder Cuts enthalten und auch keine anderen Module importieren dürfen, was aber am Anfang ohnehin nicht der Fall sein wird.

Übungen

Bitte tragen Sie sich zunächst in der StudiDB ein.

Zur Teilnahme an der Modulprüfung müssen die Übungsaufgaben regelmäßig und sinnvoll bearbeitet werden. Hierzu wird für jede Aufgabe festgehalten, ob diese sinnvoll bearbeitet wurde (“Sinnpunkte”). Für eine Zulassung zur Klausur müssen in jedem der drei Bereiche nebenläufige/verteile Programmierung, funktionale Programmierung und logische Programmierung mindestens 50% der Sinnpunkte erreicht werden.

Die Bearbeitung der Übungsaufgaben erfolgt in Zweiergruppen, Einzelabgaben sind nach Möglichkeit zu vermeiden. Ihre Abgaben werden korrigiert und Musterlösungen nach der Abgabefrist bereitgestellt.

Rechnerzeit

In diesem Semester wird wöchentlich eine Rechnerzeit angeboten, in der studentische Hilfskräfte bereitstehen, um Ihnen bei der Bearbeitung der Übungsaufgabe zu helfen und ggf. Fragen zu beantworten (Termine siehe oben).

Klausur

Als Hilfsmittel ist in der Klausur ein beidseitig handschriftlich beschriebenes Blatt erlaubt.