Logic has been names “the calculus of computer science”, that is, logic plays a similar important role in computer science as the role of calculus in the physical sciences.

This course will cover three main topics: an overview of elementary logic, propositional logic, and predicate logic (first order logic). To specify, the following will be introduced: natural deduction, semantics of propositional logic, normal forms, proof theory of predicate logic, semantics of predicate logic, undecidability and expressiveness of predicate logic. The general goal of this course is to prepare students for using logic as a formal tool in computer science.