CS3052 Computational Complexity
Academic year
2024 to 2025 Semester 2
Curricular information may be subject to change
Further information on which modules are specific to your programme.
Key module information
SCOTCAT credits
15
SCQF level
SCQF level 9
Planned timetable
To be arranged.
Module Staff
TBC Module coordinator(s): Honours Coordinator - Computer Science (hons-coord-cs@st-andrews.ac.uk)
Module description
This module introduces Turing machines, non-determinism and pushdown automata, followed by study of decidability, simulation and the Halting problem. It builds upon finite state machines, context-free grammars and big-O notation from second year. The complexity classes P, NP, co-NP, NP-hard, etc., are described via analysis of SAT and graph isomorphism. Strengths and limitations of the abstract approach to complexity are discussed, followed by an in-depth introduction to practical complexity: flops, worst- and average-case analysis, approximate solutions, and case studies.
Relationship to other modules
Pre-requisites
BEFORE TAKING THIS MODULE YOU MUST PASS CS2002 AND PASS CS3050 AND ( PASS CS2101 OR PASS CS2001 )
Anti-requisites
YOU CANNOT TAKE THIS MODULE IF YOU TAKE MT3852
Assessment pattern
3-hour Examination = 40%, Coursework = 60%
Re-assessment
3-hour Examination = 40%, Coursework = 60%
Learning and teaching methods and delivery
Weekly contact
2 lectures (x 11 weeks) and fortnightly tutorial.
Scheduled learning hours
28
Guided independent study hours
122