Formal logic appears naturally in several places in computer science. Logic gates are the elementary building blocks of integrated circuits. Proofs of NP-hardness often use reductions to satisfiability of Boolean expressions. Logic provides a concept of computability, and a wealth of problems that cannot be solved algorithmically. Propositional and predicate logic, as well as temporal logic and higher-order logic are used in the verification and validation of computer algorithms.
This one-semester course offers an introduction to these formal logics for those who are already acquainted with the basics of propositional logic and the language of predicate logic, such as found in the theoretical informatics course or the introduction to logic offered by the Philosophy and Linguistics Departments.
The module description (Modulbeschreibung) is out of date! There will be 2h lecture per week, problem sheets and 2h tutorial per week. Credit points are given for handing in 50% correct solutions to the problem sheets plus passing the written exam at the end of the semster.
U. Schöning: Logic for Computer Scientists