Academic Year: 
2014/5 
Owning Department/School: 
Department of Computer Science 
Credits: 
6 
Level: 
Intermediate (FHEQ level 5) 
Period: 
Semester 1

Assessment Summary: 
CW 25%, EX 75% 
Assessment Detail: 
 Coursework (CW 25%)
 Exam (EX 75%)

Supplementary Assessment: 
CM20217 Mandatory Extra Work (where allowed by programme regulations)

Requisites: 
Before taking this unit you must (take CM10227 and take CM10228 and take CM10196) or (take MA10209 and take XX10190) 
Description: 
Aims: To introduce formal models of computation. To give students an appreciation of the complexity of different algorithms and problems and the limits of computation. To provide students with a basic understanding of formal computational models such as finite state automata and Turing machines.
Learning Outcomes: On completion of this unit, students will be able to:
1. demonstrate an understanding of the fundamental models of computation.
2. explain the notion of complexity class, and establish what classes a range of wellknown problems belong to.
3. demonstrate that some computational problems are undecidable.
Skills: Use of IT (A), Application of Number (T/F, A), Problem Solving (T/F, A).
Content:
* Models of computation: for example, basic notions of finite state automata, Turing Machines, register machines.
* Decidability. The undecidability of the Halting Problem. Reduction of other problems to the halting problem.
* Complexity. BigO notation and complexity of algorithms. The notion of complexity class as a measure of the difficulty of a problem. Reduction between problems. Hardness and completeness of a problem with respect to a complexity class. The hierarchy of complexity classes. The question of whether P=NP and its importance for computer science.

Programme availability: 
CM20217 is Compulsory on the following programmes:
Department of Computer Science
 USCMAFB06 : BSc(Hons) Computer Science (Year 2)
 USCMAAB07 : BSc(Hons) Computer Science with Study year abroad (Year 2)
 USCMAKB07 : BSc(Hons) Computer Science with Year long work placement (Year 2)
 USCMAFM01 : MComp(Hons) Computer Science (Year 2)
 USCMAAM02 : MComp(Hons) Computer Science with Study year abroad (Year 2)
 USCMAKM02 : MComp(Hons) Computer Science with Year long work placement (Year 2)
 USCMAFB20 : BSc(Hons) Computer Science and Mathematics (Year 2)
 USCMAAB20 : BSc(Hons) Computer Science and Mathematics with Study year abroad (Year 2)
 USCMAKB20 : BSc(Hons) Computer Science and Mathematics with Year long work placement (Year 2)
 USCMAFM14 : MComp(Hons) Computer Science and Mathematics (Year 2)
 USCMAAM14 : MComp(Hons) Computer Science and Mathematics with Study year abroad (Year 2)
 USCMAKM14 : MComp(Hons) Computer Science and Mathematics with Year long work placement (Year 2)
CM20217 is Optional on the following programmes:
Department of Computer Science
 USCMAFB09 : BSc(Hons) Computer Science with Business (Year 3)
 USCMAAB10 : BSc(Hons) Computer Science with Business with Study year abroad (Year 4)
 USCMAKB10 : BSc(Hons) Computer Science with Business with Year long work placement (Year 4)
Department of Mathematical Sciences
 USMAAFB15 : BSc(Hons) Mathematical Sciences (Year 2)
 USMAAFB15 : BSc(Hons) Mathematical Sciences (Year 3)
 USMAAAB16 : BSc(Hons) Mathematical Sciences with Study year abroad (Year 2)
 USMAAAB16 : BSc(Hons) Mathematical Sciences with Study year abroad (Year 4)
 USMAAKB16 : BSc(Hons) Mathematical Sciences with Year long work placement (Year 2)
 USMAAKB16 : BSc(Hons) Mathematical Sciences with Year long work placement (Year 4)
 USMAAFB13 : BSc(Hons) Mathematics (Year 2)
 USMAAFB13 : BSc(Hons) Mathematics (Year 3)
 USMAAAB14 : BSc(Hons) Mathematics with Study year abroad (Year 2)
 USMAAAB14 : BSc(Hons) Mathematics with Study year abroad (Year 4)
 USMAAKB14 : BSc(Hons) Mathematics with Year long work placement (Year 2)
 USMAAKB14 : BSc(Hons) Mathematics with Year long work placement (Year 4)
 USMAAFM14 : MMath(Hons) Mathematics (Year 2)
 USMAAFM14 : MMath(Hons) Mathematics (Year 3)
 USMAAAM15 : MMath(Hons) Mathematics with Study year abroad (Year 2)
 USMAAKM15 : MMath(Hons) Mathematics with Year long work placement (Year 2)
 USMAAKM15 : MMath(Hons) Mathematics with Year long work placement (Year 4)
 USMAAFB01 : BSc(Hons) Mathematics and Statistics (Year 3)
 USMAAAB02 : BSc(Hons) Mathematics and Statistics with Study year abroad (Year 4)
 USMAAKB02 : BSc(Hons) Mathematics and Statistics with Year long work placement (Year 4)
 USMAAFB05 : BSc(Hons) Statistics (Year 2)
 USMAAFB05 : BSc(Hons) Statistics (Year 3)
 USMAAAB06 : BSc(Hons) Statistics with Study year abroad (Year 2)
 USMAAAB06 : BSc(Hons) Statistics with Study year abroad (Year 4)
 USMAAKB06 : BSc(Hons) Statistics with Year long work placement (Year 2)
 USMAAKB06 : BSc(Hons) Statistics with Year long work placement (Year 4)
