Modul Programmierung

Wintersemester 2012/13
Arbeitsgruppe Programmiersprachen und Übersetzerkonstruktion

Nr. Art Termine Raum Veranstalter
080138 V4 Mo 10:15 - 12:00 OS40 - Norbert-Gansel-Hörsaal Hanus
    Fr 8:15 - 10:00 OS40 - Norbert-Gansel-Hörsaal  
080148 Ü2 Verschiedene Termine   Prädel, Reck, Peemöller u.w.

Vorlesungsbeginn

Freitag, 19. Oktober 2012, 8:15 Uhr
In dieser Vorlesung werden wichtige organisatorische Details zur Vorlesung und den Übungen besprochen. Eine frühere Anmeldung über die StudiDB ist nicht notwendig.

Zielgruppe

Studierende im ersten Semester der Bachelorstudiengänge in Informatik (1-Fach und 2-Fach) und Wirtschaftsinformatik oder mit Nebenfach Informatik.

Voraussetzungen

keine

Inhalt

Die Vorlesung gibt eine grundlegende Einführung in Programmiertechniken zur Beherrschung der Komplexität großer Systeme. Wichtiges Leitmotiv hierfür ist das Finden geeigneter Abstraktionen zur schrittweisen Konstruktion komplexer Systeme. Zur Programmierung wird zunächst die Programmiersprache Scheme verwendet. Die Flexibilität von Scheme zwingt keinen festgelegten Programmierstil auf, sondern unterstützt sehr einfach verschiedene Abstraktionstechniken. Dadurch wird die Programmiersprache kein Mittel, um den Computer zur Ausführung von Operationen zu veranlassen, sondern ein Medium zum Ausdruck von Strukturen über Verfahrensweisen.

Kurzübersicht

  • Grundbegriffe
  • Abstraktion mit Prozeduren
  • Abstraktion mit Daten
  • Modularität, Objekte, Zustände
  • Metalinguistische Abstraktion

Modulprüfung

Die Voraussetzung für den Erwerb eines Modulprüfungszeugnisses ist das erfolgreiche Bestehen der Abschlussklausur. Die Zulassung setzt die regelmäßige und aktive Teilnahme an einem der Kleingruppenübungstermine voraus. Dies bedeutet, dass mehrfaches unentschuldigtes Fehlen beziehungsweise unvorbereitete Teilnahme an diesen Übungen dazu führt, dass die Teilnahme an der Modulprüfung nicht möglich ist.
Bonuspunkte: Positive Studienleistungen können durch die regelmäßige Bearbeitung von Übungsaufgaben in die Bewertung der Modulprüfung in Form von Bonuspunkten eingebracht werden. Wenn mindestens 50% aller Übungspunkte bei der Durchführung dieses Moduls erreicht wurden, werden die Übungspunkte bis zu 20% zu den Klausurpunkten hinzugerechnet. Dies bedeutet, dass z.B. bei 100% erreichten Übungspunkten 20% der erreichbaren Klausurpunkte als Bonus bei der Klausur hinzugefügt werden, und z.B. bei 50% erreichten Übungspunkten 10% der erreichbaren Klausurpunkte hinzugefügt werden.

Abschlussklausur

Die erste Abschlussklausur zur Vorlesung findet am Freitag, 22.2.2013, von 14:00 bis 17:00 Uhr im Hörsaal CAP2 - Frederik-Paulsen-Hörsaal (Nachnamen [A-N]) und im Raum OHP5 - [Chemie I] (Nachnamen [O-Z]) statt. Eine weitere Abschlussklausur findet am Donnerstag, 4.4.2013, von 14:00 bis 17:00 Uhr im Hörsaal CAP2 - Frederik-Paulsen-Hörsaal statt. Eine vorherige Anmeldung in der StudiDB ist zur Teilnahme erforderlich.

Ergänzende Materialien zur Vorlesung

Folien und Programme:

19.10.2012: Einführung (PDF) Grundbegriffe (PDF)
22.10.2012: meinerstesprogramm.rkt
26.10.2012: wheels.rkt absolute.rkt waterstate.rkt
29.10.2012: sqroot.rkt factorial.rkt
2.11.2012: fib.rkt expnt.rkt
5.11.2012: ggt.rkt prime.rkt cookie.rkt
9.11.2012: cookie.rkt rat.rkt userat.rkt
12.11.2012: morecookies.rkt numlist.rkt
16.11.2012: stringlist.rkt anylist.rkt parametriclist.rkt listoperations.rkt
19.11.2012: listoperations.rkt numtree.rkt symbdiff.rkt
23.11.2012: symbdiff.rkt u-set.rkt o-set.rkt tree-set.rkt
26.11.2012: huffman.rkt
30.11.2012: sumfuns.rkt maplist.rkt
3.12.2012: higherorder.rkt mylist.rkt
14.12.2012: rat-prop.rkt o-set-prop.rkt listoperations-prop.rkt account.rkt
17.12.2012: account-message.rkt monte-carlo.rkt monte-carlo-functional.rkt
11.1.2013: sqroot_local.rkt mutable-list.rkt
14.1.2013: account-mutable.rkt mlist.rkt
18.1.2013: queue.rkt halfadder.rkt circuit_gatter.rkt
21.1.2013: circuit.rkt
25.1.2013: withdraw-concurrent.rkt
1.2.2013: example-prog.rkt mze1.rkt (Metazirkulärer Evaluator, Teil 1)
4.2.2013: mze.rkt (Metazirkulärer Evaluator für MiniScheme ohne write-value)

Skript zur Vorlesung:

Es gibt ein Skript zur Vorlesung, das nur innerhalb der CAU Kiel zugreifbar ist. Dieses Skript beinhaltet den ungefähren Vorlesungsverlauf, aber neben dem Lesen des Skripts sollte auch immer die Vorlesung besucht werden, um über den aktuellen Stand informiert zu sein!

Literatur

Die Vorlesung orientiert sich hauptsächlich an folgenden Büchern:

  • H. Klaeren, M. Sperber: Die Macht der Abstraktion, Teubner, 2007. ISBN 978-3-8351-0155-5
  • M. Felleisen, R.B. Findler, M. Flatt, S. Krishnamurthi: How to design programs, MIT, 2001. ISBN 0-262-06218-6 (online: http://www.htdp.org/)
  • H. Abelson, G.J. Sussman: Struktur und Interpretation von Computerprogrammen, Springer-Verlag, 2001 (4. überarbeitete Auflage). ISBN 3-540-42342-7 (online: http://mitpress.mit.edu/sicp/)