Hasso-Plattner-Institut
Prof. Dr. Tobias Friedrich
 

Theoretische Informatik 1

BSc Lecture - Winter 2020/21

Personen: Prof. Dr. Tobias Friedrich, Stefan Neubert
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 zur Einschreibung befinden sich auf der zentralen Seite. Hier finden Sie alle Informationen für die Voraussetzungen, die Durchführung sowie die Leistungserfassung der Veranstaltung im Wintersemester 2020/2021.

Die Lehrveranstaltung wird digital durchgeführt. Deshalb ist es wichtig, dass sich alle Teilnehmenden bis zum 26.10.2020 im Moodle des Kurses einschreiben. Beachte, dass dieser Termin von der allgemeinen Einschreibefrist abweicht und die Registrierung zusätzlich zur normalen Einschreibung über das Studienreferat erfolgt. Im Moodle wird zeitnah der Zoom-Link für die erste Vorlesungseinheit veröffentlicht, die am 03.11.2020 um 09:15 Uhr stattfindet.

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 und Vorbereitung

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

Wer sich zusätzlich zu den empfohlenen Lehrveranstaltungen im 1./2. Semester vorbereiten möchte, dem empfehlen wir folgende Literatur und Übungsaufgaben:

  • Ch. Meinel, M. Mundhenk: "Mathematische Grundlagen der Informatik". (Grundlagen der Logik, Beweistechnik, Funktionen und Mengentheorie.)
  • A. Beutelspacher: "Das ist o.B.d.A. trivial!". (Best Practices für die Notation von Sätzen und Argumenten)
  • D. Velleman: "How to Prove It: A Structured Approach". (Lesen und Schreiben von Beweisen)
  • Aufgaben zu Exponential- und Logarithmusgleichungen (Gibt es zahlreich im Internet)

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: Dienstags um 09:15 Uhr, digital (Zoom-Link siehe Moodle)
  • Übungsgruppen (Beginn in der zweiten Vorlesungswoche):
    • Montags, 11:00 Uhr: Eisbär, Schaf
    • Montags, 15:15 Uhr: Känguru, Pinguin
    • Dienstags, 15:15 Uhr: Koala
    • Dienstags, 17:00 Uhr: Buckelwal, Honigbiene
  • Office Hour: Freitags um 15:00 Uhr, digital (Zoom-Link siehe Moodle)

Klausurtermine und -zulassung

Die Endnote dieser Vorlesung wird durch eine Abschlussklausur ermittelt. Diese findet am ___ ab ___:___ Uhr statt.
Erlaubtes Hilfsmittel in der Klausur ist ein beidseitig eigens handbeschriebenes DIN-A4-Blatt.

Darüber hinaus werden wöchentlich Übungen ausgeteilt. Um zur Klausur zugelassen zu werden, benötigt man 50 % der insgesamt erreichbaren Übungspunkte. Am ___ wird im Vorlesungsslot ein Übungsblatt unter Klausurbedingungen bearbeitet, das doppelt für die Klausurzulassung zählt. Details hierzu werden im Moodle bekannt gegeben.

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: Dienstags, 09:15 Uhr, digital

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

Übungsleiter

Office Hour im Vorlesungszeitraum: Freitags, 15:00 Uhr

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

Sebastian Angrick

Tutor

Übung: Koala
Termin: Dienstags, 15:15 Uhr

E-Mail: Sebastian.Angrick(at)student.hpi.de

Ben Bals

Tutor

Übung: Honigbiene
Termin: Dienstags, 17:00 Uhr

E-Mail: Ben.Bals(at)student.hpi.de

Jan Groeneveld

Tutor

Übung: Buckelwal
Termin: Dienstags, 17:00 Uhr

E-Mail: Jan.Groeneveld(at)student.hpi.de

Christian Helms

Tutor

Übung: Eisbär
Termin: Montags, 11:00 Uhr

E-Mail: Christian.Helms(at)student.hpi.de

Jonas Schmidt

Tutor

Übung: Pinguin
Termin: Montags, 15:15 Uhr

E-Mail: Jonas.Schmidt(at)student.hpi.de

Georg Tennigkeit

Tutor

Übung: Känguru
Termin: Montags, 15:15 Uhr

E-Mail: Georg.Tennigkeit(at)student.hpi.de

Armin Wells

Tutor

Übung: Schaf
Termin: Montags, 11:00 Uhr

E-Mail: Armin.Wells(at)student.hpi.de