|Module Title||AN INTRODUCTION TO THEORETICAL COMPUTER SCIENCE|
|Co-ordinator||Dr Mark Ratcliffe|
|Other staff||Dr Edel Sherratt|
|Course delivery||Lecture||16 lectures|
|Workshop||Up to 6|
|Assessment||Supplementary examination||Will take the same form, under the terms of the Department's policy|
|Exam||2 Hours Written exam.||100%|
The aims of this module are:
1. Sets, functions and relations - 4 Lectures
Motivation - relationship with programs. What are sets and how do we describe them. When to use enumeration and when to use predicates. The set of truth values. Cardinality. Subsets. Using sets to specify pre- and post-conditions for programs. Sets and sequences. Representing sets as sequences. A proof involving sets and sequences. Proof by contradiction. Cartesian product. Powerset. Proof that a finite set A with n elements has 2n subsets. Set union, intersection, difference. Universal set. Complement of a set. Venn-Euler diagrams.
2. Functions (maps) - 4 Lectures
What are functions and how do we represent them - pictorially, using definitions, injection, bijection, surjection. Functions and the meaning of assignment. Variables. States and operations that cause a change of state. Functions. Relations and logical conditions.
3. Languages and Problems - 4 Lectures
Motivation: computation entails using language to describe and solve problems. Symbols, alphabets. Strings. String concatenation. Alphabets and strings. Languages. Language union, intersection, difference and symmetric difference. Language concatenation. Kleene star. Regular expressions and regular languages. Deterministic finite automata. Nondeterministic Finite Automata. Languages that are not regular. The Pumping Lemma (simple and general forms). Proving that a language is/is not regular. Closure properties of regular language. Using the closure properties to prove that a language is not regular. Context free languages. Context free grammars. Derivations of context free grammars. Context free grammars and regular grammars. Pushdown automata. Languages that are not context free. Context free languages are not closed under intersection. Context free languages are not closed under complementation. Context free languages are closed under union.
4. Induction - 2 Lectures
What is induction? Proof by induction over N. Structural induction. The Principle of Complete Induction. Proofs involving context free grammars
5. Turing Machines - 2 Lectures
What are Turing machines. Beyond context free languages. Example.