Lehrveranstaltung von Prof. Dr. Sebastian Iwanowski an der FH Wedel im WS 2005 / 2006:

Grundlagen der Theoretischen Informatik

Termin: Mo 14:00 Uhr - 15: 15 Uhr
Ort: HS 6

Studiengänge: B_Inf1, B_TInf1, B_MInf1, B_WInf1


Die Gliederung der Vorlesung im pdf-Format:

Die einzelnen Teile werden rechtzeitig vor der jeweiligen Vorlesung hier ins Netz gestellt.

1. Einführung
2. Logik
    2.1 Aussagenlogik
    2.2 Prädikatenlogik
3. Grundlagen logischer Programmierung
4. Verifikationstechniken (Zusammenfassung)
    4.1 Verifikation mit Hoare-Tripeln
    4.2 Verifikation von Verzweigungen
    4.3 Verifikation von Schleifen
    4.4 Modulare und funktionale Programmierung
    4.5 Rekursion (19.12., 03.01.)
5. Einführung in die Komplexitätstheorie (03.01., 09.01) (Beispieltabelle für Komplexitätsgrößen)

Klausur-Checkliste (in rot: Änderung zum letzten Semester)

Klausur (90 min) vom 01.02.2006 (107 Teilnehmer, 34 durchgefallen (32%), Notendurchschnitt 3,5)
Klausur (60 min) vom 01.02.2006 (6 Teilnehmer, 2 durchgefallen (33%), Notendurchschnitt 4,3)

Organisatorisches:

In jeder Woche werden von Maximilian Herold Übungsaufgaben gestellt.
Diese stehen auf seiner Homepage im Netz.
Dort gibt es auch Informationen zu den studentischen Tutorien,
in denen Verständnisschwierigkeiten geklärt werden können.

Die Übungen sollen selbständig bearbeitet und bei Herrn Herold eine Woche
nach Ausgabetermin abgegeben werden (mit Angabe des Übungstermins/Tutors).
Der Tutor / die Tutorin streicht die Fehler an und bespricht die wichtigsten Schwierigkeiten im darauf folgenden Tutorium.
Außerdem werden Fragen zur Vorlesung beantwortet.

Herr Herold hält Do 17:00 Uhr - 18:15 Uhr in HS 2 eine große Übung ab,
in der die Aufgaben vorgeführt werden.
Spätestens zum Anfang dieser Übung sollen die bearbeiteten Übungsaufgaben
der Vorwoche abgegeben werden.


Vorlesungsinhalte:

Diese Vorlesung legt das theoretische Fundament zur Vorlesung Programmieren 1 und darauf aufbauender Programmierveranstaltungen
und wendet sich an die Anfänger aller Informatikstudiengänge.
Es gibt in den Inhalten Überschneidungen nicht nur zu Programmieren 1, sondern auch zur Vorlesung Diskrete Mathematik,
die aus Gründen der inhaltlichen Geschlossenheit gewünscht sind.

Die Vorlesung wurde als Grundlagen der Programmierung von mir erstmals im WS 2004/2005 gehalten.
Im SS 2005 folgte die Aufteilung der Logik zwischen Diskrete Mathematik und dieser Vorlesung.
Die zugehörigen Folien können hier eingesehen werden. Sie werden in großen Teilen unverändert auch in dieser Vorlesung zum Einsatz kommen.

Inhaltlich wird sich die Vorlesung in diesem Semester allerdings darin unterscheiden, dass sich der Akzent etwas von der fast ausschließlichen
Relevanz für Programmieren 1 auf die Informatik allgemein verschiebt (daher der geänderte Name der Vorlesung).
Es wurde aus diesem Grund das Kapitel 3 zur logischen Programmierung eingefügt.
In Kapitel 4 werden die Verifikationstechniken für die Sprachbestandteile imperativer Programmierung
(das ist das Konzept, das in Programmieren 1 und 2 gelehrt wird)
etwas gestrafft behandelt und abschließend ein Vergleich zu den anderen Prinzipien angestellt.
In Kapitel 5 werden Entwurf und Analyse von Algorithmen behandelt (wie beim letzten Mal).


Literatur:

    Roland Backhouse: Programmkonstruktion und Verifikation, Hanser 1989 (vergriffen, Kopie ist im Asta erhältlich), ISBN 3-446-15056-0
    Englische Neuauflage: Program Construction: Calculating Implementations from Specifications, Wiley 2003, ISBN 0470848820

    Helmut Balzert: Lehrbuch Grundlagen der Informatik, Spektrum 2005 (2. Auflage), ISBN 3-8274-1410-5
    in unserer Bibliothek: Spektrum 1999 (1. Auflage), ISBN 3-8274-0358-8

    Heinz-Peter Gumm / Manfred Sommer: Einführung in die Informatik, Oldenbourg 2004 (6. Auflage), ISBN  3-486-27389-2

    Gerhard Goos: Vorlesungen über Informatik, Band1: Grundlagen und funktionales Programmieren, Springer 2000 (3. Auflage), ISBN 3-540-67270-2

    Michael Huth / Mark Ryan: Logic in Computer Science, Cambridge University Press 2004 (2. Auflage), ISBN 052154310X

    Uwe Schöning: Logik für Informatiker, Spektrum 2000 (5. Auflage), ISBN 3-8274-1005-3