inf401 - Foundations of Theoretical Computer Science (Complete module description)

inf401 - Foundations of Theoretical Computer Science (Complete module description)

Original version English PDF download
Module label Foundations of Theoretical Computer Science
Module code inf401
Credit points 6.0 KP
Workload 180 h
Institute directory Department of Computing Science
Applicability of the module
  • Bachelor's Programme Computing Science (Bachelor) > Aufbaumodule
  • Bachelor's Programme Mathematics (Bachelor) > Nebenfachmodule
  • Dual-Subject Bachelor's Programme Computing Science (Bachelor) > Wahlpflicht Theoretische Informatik (30 KP)
  • Master of Education Programme (Gymnasium) Computing Science (Master of Education) > Pflichtmodule
  • Master of Education Programme (Hauptschule and Realschule) Computing Science (Master of Education) > Mastermodule
  • Master of Education Programme (Vocational and Business Education) Computing Science (Master of Education) > Akzentsetzungsbereich
Responsible persons
  • Wehrheim, Heike (module responsibility)
  • Lehrenden, Die im Modul (authorised to take exams)
Prerequisites
Skills to be acquired in this module

Introduction to the theory of automata, formal languages, computability, and complexity
Professional competence
The students:

  • know different classes of languages (e.g. regular and context-free languages)
  • know automata models corresponding to the respective language classes (e.g. finite automata, pushdown automata, Turing machines)
  • construct automata, Turing machines, and grammars for given tasks
  • know equivalent formalisations of the concept of algorithm
  • classify functions as algorithmically computable and problems as algorithmically decidable
  • know and recognize undecidable problems
  • evaluate the complexity of algorithms
  • know problems that are solvable deterministically or nondeterministically in polynomial time
  • know the relevance of NP-complete problem 

Methodological competence
The students:

  • learn about the power of abstract models of computation
  • know problems which are not efficiently solvable and can detect these in practical tasks

Social competence
The students:

  • work together in small groups to solve problems
  • present solutions to problems to groups of other students

Self-competence
The students:

  • learn persistence in pursuing difficult tasks
  • learn precision in writing down solutions
Module contents

In the first part of the course, different classes of languages are introduced (regular and context-free languages). For each class a matching automata model is presented (finite automata, pushdown automata). Various properties are proven for the introduced classes of languages and models of automata. In the second part of the course, we examine which functions are computable and which problems are decidable. To this end, the concept of algorithm is formalised. Turing machines and grammars turn out as equivalent approaches. We show that there are problems that are undecidable. Many of these problems are of practical interest. The third part of the course deals with the complexity of algorithms, i.e. how much time and space is required to solve a problem. In particular, we consider problems that are solvable in polynomial time, either deterministically or non-deterministically. These problems are classified as P and NP.

Recommended reading

Essential: 

  • Skript "Grundbegriffe der Theoretischen Informatik", jeweils in aktueller Ausgabe

Recommended:

  • Schöning: "Theoretische Informatik kurzgefasst", 5. Auflage, Spektrum, 2008

Good secondary literature: 

  • Hopcroft, Motwani, Ullman: "Einführung in die Automatentheorie, Formale Sprachen und Komplexitätstheorie", Pearson, 2002 (ein Klassiker...)
Links
Language of instruction German
Duration (semesters) 1 Semester
Module frequency annual
Module capacity unlimited
Teaching/Learning method V+Ü
Previous knowledge Useful prerequisites:

set theory, functions, relations, propositional and predicate logic
Type of course Comment SWS Frequency Workload of compulsory attendance
Lecture 3 WiSe 42
Exercises 1 WiSe 14
Total module attendance time 56 h
Examination Prüfungszeiten Type of examination
Final exam of module

At the end of the lecture period

Written or oral exam