Module code: PHY3068

Module Overview

This module covers circuit-based quantum computers and some of the algorithms that can be implemented using them. The idea of a classical computational algorithm and its complexity is introduced, and used as a language to discuss quantum computational algorithms. Components of quantum circuits are discussed individually, and then built up to show how algorithms such as the quantum Fourier transform and Grover¿s search algorithm can be implemented, and how such algorithms can be used in applications such as factorizing integers using Shor's algorithm. The Python package qiskit is introduced and used as a tool to implement the algorithms on simulated quantum computers.

Module provider

Mathematics & Physics

Module Leader

STEVENSON Paul (Maths & Phys)

Number of Credits: 15

ECTS Credits: 7.5

Framework: FHEQ Level 6

Module cap (Maximum number of students): N/A

Overall student workload

Independent Learning Hours: 88

Lecture Hours: 20

Laboratory Hours: 12

Guided Learning: 10

Captured Content: 20

Module Availability

Semester 2

Prerequisites / Co-requisites


Module content

This module introduces the concept of algorithms, the ideas of circuit-based universal quantum computers, the qiskit programming package, and the implementation of particular quantum algorithms on quantum computers using qiskit.

The concepts of algorithms are discussed in a general sense, introducing ideas of their complexity and of algorithms as information processors. Circuit-based universal quantum computers are presented, through introducing individual gates and their operation on qubits and qubit registers. Through building up circuits, examples of different quantum algorithms are developed. Basic algorithms include Grover's algorithm for database search and the quantum Fourier transform. In each case, the algorithms are compared to classical equivalent in terms of complexity and function. Further uses of algorithms in solving problems are discussed, including the example of Shor's algorithm using the quantum Fourier transform in an algorithm to factor integers.

Throughout the module the Python package qiskit is used to implement quantum algorithms on simulated quantum computers. The package will be introduced from scratch and taught to a level where students taking this module will be able to use it in their own implementation of quantum algorithms.

Assessment pattern

Assessment type Unit of assessment Weighting
Examination Online Mid-semester test (1.5 hour) 20
Coursework Computing project 80

Alternative Assessment


Assessment Strategy

The assessment strategy is designed to provide students with the opportunity to demonstrate:

  • Knowledge and basic understanding, which are assessed via shorter questions in a mid-semester online test.

  • A project assignment in which the student has to develop and implement a working algorithm is assessed at the end of the semester.  

Formative assessment: Weekly formative exit tests will give formative feedback on how students are progressing.

Feedback: The results of the formative tests can be discussed with the teaching team in the computational laboratory sessions, where feedback on any other aspect of the student's understanding can also be obtained. The mid-semester online test gives feedback on knowledge and skills gained to that point.

Module aims

  • To summarise concepts of algorithms and complexity from classical computing
  • To introduce the circuit paradigm for general quantum computers
  • To teach the qiskit package for implementing quantum circuits
  • To cover basic quantum algorithms and their circuit implementation. These algorithms to include: Grover, Quantum Fourier Transform, Quantum Phase Estimation, Shor.

Learning outcomes

Attributes Developed
001 Understanding basic ideas of algorithmic complexity K
002 Ability to write quantum algorithms in qiskit language CKPT
003 To understand the elements of quantum circuits CK
004 To understand basic quantum algorithms K
005 To understand and explain how more complex algorithms are built up from basic building blocks CK

Attributes Developed

C - Cognitive/analytical

K - Subject knowledge

T - Transferable skills

P - Professional/Practical skills

Methods of Teaching / Learning

The learning and teaching strategy is designed to:

  • Ensure that students are able to understand and explain concepts related to quantum algorithms, and to be able to implement algorithms in practice using the qiskit language on simulated quantum computers.

The learning and teaching methods include:

  • Lecture-based classes to cover key theoretical concepts within the module

  • Computer laboratory classes in which students implement ideas from the lecture-based classes

Indicated Lecture Hours (which may also include seminars, tutorials, workshops and other contact time) are approximate and may include in-class tests where one or more of these are an assessment on the module. In-class tests are scheduled/organised separately to taught content and will be published on to student personal timetables, where they apply to taken modules, as soon as they are finalised by central administration. This will usually be after the initial publication of the teaching timetable for the relevant semester.

Reading list

Upon accessing the reading list, please search for the module using the module code: PHY3068

Other information

The School of Mathematics and Physics is committed to developing graduates with strengths in Employability, Digital Capabilities, Global and Cultural Capabilities, Sustainability, and Resourcefulness and Resilience. This module is designed to allow students to develop knowledge, skills, and capabilities in the following areas:

Sustainability: Algorithms in this module demonstrate the principle that quantum computes may operate with significantly improved algorithmic efficiency than classical algorithms, leading to the improved energy costs of performing computational tasks with future technology.

Digital Capabilities: This module trains students in the next wave of computational technology being developed worldwide that promises to transform the economy and computational infrastructure in years to come.

Programmes this module appears in

Programme Semester Classification Qualifying conditions
Physics BSc (Hons) 2 Optional A weighted aggregate mark of 40% is required to pass the module
Physics with Astronomy BSc (Hons) 2 Optional A weighted aggregate mark of 40% is required to pass the module
Physics with Nuclear Astrophysics BSc (Hons) 2 Optional A weighted aggregate mark of 40% is required to pass the module
Mathematics and Physics BSc (Hons) 2 Optional A weighted aggregate mark of 40% is required to pass the module
Mathematics and Physics MPhys 2 Optional A weighted aggregate mark of 40% is required to pass the module
Mathematics and Physics MMath 2 Optional A weighted aggregate mark of 40% is required to pass the module

Please note that the information detailed within this record is accurate at the time of publishing and may be subject to change. This record contains information for the most up to date version of the programme / module for the 2025/6 academic year.