Sie sind hier: Startseite Archiv der Lehrveranstaltungen … Wintersemester 2009/2010 Intensivkurs: Formale Methoden …

Intensivkurs: Formale Methoden und Programmierung

 

Nachklausur: Anstelle einer Nachklausur für Formale Methoden und Programmierung wird eine mündliche Nachprüfung (Dauer: ungefähr 20 Min) am  Freitag 16.04.  ab 14:30 Uhr.(im Büro 30013 im IIG) durchgeführt. Bitte melden Sie sich  bis zum 13. April dafür per E-Mail bei: (ragni@cognition.uni-freiburg.de)

Dozent:

Dr. Marco Ragni

Mo 16:00 - 18:00
Ort: IIG, 2OG Seminarraum 02009

 

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 Common LISP und darauf aufbauend Grundzüge der kognitiven Architektur von ACT-R vermittelt und eingeübt.

Scheinbedingungen:

  • Vorlesungsbesuch:
    • Teilnahme an der Vorlesung (max. 2-maliges Fehlen, entschuldigt!) für Nicht-Informatiker.
    • Zum Scheinerwerb für Informatiker ist die Teilnahme an der Vorlesung fakultativ unter der Bedingung, dass sie ein zusätzliches Programmierprojekt in LISP durchführen (keine Präsentation erforderlich).
  • Mindestens 50% aller Punkte auf den Aufgabenzetteln.
  • Bestehen der Klausur.

13 Bonuspunkte auf die Klausur durch Projekt:

  • Programmierprojekt in Gruppen vob bis zu drei Mann.
  • Vorstellung des Projekts durch alle Teilnehmer (dies gilt insbesondere auch für Informatiker) im Programmiertutorat. Die Termine werden noch festgelegt.
  • Keine Anmeldung des Projekts erforderlich (neu).

10 Bonuspunkte auf die Klausur durch Übungsaufgaben:

  • Mindestens 75 % aller Punkte auf den Aufgabenzetteln.
  • Die Lösung von zwei Aufgaben in in den Übungen präsentieren.
  • Teilnahme an der Übung (max. 2-maliges Fehlen).

 

Zeitplan:

 Im ersten Teil der Vorlesung wird LISP besprochen, im zweiten Teil werden dann weitere formale Grundlagen die für das Verständnis von ACT-R wichtig sind diskuttiert.

 

Programmierprojekt

Das Projekt darf (und sollte) in Gruppen von bis zu drei Mann bearbeitet werden. Eine Anmeldung des Projekts ist nicht erforderlich. Die Abgabe des gelösten Projekts muss spätestens bis zum 1.2.2010 erfolgen. Außerdem muss das fertige Projekt (also insbesondere der Code) von allen Teilnehmern des Projekts vorgestellt werden. Diese Vorstellung muss im Tutorat.

  • Für etwaig benötigte Befehle ist insbesondere das Dokument Lisp-Liste empfehlenswert.
  • Ein Befehl, der dort nicht aufgelistet wird lautet (random n), der zufällige Zahlen aus dem Intervall [0,n-1] liefert.
  • Ein weiterer Befehl ist der so genannte Kommentar. Er wird eingeleitet mit einem Semikolon. Alles, was in derselben Zeile danach folgt, wird von LISP ignoriert. Sinnvoll, um Ihren Code zu dokumentieren.

Wichtig! In der Vorlesung wurde angesprochen, dass nicht alleine ein gültiges Programm gefordert wird, sondern dieses soll auch ausreichend und sinnvoll dokumentiert werden. Besteht ihr Programm aus mehreren selbst definierten Funktionen wäre ein Kommentar vor jeder Funktionsdefinition sinnvoll, was die Funktion macht, d.h. wozu sie erforderlich ist. Schreiben Sie keine Romane, kurze sachliche Sätze erhöhen die Lesbarkeit Ihres Codes!

  • Es werden 2 Projekte angeboten:
    • Ein Programm welches Zahlenreihen analysieren kann und diese Fortsetzen.
    • Ein Programm welches Buchstabenanalogien analysieren kann und lösen, wie etwa Copycat von Hofstadter.
  • Eine genauere Beschreibung der beiden Aufgaben wird in der Vorlesung noch ausgeteilt.
  • Lisp-Liste mit den wichtigsten Lisp-Ausdrücken. Herzlichen Dank an Helmut Weldle! Für die Vollständigkeit und Korrektheit wird keine Gewähr übernommen. Achtung! Bei weitem nicht alle Ausdrücke, die in dieser Liste verzeichnet sind, sind klausurrelevant.

Die Programmieraufgaben für das Ende vom Semester finden sich hier

Die Versuchsergebnisse:

Materialien

 

 

Die zum Download angegeben Dateien (Folien, etc.) werden unter Umständen aktualisiert. Vergleichen Sie daher stets das Upload-Datum. Abgaben werden nur vor Vorlesungsbeginn angenommen, auch bei Abgaben per eMail!

Literatur und Links

zusätzliche Literatur:

Installation von LISP:

Programmierung mit LISP:

  • Interaktives Lernprogramm für Lisp: Episodic Learner Model: The Adaptive Remote Tutor. (ELM-ART)
  • Kurz-Tutorial zu LispWorks von Benus Becker
  • Lisp-Liste der FSKW, die weitaus weniger Konzepte enthält, dafür aber auch nicht alle klausurrelevanten (bspw. Applikative Operatoren).
  • Lisp-Überblick in Form einer Mindmap von Benus Becker
  • Limonadenstand-Funktionen von Sascha Wolfer
  • David S. Touretzky (1990): Common Lisp: A Gentle Introduction to Symbolic Computation
  • Steele, G. L. (1990). Common-LISP. The Language. Second Edition (!). Bedford, Massachusetts: Digital Press. (online)
  • Peter Seibel: Practical Common Lisp (link to the website)
  • Winston, P. H., & Horn, B. K. P. (1989). LISP. Third Edition (!). Reading, MA: Addison-Wesley. (vorhanden im IIG)

Links: