Sie sind hier: Startseite Archiv der Lehrveranstaltungen … Wintersemester 2011/2012 Intensivkurs: Formale Methoden …

Intensivkurs: Formale Methoden und Programmierung

 

Dozent:

Dr. Marco Ragni

 

Tutor:

Rebecca Albrecht (albrechR@informatik.uni-freiburg.de)

 

Vorlesung

Zeit: Di 16-18 Uhr

Ort: KG II

Raum-Nr.: HS 2004

Beginn: 25.10.11

 

Übung

Zeit: Montags 16-20 Uhr

Ort: IIG

Raum-Nr.: Seminarraum 2. Stock

Beginn: 31.10.2011

 

Abstract

Dieser Intensivkurs dient als Vorbereitung für die im Sommersemester stattfindende Pflichtveranstaltung "Kognitive Modellierung". In der Veranstaltung werden dafür Kenntnisse in der Programmiersprache LISP, sowie Kenntnisse zur Beschreibung und Analyse formaler Systeme vermittelt.

 

Übungsaufgaben

In unregelmäßigen Abständen werden Übungsblätter ausgeteilt. Die korrigierten Lösungen werden im Tutorat ausgeteilt und diskutiert. Die Bearbeitung der Übungsaufgaben ist obligatorisch für die Zulassung zur Abschlussklausur. Durch die Bearbeitung der Übungsaufgaben können weiterhin 5 Bonuspunkte für die Klausur erworben werden (siehe Bonuspunkte).

 

Programmierprojekte

Um die in der Vorlesung vermittelten Programmierkenntnisse zu vertiefen und anzuwenden bieten wir kleine Programmierprojekte an. Diese können über einen längeren Zeitraum bearbeitet werden.

Durch die Teilnahme an einem Programmierprojekt können 40 Bonuspunkte für die Klausur erworben werden (siehe Bonuspunkte). Die Projekte können (und sollen) in Gruppen bis zu 3 Personen bearbeitet werden.

Zur Auswahl stehen folgende Aufgaben:

 

Die Bearbeitung der Bonusprojekte erfolgt in zwei Phasen. In der ersten Phase soll eine funktionierende Umgebung für die jeweilige Aufgabe implementiert werden. In der zweiten Phase soll eine einfache KI hinzugefügt werden. Die Vorstellung der Ergebnisse zur ersten Phase erfolgt voraussichtlich in der ersten Woche nach Weihnachten, die Vorstellung der Endergebnisse am Ende des Semesters. 

Phase 1:

  • Dual-N-Back: Graphische Oberfläche für Dual-N-Back (1 - 3-Back) mit jeweils zwei Problemsets. Hierzu wird folgendes benötigt: 
    • LispWorks zum programmieren einer graphischen Oberfläche. Eine Kurzanleitung zur Installation und Bedienung von LispWorks finden sie hier.
    • Graphikbibliothek mit Funktionen für die programmierung einer graphischen Oberfläche. Ein Beispielprogramm finden Sie hier.
  • Poker: Konsolen basierte Umgebung mit allen Texas Holdem Regeln.
  • Lego Mindstorm: Implementation der Random/Perimeter Strategie für Navigation im Labyrinth:
    • Um den Lego Mindstorm mit Lisp zu programmieren benötigen den Lisp Interpreter CLisp (Download für Windows )
    • Als nächstes muss ein Treiber für den Mindstorm installiert werden (Download). Auf Downloads klicken, die heruntergeladene .zip File entpacken und den Treiber installieren.
    • Als letztes muss noch ein Ordner mit dem nxt Programm heruntergeladen und entpackt werden (Download). In diesem Ordner finden Sie auch die Datei nxt.lsp. Diese Datei kann jetzt im Lisp Interpreter geladen werden.
    • Außerdem gibt es noch eine Dokumentation mir Lisp Funktionen zum programmieren des Mindstorm (Download).

Bonuspunkte

Für die Bearbeitung der Übungsaufgaben vergeben wir insgesamt 5 Bonuspunkte und für die Bearbeitung eines Programmerprojekts 40 Bonuspunkte. Insgesamt können Sie über das Bonuspunktesystem 45 der 50 zum Bestehen der Abschlussklausur notwendigen Punkte erreichen. Das bestehen der Abschlussklausur ist notwendiges Kriterium zum Bestehen des Kurses.

Um die Bonuspunkte für die Klausur anrechnen zu lassen, müssen folgende Kriterien erfüllt werden:

  1. Regelmäßige Teilnahme am Tutorat, Montags 18 Uhr im Seminarraum 2. Stock, IIG.
  2. Teilnahme an den Terminen zur Vorstellungen des Zwischen-/Endstandes im Programmeriprojekt.

 

Materialien

Vorlesungsfolien

Kapitel Thema Folien Datum Errata
0 Organisatorisches / Überblick
25.10.2011  
1 Einführung pdf 08.11.2011  
Listen pdf 15.11.2011  
Funktionen pdf 08.11.2011  
Kontrollstrukturen pdf 22.11.2011  
5 Iteration pdf 06.12.2011  
6 Variablenbelegungen / Gültigkeit pdf
13.12.2011  
7 Datenstrukturen pdf 20.12.2011  
8  Funktionen/Funktionsanwendung pdf 17.01.2012  
 Aussagenlogik pdf 24.01.2012   
10   Automaten/Komplexität pdf 31.01.2012   

Übungsblätter

 

"Lösungen"

Literatur und Links

Programme
Literatur zu LISP
  • David S. Touretzky (1990): Common LISP: A Gentle Introduction to Symbolic Computation (online)
  • Peter Seibel: Practical Common Lisp (online)
  • Winston, P. H., & Horn, B. K. P. (1989). LISP. Third Edition. Reading, MA: Addison-Wesley.
  • Steele, G. L. (1990). Common-LISP. The Language. Second Edition
Tutorials
  • Interaktives Lernprogramm für Lisp: Episodic Learner Model: The Adaptive Remote Tutor. ELM-ART
  • Kurz-Tutorial zu LispWorks von Benus Becker (online)
Zusätzliche Literatur
  • LISP Befehlsreferenz: Eine gute Übersicht über die wichtigsten Lisp-Befehle (online)
  • LISP Übersicht als Mindmap von Benus Becker (online)
  • Lisp Keywords
  • Links