CSIS102 Theoretical Computer Science
CSIS102 Theoretical Computer Science
A-Basic Information
B- Professional Information
Aims
A course in theoretical computer science comprises the mathematical underpinnings of the
field. It introduces three major topics: logic and proofs, formal languages and automata
theory, and computability theory.
This course starts by an introduction to propositional and first-order logic, with proof
theories for each. Major proof techniques are thoroughly introduced to equip students with
essential tools for studying theoretical computer science. The theory of formal languages and
automata investigates mathematical models of computation, and classifies them with respect
to their computational power. Computability theory addresses a fundamental issue: is a
given problem solvable (by a computer) in the first place?
In addition to its foundational role, the theory of computation had had vast applications in
various areas of computing. These include the specification of the syntax of programming
languages, compiler construction, string processing, and cryptography.
c. Intellectual skills
c1. Prove properties of formal languages.
c2. Characterize regular languages using finite automata and regular expressions.
c3. Characterize context-free languages using pushdown automata and context-free grammars.
c4. Characterize recursively-enumerable languages using Turing machines and enumerators.
c5. Use the pumping lemma to prove that a language is not regular.
c6. Prove that a language is undecidable.
Assessment
1|Page
(Faculty Name) Semester course specs 209
Quizzes: 40%
Midterm Exam: 20%
Final Exam: 40%
References
Sipser, Michael, Introduction to the Theory of Computation (2nd edition), Thomson Course
Technology, 2006
Rosen, Kenneth, Discrete Mathematics and its Applications, McGraw-Hill Education, 2006.
Hopcroft, J., R. Motwani, and J. Ullman, Introduction to Automata Theory, Languages, and
Computation (2nd edition), Addison Wesley, 2001.
C- Administrative Information
Course Coordinator Contact Information
Course Coordinator: Haythem O. Ismail
E-mail: [email protected]
Telephone
Extension
2|Page