CM20217: Foundations of computation
[Page last updated: 02 August 2022]
Academic Year: | 2022/23 |
Owning Department/School: | Department of Computer Science |
Credits: | 6 [equivalent to 12 CATS credits] |
Notional Study Hours: | 120 |
Level: | Intermediate (FHEQ level 5) |
Period: |
|
Assessment Summary: | CW 25%, EX 75% |
Assessment Detail: |
|
Supplementary Assessment: |
|
Requisites: | Before taking this module you must ( take CM10196 OR take CM10311 OR take MA10209 ) AND ( take CM10227 OR take XX10190 OR take MA10265 OR take MA10275 OR take MA10276 ) |
Learning Outcomes: | On completion of this unit, students will be able to:
1. demonstrate an understanding of the fundamental models of computation and the corresponding classes of formal grammars and languages; 2. design algorithms for specific computational problems as automata of appropriate types; 3. prove mathematically that some computational problems are undecidable within a particular class of computational models; 4. be able to give upper bounds on complexities of some decidable computational problems. |
Aims: | To introduce formal models of computation: finite automata, pushdown automata, Turing machines, and the corresponding classes of formal languages: regular, context-free, semi-decidable. To teach students to design algorithms for concrete computational problems within these models of computation. To introduce the dichotomy between deterministic and non-deterministic computation.
To give students an appreciation of limits of computation, including methods of proving undecidability and specific examples of undecidable problems. To introduce the concept of computational complexity and complexity classes. |
Skills: | Use of IT (A), Application of Number (T/F, A), Problem Solving (T/F, A). |
Content: | 1. Deterministic and non-deterministic finite automata.
2. Regular languages. Existence of non-regular languages. 3. Pushdown automata and context-free grammars and languages. Parsing in context-free languages. 4. Existence of non-context-free languages via Pumping Lemma. 5. Turing machines and Church-Turing Thesis. 6. Universal Turing machine and undecidability of the halting problem. 7. Non-deterministic Turing machines, complexity classes P and NP. |
Programme availability: |
CM20217 is Compulsory on the following programmes:Department of Computer Science
|
Notes:
|