About Logic in Computer Science
The study of basic mathematical logic such as propositional logic and predicate logic is considered an important theoretical underpinning to any undergraduate computer science course. The aim of logic in computer science is to develop languages to model the situations we encounter as computer science professionals, in such a way that we can reason about them formally. Reasoning about situations means constructing arguments about them; we want to do this formally, so that the arguments are valid and can be defended rigorously, or executed on a machine. This course covers topics such as propositional logic, syntax and semantics of propositional logic, logical connectives, Truth tables, Tautologies and Contradictions, Valid propositions. The normal forms: Disjunctive normal form (DNF) and Conjunctive normal form (CNF) will be discussed. Limitations on propositional logic are also discussed. The other major to be discussed is predicate logic. In this topic, subtopics such as the need for predicate logic, Quantifiers: Universal and Existential quantifiers; predicate well-formed formulas (wffs), valid arguments, and limitations on predicate logic is covered. The course also covers other topics like Logic programming, some introductory topics on modal logic and other logics such as Intuitionistic, Lukasiewicz, Probabilisitic, Possibilistic and Fuzzy logic.