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

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

 Module label Theoretical Computer Science: Logic Module code inf400 Credit points 6.0 KP Workload 180 h Institute directory Department of Computing Science Applicability of the module 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 Responsible persons Wehrheim, Heike (module responsibility) Lehrenden, Die im Modul (authorised to take exams) Prerequisites Skills to be acquired in this module Introduction to propositional logic, predicate logic, logic programming, and temporal logicProfessional competenceThe students:know syntax, semantics and applications of propositional logic, predicate logic, logic programming, and temporal logicspecify problems by using logical formulassolve questions concerning propositional formulas with truth tablesdraw conclusions in the field of propositional logic and predicate logic by means of natural deductionanswer queries to logic programs by using SLD resolutionperform model checking of Kripke structures with regard to CTL formulas algorithmicallyMethodological competenceThe students:recognize logic as a versatile tool in computer scienceSocial competence The students:work together in small groups to solve problemspresent solutions to problems to groups of other studentsSelf-competenceThe students:learn persistence in pursuing difficult taskslearn 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 deductionpredicate logic: syntax and semantics, natural deductionlogic programming: declarative and procedural semantics, unification algorithm (Robinson), SLD resolution, PROLOGtemporal logic CTL: syntax and semantics of Kripke structures, CTL model checking algorithm Recommended reading Essential: Script "Logik" (in German), in its current editionRecommended: 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 Nützliche Vorkenntnisse: Grundlagen der Mengenlehre, Definition von Funktionen und Relationen
Type of course Comment SWS Frequency Workload of compulsory attendance
Lecture 3 SuSe 42
Exercises 1 SuSe 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 exam or oral exam