Hasso-Plattner-Institut
Prof. Dr. Tobias Friedrich
 

Theoretische Informatik 1

BSc Lecture - Winter 2017/18

Dozent:Prof. Dr. Tobias Friedrich
Übungsleiter:Martin Krejca
Links:Lehrveranstaltungen IT-Systems Engineering, Algorithm Engineering Moodle

Die Vorlesung Theoretische Informatik 1 ist ein Pflichtmodul im 3. Semester des Bachelors IT-Systems Engineering am Hasso-Plattner-Institut der Universität Potsdam. Angaben zum Inhalt, formalen Voraussetzungen, Leistungserfassung etc. finden sich auf der zentralen Seite. Hier finden Sie alle Informationen für die Durchführung der Veranstaltung im Wintersemester 2017/2018.

Beschreibung

In der theoretischen Informatik befassen wir uns mit grundlegenden Fragen, die den Computer betreffen:

  • Gibt es Probleme, die kein Computer jemals lösen kann?
  • Wenn man einem Computer mehr Zeit (oder Platz) gibt, kann er dann mehr Probleme lösen als vorher?
  • Sind alle Computer(-modelle) mehr oder weniger gleich? Oder gibt es wesentliche Unterschiede?
  • Gibt es Probleme, die man mit sehr viel Zeit lösen kann, aber niemals effizient mit wenig Zeit?

Um diese Fragen zu beantworten, abstrahieren wir von dem komplexen Begriff eines Computers und betrachten nur sehr einfache Programmiersprachen. In diesem Kontext lernen wir zeitgleich formal korrektes Arbeiten, mathematische Denkweisen und sauberes Führen von Beweisen. Auf dem Programm stehen:

  • Landau- bzw. O-Notation
  • WHILE-Programmierung, Turingmaschinen und endliche Automaten
  • das Halteproblem und Nichtentscheidbarkeit
  • P vs. NP
  • Zeit- vs. Platzkomplexität

Zudem geben wir eine Einführung in die Algorithmik. Wir entwerfen effiziente Algorithmen für bekannte Probleme und beweisen deren Laufzeit und Korrektheit. Dabei lernen wir verschiedene Techniken zur Problemlösung kennen. Darunter fallen beispielsweise:

  • Graphalgorithmen (kürzeste Wege, Tiefen-/Breitensuche, Spannbäume, Flüsse etc.)
  • Arrayalgorithmen (Sortieren, Suchen, Partition, Median etc.)
  • Dynamische Programmierung
  • Algorithmische Geometrie

Dabei sind wir darauf bedacht, eine Dualität aufzuzeigen: Auf der einen Seite fragen wir uns häufig, was der schnellste Algorithmus ist, den wir für ein Problem finden können. Auf der anderen Seite möchten wir wissen, ob es mathematisch beweisbar ist, dass es keinen schnelleren Algorithmus geben kann.

Voraussetzungen

Formal sind keine Voraussetzungen notwendig. Spaß an kniffeligen Aufgaben ist aber eine exzellente Grundlage!

Organisation

Die Verwaltung der Vorlesung geschieht über das Moodle des Fachgebiets. Dort können Sie sich mit Ihrem regulären HPI-Login einloggen und für die Veranstaltung eintragen. Die Registrierung im Moodle ist verpflichtend für alle Teilnehmer, da darüber auch die Verwaltung der Übungsblätter und deren Bewertung läuft. 

Wöchentliche Veranstaltungen

  • Vorlesung: Mi. um 11:00 Uhr in HS 2
  • Office-Hour: Fr. von 15 bis 16 Uhr in A-1.1

Ablauf

    Klausurtermine

    Die Klausurtermine werden im Laufe des Semester hier bekannt gegeben:

    • Zwischenklausur: 6. 12. 2017, 11:00—13:00 Uhr, HS 1 und HS 2
    • Endklausur: 16. 2. 2018, 10:00—13:00 Uhr, HS 1, HS 2 und HS 3
    • Nachklausur: 26. 3. 2018, 10:00—13:00 Uhr, 3.06.H05 (UP!)

    Erlaubtes Hilfsmittel in den Klausuren ist jeweils ein beidseitig handbeschriebenes DIN-A4-Blatt.

    Darüber hinaus werden wöchentlich Übungen ausgeteilt. Um zur Klausur zugelassen zu werden, benötigt man jeweils 50 % der Punkte der ersten und 50 % der Punkte der zweiten Vorlesungshälfte.

    Die Endnote dieser Vorlesung berechnet sich aus der Punktsumme der Zwischen- und Endklausur. Die Punkte der Zwischenklausur werden dabei mit 30 %, die der Endklausur mit 70 % gewichtet.

    Literatur

    • Schöning: Theoretische Informatik – kurz gefasst. (Gut lesbar, für Berechenbarkeitstheorie)
    • Bläser: Theoretical Computer Science. (Umfangreich, für Berechenbarkeitstheorie)
    • Cormen, Leiserson, Rivest, Stein: Algorithmen – Eine Einführung. (Für Algorithmik)

    Vorlesungsteam

    Die Vorlesung wird veranstaltet vom Fachgebiet Algorithm Engineering. An der Durchführung sind die folgenden Personen beteiligt:

    Dozent

    Vorlesung: Mi., 11:00 Uhr
    Raum: Hörsaal 2

    E-Mail:Tobias.Friedrich(at)hpi.de

    Übungsleiter

    Sprechzeiten: Einfach mal vorbeikommen. Für gewöhnlich bin ich zwischen 9:00 und 16:30 Uhr da. Mittagspause ist oft zwischen 12:45 und 13:45 Uhr. Bitte beachtet aber auch die Hinweise zur Office-Hour.
    Büro: A-1.7/8

    E-Mail:Martin.Krejca(at)hpi.de

    Clemens Frahnow

    Tutor

    Übung: Church
    Raum: A-1.1
    Termin: Di., 13:30–15:00 Uhr

    E-Mail:Clemens.Frahnow@student.hpi.de

    Hans Gawendowicz

    Tutor

    Übung: Neumann
    Raum: A-1.2
    Termin: Di., 17:00–18:30 Uhr

    E-Mail:Hans.Gawendowicz(at)student.hpi.de

    Stefan Neubert

    Tutor

    Übung: Gödel
    Raum: A-2.2
    Termin: Di., 15:15–16:45 Uhr

    E-Mail:Stefan.Neubert(at)student.hpi.de

    Jannik Peters

    Tutor

    Übung: Cook
    Raum: A-1.2
    Termin: Di., 13:30–15:00 Uhr

    E-Mail:Jannik.Peters(at)student.hpi.de

    Antje Schubotz

    Tutor

    Übung: Dijkstra
    Raum: A-1.2
    Termin: Di., 15:15–16:45 Uhr

    E-Mail:Antje.Schubotz(at)student.hpi.de

    Fabian Sommer

    Tutor

    Übung: Turing
    Raum: A-1.1
    Termin: Mi., 13:30–15:00 Uhr

    E-Mail:Fabian.Sommer(at)student.hpi.de