Logic in Computer Science Course Out Line
Logic in Computer Science Course Out Line
Mizan-Tepi UNIVERSITY
Department of Computer Science
Module ECTS: 10
4 16 48 0 44 108
1. Course Description:
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.
2. Objective
By the end of this course, students will be able to:
Identify a proposition from other sentences
Understand logical connectives and finding truth values of compound propositions formed
using logical connectives
Understand the syntax and semantics of propositional and predicate logic.
Prove the validity of propositional well-formed formula, predicate well-formed formula
using rules which are stated and proved and also by applying hypothesis developed through
the argumentation
Know how to represent a given proposition in symbolic form and propositional wff, which
simplifies checking whether the argument is valid or invalid
Understand how to represent a given verbal argument (predicate) in symbolic form and
predicate wff, which simplifies checking whether the argument is valid or invalid
3. Course Content:
The following is an outline of the order in which syllabus contents will be covered. The exact dates
and due dates for assignments and exams can be found on the class calendar and are subject to
change with notice.
Week TOPIC
Week 1 Chapter 1: Introduction:
1.1 Aim of logic in computer science
1.2 Applications of logic in computer science
1.3 statements/propositions
1.4 Logical connectives
Week 2– 4 Chapter 2: Propositional Logic
2.1 Syntax of propositional logic
2.2 Truth tables
2.3 Propositional wffs
2.4 Tautologies & contradiction
2.5 Validity
2.6 Valid arguments and proofs
2.7 Derivation rules for propositional logic
2.8 Deduction method
2.9 Additional inference rules
2.10 Verbal arguments
Week5– 6 Chapter 3: Normal Forms
3.1 Literal, Term, Clause
3.2 Normal Forms
3.2.1 Negation Normal Form
3.2.2 Disjunctive Normal Form (DNF)
3.2.3 Conjunctive Normal Form (CNF)
Week 7 - 9 Chapter 4: Predicate Logic
4.2 Quantifiers:
4.5 Translation
Test 20%
Final examination 40%
Assignments 10%
Quiz 10%
Project 20%
Total 100%
6. Required Texts:
Text book:
1. Huth, Mickael (2004) Logic in computer science 2nd Cambridge university press USA
2. Judith L. Gersting. Mathematical Structures for Computer Science, W.H. Freeman and
Company New York, 5th ed. (2004) (Required text)
Reference book
1. S. Burris. Logic for Mathematics and Computer Science, Prentice-Hall, 1998 (Optional)
2. Fuzzy Logic Tutorial, http://www.seattlerobotics.org/encoder/mar98/fuz/flindex.html
3. Dirk van Dalen. The Blackwell Guide to Philosophical Logic.
(http://www.blackwellreference.com/subscriber/uid=3/tocnode?id=g9780631206934_chu
nk_g978063120693414