- Academic Registry
Programme & Unit Catalogues


CM20217: Foundations of computation

[Page last updated: 27 October 2020]

Follow this link for further information on academic years Academic Year: 2020/1
Further information on owning departmentsOwning Department/School: Department of Computer Science
Further information on credits Credits: 6      [equivalent to 12 CATS credits]
Further information on notional study hours Notional Study Hours: 120
Further information on unit levels Level: Intermediate (FHEQ level 5)
Further information on teaching periods Period:
Semester 1
Further information on unit assessment Assessment Summary: CW 25%, EX 75%
Further information on unit assessment Assessment Detail:
  • Coursework (CW 25%)
  • Exam (EX 75%)
Further information on supplementary assessment Supplementary Assessment:
Like-for-like reassessment (where allowed by programme regulations)
Further information on requisites Requisites: Before taking this module you must ( take CM10196 OR take MA10209 ) AND ( take CM10227 OR take XX10190 )
Description: 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.

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.

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.
Further information on programme availabilityProgramme availability:

CM20217 is Compulsory on the following programmes:

Department of Computer Science
  • USCM-AFB06 : BSc(Hons) Computer Science (Year 2)
  • USCM-AAB07 : BSc(Hons) Computer Science with Study year abroad (Year 2)
  • USCM-AKB07 : BSc(Hons) Computer Science with Year long work placement (Year 2)
  • USCM-AFB20 : BSc(Hons) Computer Science and Mathematics (Year 2)
  • USCM-AAB20 : BSc(Hons) Computer Science and Mathematics with Study year abroad (Year 2)
  • USCM-AKB20 : BSc(Hons) Computer Science and Mathematics with Year long work placement (Year 2)
  • USCM-AFM01 : MComp(Hons) Computer Science (Year 2)
  • USCM-AAM02 : MComp(Hons) Computer Science with Study year abroad (Year 2)
  • USCM-AKM02 : MComp(Hons) Computer Science with Year long work placement (Year 2)
  • USCM-AFM14 : MComp(Hons) Computer Science and Mathematics (Year 2)
  • USCM-AAM14 : MComp(Hons) Computer Science and Mathematics with Study year abroad (Year 2)
  • USCM-AKM14 : MComp(Hons) Computer Science and Mathematics with Year long work placement (Year 2)

CM20217 is Optional on the following programmes:

Department of Computer Science
  • USCM-AFB09 : BSc(Hons) Computer Science with Business (Year 3)
  • USCM-AAB10 : BSc(Hons) Computer Science with Business with Study year abroad (Year 4)
  • USCM-AKB10 : BSc(Hons) Computer Science with Business with Year long work placement (Year 4)
Department of Mathematical Sciences
  • USMA-AFB15 : BSc(Hons) Mathematical Sciences (Year 2)
  • USMA-AAB16 : BSc(Hons) Mathematical Sciences with Study year abroad (Year 2)
  • USMA-AKB16 : BSc(Hons) Mathematical Sciences with Year long work placement (Year 2)
  • USMA-AFB13 : BSc(Hons) Mathematics (Year 2)
  • USMA-AAB14 : BSc(Hons) Mathematics with Study year abroad (Year 2)
  • USMA-AKB14 : BSc(Hons) Mathematics with Year long work placement (Year 2)
  • USMA-AFB05 : BSc(Hons) Statistics (Year 2)
  • USMA-AAB06 : BSc(Hons) Statistics with Study year abroad (Year 2)
  • USMA-AKB06 : BSc(Hons) Statistics with Year long work placement (Year 2)
  • USMA-AFM14 : MMath(Hons) Mathematics (Year 2)
  • USMA-AAM15 : MMath(Hons) Mathematics with Study year abroad (Year 2)
  • USMA-AKM15 : MMath(Hons) Mathematics with Year long work placement (Year 2)

Notes:

  • This unit catalogue is applicable for the 2020/21 academic year only. Students continuing their studies into 2021/22 and beyond should not assume that this unit will be available in future years in the format displayed here for 2020/21.
  • Programmes and units are subject to change in accordance with normal University procedures.
  • Availability of units will be subject to constraints such as staff availability, minimum and maximum group sizes, and timetabling factors as well as a student's ability to meet any pre-requisite rules.
  • Find out more about these and other important University terms and conditions here.