LISP ist neben FORTRAN eine der ältesten noch heute gebrauchten Programmiersprachen. Es wurde in den späten 50er Jahren von John McCarthy am MIT-Laboratorium für künstliche Intelligenz entwickelt. LISP wird u.a. in der Logik-Programmierung, für die Programmierung von Experten-Systemen und für die Programmierung von symbolischer Algebra benutzt (so ist z.B. das Computer-Algebra-System REDUCE in LISP geschrieben). Aber auch andere umfangreiche Software-Projekte, wie der berühmt-berüchtigte Editor EMACS, wurden in LISP geschrieben. Besondere Kennzeichen von LISP sind, daß Listen und Symbole zentrale Datentypen sind und daß Funktionen genauso wie andere Daten manipuliert werden können.
In diesem Kompakt-Kurs soll eine Einführung in SCHEME, einen modernen Dialekt von LISP, gegeben werden. Als größeres Programmier-Beispiel soll die Implementation von Turing-Maschinen, die Emulation von Mehrband-Maschinen durch Einband-Maschinen und die Konstruktion einer universellen Turing-Maschine behandelt werden.
Die praktischen Programmier-Übungen werden mit einer MIT-Implementierung von SCHEME, die auf den Workstations unseres Instituts installiert ist, durchgeführt. Für diejenigen, die SCHEME auf ihren heimischen PCs benützen wollen, gibt es kostenlos auch eine gute Implementation von SCHEME für MS-DOS (auch eine gute ATARI-Version ist vorhanden).
Vorkenntnisse:
Spezielle mathematische Vorkenntnisse sind nicht erforderlich,
jedoch wird die Fähigkeit zum abstrakten mathematischen Denken,
wie man sie durch erfolgreichen Besuch der Anfänger-Vorlesungen
erwirbt, erwartet. (Was Turing-Maschinen sind, wird in der Vorlesung
erklärt.) Außerdem sollte eine gewisse Vertrautheit
im Umgang mit dem Computer vorhanden sein. Die Kenntnis einer
anderen höheren Programmiersprache wie Pascal, Modula-2
oder C ist nützlich, aber nicht erforderlich.
Der Kurs ist für alle, die diese interessante, gegenüber den gebräuchlichen Programmierspachen etwas andersartige Sprache kennenlernen möchten.