inf400 - Theoretical Computer Science: Logic (Complete module description)

# inf400 - Theoretical Computer Science: Logic (Complete module description)

 Module label Theoretical Computer Science: Logic Modulkürzel inf400 Credit points 6.0 KP Workload 180 h Institute directory Department of Computing Science Verwendbarkeit des Moduls Bachelor's Programme Computing Science (Bachelor) > Basismodule Dual-Subject Bachelor's Programme Computing Science (Bachelor) > Wahlpflicht Theoretische Informatik (30 KP) Master of Education Programme (Gymnasium) Computing Science (Master of Education) > Wahlpflichtmodule (Theoretische Informatik) Master of Education Programme (Vocational and Business Education) Computing Science (Master of Education) > Akzentsetzungsbereich Zuständige Personen Wehrheim, Heike (module responsibility) Lehrenden, Die im Modul (Prüfungsberechtigt) Prerequisites No participant requirements Skills to be acquired in this module Introduction to propositional logic, predicate logic, logic programming, and temporal logic Professional competence The students: know syntax, semantics and applications of propositional logic, predicate logic, logic programming, and temporal logic specify problems by using logical formulas solve questions concerning propositional formulas with truth tables draw conclusions in the field of propositional logic and predicate logic by means of natural deduction answer queries to logic programs by using SLD resolution perform model checking of Kripke structures with regard to CTL formulas algorithmically Methodological competence The students: recognize logic as a versatile tool in computer science 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 The course introduces propositional, predicate and temporal logic. In computer science it is essential to have a good understanding of logic because the language of logical formulas is widely used in the field of computer science. For example, Boolean expressions appear in every programming language and in circuit design; Horn clauses are used in knowledge representation; predicate logic and temporal logic are used for specifying software and hardware. More recent applications such as interactive and automatic proving as well as the logic programming language PROLOG emphasize the tool character of logic in computer science. The course introduces syntax, semantics, procedures, and calculi to prove the validity of formulas of propositional, predicate, and temporal logic. This is illustrated by many examples. Central is the concept of logical consequence. Topics: propositional logic: syntax and semantics, truth tables, natural deduction predicate logic: syntax and semantics, natural deduction logic programming: declarative and procedural semantics, unification algorithm (Robinson), SLD resolution, PROLOG temporal logic CTL: syntax and semantics of Kripke structures, CTL model checking algorithm Literaturempfehlungen Essential: Script "Logik" (in German), in its current edition Recommended: D. van Dalen: "Logic and Structure", Fourth Edition. Springer-Verlag, 2004. Good secondary reading: U. Schöning: "Logic for Computer Scientists“, Birkhäuser, 1994. Links Language of instruction German Duration (semesters) 1 Semester Module frequency annual Module capacity unlimited Teaching/Learning method V+Ü Previous knowledge none
Lehrveranstaltungsform Comment SWS Frequency Workload of compulsory attendance
Lecture 3 SoSe 42
Exercises 1 SoSe 14
Präsenzzeit Modul insgesamt 56 h
Examination Prüfungszeiten Type of examination
Final exam of module
At the end of the lecture period
written exam or oral exam