Einführung in die Theoretische Informatik
Lehrende:
Dr. Daniel Moldt
Kommentare/ Inhalte:
Diese Vorlesung umfasst die Blöcke: Automatentheorie, formale Sprachen und Logik:
Logikkalküle sind Grundlage für eine formale Semantik von sprachlichen Beschreibungen wie auch von Anweisungen in Programmier-, Spezifikations-, und Repräsentationssprachen. In der Vorlesung werden grundlegende Anteile der Aussagenlogik behandelt. Automaten dienen als einfache mathematische Modelle von Computern oder auch Algorithmen. Formale Sprachen dienen der Beschreibung des prinzipiellen, strukturellen Aufbaus von Programmier- und Spezifikationssprachen. Im algorithmischen Bereich werden zudem Grundlagen der Berechenbarkeit und Komplexität einführend behandelt.
Beweisverfahren sind ein zentrales Konzept in diesem Bereich, das grundlegend eingeführt und behandelt wird.
Im Zentrum der Vorlesung steht insbesondere auch die mathematische Beschäftigung mit den oben genannten Themen, d.h. das Aufstellen und formale Beweisen von Behauptungen.
Lernziel:
Die Studierenden sollen grundlegende formale Konzepte und Methoden, die für fast alle Teilgebiete der Informatik von Bedeutung sind, kennenlernen. Ferner sollen grundlegende Hilfsmittel für die Beschreibung, die Analyse, den Entwurf und die Bewertung von Problemen und deren Lösung besprochen und benutzt werden. Die Fähigkeit, mathematische Beweise verstehen und selbst führen zu können, ist hierbei ein weiteres zentrales Lernziel.
Vorgehen:
Es gibt für jede Vorlesung einen Vortest und einen Nachtest.
Der Vortest einer Vorlesung muss bis zum Beginn der Vorlesung erfolgreich abgeschlossen worden sein. (Ausnahme erste Vorlesung).
Der Nachtest einer Vorlesung muss vor dem Beginn der nächsten Vorlesung ebenfalls erfolgreich abgeschlossen worden sein.
Vortests unterstützen mittels formativer Selbsttests Studierende, so dass die Vorbereitung des Lesestoffs vorab in Hinblick auf einfache Aussagen eigenständig überprüft werden kann.
Die Nachtests dienen der Überprüfung, ob die komplexeren Inhalte der jeweiligen Vorlesung richtig erfasst wurden und auf einfache Beispiele angewendet werden können.
Die Tests werden in der OpenOlat-Umgebung https://www.openolat.uni-hamburg.de/dmz/ ebenso bereitgestellt wie die meisten anderen Materialien des Moduls. Eine Anmeldung von allen Teilnehmenden mittels der Benutzerkennung, z.B. BAO1234, der Universtität ist für die Nutzung zwingend notwendig.
Hinweis: Bitte melden Sie sich so früh wie möglich (spätestens bis Ende März) mindestens einmal im OpenOlat-System unter dem Link oben an, damit sie gleich zu Beginn des Semesters Zugang zu allen Materialien haben.
Ferner kommt den Übungen eine besondere Bedeutung zu, um den Umgang mit den formalen Methoden zu erlernen.
Vorlesungsmaterialien sind zum Teil auf Deutsch und zum Teil auf Englisch.
Literatur:
Die Vorlesung stützt sich insbesondere auf die Bücher:
- Michael Sipser (2013). Introduction to the Theory of Computation. Cengage Learning. Boston.
- Uwe Schöning (2000). Logik für Informatiker. Spektrum, Akademischer Verlag
Weitere Literatur zur weiteren Vertiefung sind z.B.:
- Hopcroft, John E., Motwani, Rajeev und Ullman, Jeffrey D. (2007) Introduction to Automata Theory, Languages, and Computation, 3ed, Pearson/Addison-Wesley (auch auf Deutsch erhältlich)
- Juraj Hromkovic (2014). Theoretische Informatik. Springer Vieweg. Wiesbaden
Alternativ ist aber auch jedes andere einführende Lehrbuch zur Logik und zur Automatentheorie für die Veranstaltung geeignet.
Zusätzliche Hinweise zu Prüfungen:
Für die Vorlesung ist zusätzlich zur Klausur das Bestehen der an die Vorlesung gekoppelten Vor- und der Nachtests in OpenOlat eine der Voraussetzungen für das Bestehen des Moduls.