Bachelor of Science (BSc)

BSc Computer Science with Industrial Experience

Graduate the most targeted university by top graduate employers, having already gained invaluable experience in industry (THE Graduate Market, 2023).
  • Duration: 4 years
  • Year of entry: 2027
  • UCAS course code: G405 / Institution code: M20
  • Key features:
  • Industrial experience
  • Scholarships available
  • Accredited course

Full entry requirementsHow to apply

Course unit details:
Algorithms and Complexity

Course unit fact file
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.

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

  1. Sipser, Michael. (2013). Introduction to the theory of computation. Cengage Learning. ISBN: 9781133187813
     
  2. Arora, Sanjeev. (2009). Computational complexity: a modern approach. Cambridge University Press. ISBN: 9780511804090
     
  3. Goodrich, Michael T. (2015). Algorithm design and applications. Wiley. ISBN: 9781119028482
     
  4. 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 .

Return to course details

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.