- UCAS course code
- G405
- UCAS institution code
- M20
Bachelor of Science (BSc)
BSc Computer Science with Industrial Experience
- Typical A-level offer: A*AA including specific subjects
- Typical contextual A-level offer: AAA including specific subjects
- Care experienced/sanctuary/carer offer: AAB including specific subjects
- Typical International Baccalaureate offer: 37 points overall with 7,6,6 at HL, including specific requirements
Book an open day
Explore our campus, meet lecturers and current students, and learn more about what it's like to study at Manchester.
Meet us
Join us online or in person to learn more about the University and our courses.
Discover more about our new Home of Engineering
Learn about your subject of interest and what you'll experience as a student in that community.
Discover more about our new Home of Engineering
Download our course brochure
Get to know us better with our guide to studying your subject of choice.
Download our course brochure
Course unit details:
Algorithms and Complexity
| Unit code | COMP36111 |
|---|---|
| Credit rating | 10 |
| Unit level | Level 3 |
| Teaching period(s) | Semester 1 |
| Offered by | Department of Computer Science |
| Available as a free choice unit? | Yes |
Overview
The Unit constitutes a self-contained introduction to the theory of Computational Complexity. It assumes no pre-requisites other than a knowledge of basic algorithms and mathematical notation. The teaching will be exclusively by means of traditional lectures, supported by the prescribed course text.
Pre/co-requisites
| Unit title | Unit code | Requirement type | Description |
|---|---|---|---|
| Mathematical Techniques for Computer Science | COMP11120 | Pre-Requisite | Compulsory |
| Fundamentals of Computation | COMP11212 | Pre-Requisite | Compulsory |
| Algorithms and Data Structures | COMP26120 | Pre-Requisite | Compulsory |
| Mathematical Foundations & Analysis | MATH11121 | Pre-Requisite | Compulsory |
| Foundations of Pure Mathematics B | MATH10111 | Pre-Requisite | Compulsory |
| Foundations of Pure Mathematics A | MATH10101 | Pre-Requisite | Compulsory |
COMP26120, COMP11212, and COMP11120 are pre-requisites. For CM students, MATH11121 or equivalent is required.
Aims
The unit aims to make students familiar with the basic concepts and techniques of the theory of Computational Complexity.
Learning outcomes
ILO 1: implement and analyse basic algorithms encountered in Computer Science (graph processing, string searching, flow networks, matching etc.)
ILO 2: recite the standard hierarchy of commonly-encountered complexity classes defined in relation to the Turing model of computation.
ILO 3: determine the computational complexity of a range of problems.
ILO 4: define the concepts of (problem-) reduction and computational hardness, and to develop familiarity with techniques for establishing lower complexity bounds---especially, NPTime-hardness.
ILO 5: prove the most important and central theorems in Complexity Theory (Cook's theorem, Ladner's theorem, Savitch's theorem the Immerman-Szelepcsényi theorem).
Syllabus
Directed graphs---topological ordering and Kosaraju's algorithm; undirected graphs--- union find; the Grzegorczyk hierarchy; flow networks---optimal flows, min-cost max-flow; 2D matching; string-processing algorithms; Turing Machines and computability; the Entscheidungsproblem; measuring computational complexity; separation theorems; SAT, k-SAT, Horn-SAT and QBF-SAT; hardness and reductions---Cook's theorem; graph-theoretical problems---3-colouring, Hamiltonian and Eulerian circuits; the TSP; integer linear programming; Savitch's theorem and the Immerman-Szelepcsényi theorem.
Teaching and learning methods
Two 1-hour lectures per week; coursework to provide practice for examination; final lecture on how to pass the examination.
Employability skills
- Analytical skills
- Innovation/creativity
- Problem solving
Assessment methods
| Method | Weight |
|---|---|
| Written exam | 80% |
| Set exercise | 20% |
Feedback methods
Through coursework in weeks 4, 7 and 10
Recommended reading
- Sipser, Michael. (2013). Introduction to the theory of computation. Cengage Learning. ISBN: 9781133187813
- Arora, Sanjeev. (2009). Computational complexity: a modern approach. Cambridge University Press. ISBN: 9780511804090
- Goodrich, Michael T. (2015). Algorithm design and applications. Wiley. ISBN: 9781119028482
- Roughgarden, Tim. (2022). Algorithms illuminated. Soundlikeyourself Publishing. ISBN: 9780999282984
Study hours
| Scheduled activity hours | |
|---|---|
| Lectures | 22 |
| Independent study hours | |
|---|---|
| Independent study | 78 |
Teaching staff
| Staff member | Role |
|---|---|
| Ian Pratt-Hartmann | Unit coordinator |
Fees and funding
Fees
Tuition fees for home students commencing their studies in September 2027 will be £10,050 per annum. Tuition fees for international students will be £39,700 per annum.
For general information please see the undergraduate finance pages.
Policy on additional costs
All students should normally be able to complete their programme of study without incurring additional study costs over and above the tuition fee for that programme. Any unavoidable additional compulsory costs totalling more than 1% of the annual home undergraduate fee per annum, regardless of whether the programme in question is undergraduate or postgraduate taught, will be made clear to you at the point of application. Further information can be found in the University's Policy on additional costs incurred by students on undergraduate and postgraduate taught programmes (PDF document, 91KB).
Scholarships/sponsorships
The University of Manchester is committed to attracting and supporting the very best students. We have a focus on nurturing talent and ability and we want to make sure that you have the opportunity to study here, regardless of your financial circumstances.
For information about scholarships and bursaries please visit our undergraduate student finance pages .
Regulated by the Office for Students
The University of Manchester is regulated by the Office for Students (OfS). The OfS aims to help students succeed in Higher Education by ensuring they receive excellent information and guidance, get high quality education that prepares them for the future and by protecting their interests. More information can be found at the OfS website.
You can find regulations and policies relating to student life at The University of Manchester, including our Degree Regulations and Complaints Procedure, on our regulations website.
