England.  Change location

Algorithms, data structures and computability

This module aims to help you become a computational problem solver. You’ll learn techniques to solve computational problems efficiently and apply those techniques using Python. You’ll also learn about the limitations of computing: which problems can’t be solved algorithmically or for which no efficient solutions are known. This module is suitable if – whatever your field – you need to design or implement an efficient algorithm or to understand both the power and the limitations of computing. Though the focus is on the underlying ideas, you’ll also work with some mathematical concepts and notation.

Modules count towards OU qualifications

OU qualifications are modular in structure; the credits from this undergraduate module could count towards a certificate of higher education, diploma of higher education, foundation degree or honours degree.

Browse qualifications in related subjects

Module

Module code

M269

Credits

Credits

  • Credits measure the student workload required for the successful completion of a module or qualification.
  • One credit represents about 10 hours of study over the duration of the course.
  • You are awarded credits after you have successfully completed a module.
  • For example, if you study a 60-credit module and successfully pass it, you will be awarded 60 credits.
30

Study level

Across the UK, there are two parallel frameworks for higher education qualifications, the Framework for Higher Education Qualifications in England, Northern Ireland and Wales (FHEQ) and the Scottish Credit and Qualifications Framework (SCQF). These define a hierarchy of levels and describe the achievement expected at each level. The information provided shows how OU module levels correspond to these frameworks.
Level of Study
OU SCQF FHEQ
2 9 5

Study method

Module cost

Entry requirements

Student Reviews

One of the best modules I studied at the OU. This was a challenging module and required effort as it...
Read more

I enjoyed this module and found it a comprehensive exploration of essential computer science topics. The course was well-organized and...
Read more

Request your prospectus

Explore our subjects and courses

Request your copy now

What you will study

You’ll learn to take a problem and state it precisely in order that it can be solved with a computer. In other words, you’ll learn to express the problem in a way which allows you to write an algorithm for solving it. However, not all algorithms are equally good solutions. For that reason, you’ll also learn how to analyse the speed and efficiency of algorithms and establish whether an algorithm really does what it is supposed to do. Finally, you’ll delve into the very foundations of computing. You’ll learn which problems cannot be solved with an algorithm. You’ll also learn what the limits are on the speed with which algorithms can solve many important practical problems.

The module comprises three parts, each ending with an assignment:

Part 1
In the first part, you’ll learn about the basic data structures for organising data, like lists, stacks, queues, dictionaries, and sets. You’ll also learn how to analyse the complexity of an algorithm and how to measure its runtime.

Part 2
The second part covers two non-linear data structures: trees and graphs. The former can represent hierarchical data and the latter can model social, transport and other kinds of networks. The main focus of the second part are algorithmic techniques like search (brute-force, breadth-first and depth-first), divide and conquer, recursion and greedy algorithms. These are general-purpose techniques for solving a wide range of problems.

Part 3
In the third part, you’ll further develop your understanding of graphs and algorithmic techniques (backtracking, dynamic programming). You’ll also learn about the limitations of computational problem solving (non-computability and the P ≠ NP conjecture).

Vocational relevance

This module emphasises how valuable computational thinking skills are for solving a wide variety of real-world problems. Additionally, the study of computing concepts is tightly integrated with professional skills, such as testing and documenting Python programs and using Jupyter notebooks, and information literacy (in particular, searching for information and writing a brief report).

If you’re aiming to become a programmer or system builder, this module is ideal as it covers topics and skills that many leading employers in IT and computing value highly, and check in technical interviews.

Teaching and assessment

Support from your tutor

You’ll get help and support from an assigned tutor throughout your module.

They’ll help by:

  • marking your assignments and offering detailed feedback to help you improve
  • providing individual guidance, whether that’s for general study skills or specific module content
  • guiding you to additional learning resources
  • facilitating online discussions between your fellow students in the dedicated module and tutor group forums.

Online tutorials run throughout the module. Where possible, we’ll make recordings available. While they’re not compulsory, we strongly encourage you to participate.

Assessment

The assessment details for this module can be found in the facts box.

Future availability

Algorithms, data structures and computability (M269) starts once a year – in October.

This page describes the module that will start in October 2025.

We expect it to start for the last time in October 2028.

Regulations

As a student of The Open University, you should be aware of the content of the academic regulations which are available on our Student Policies and Regulations website.

Course work includes:

3 Tutor-marked assignments (TMAs)
No examination


Entry requirements

You must have passed or already started one of the following modules:

You need:

  • an understanding or experience of computing
  • an understanding and experience of programming in Python
  • some knowledge of mathematics.

Are you ready for M269?

Register

Start End England fee Register
04 Oct 2025 Jun 2026 £1946.00

Registration closes 11/09/25 (places subject to availability)

Register
This module is expected to start for the last time in October 2028.

Sorry, we’re experiencing technical issues – please try again later.

In the meantime, explore our overview of Fees and funding.

Can you study an Access module for free?

Depending on eligibility and availability of places, you could apply to study your Access module for free.

To qualify, you must:

  1. be resident in England
  2. have a household income of not more than £25,000 (or be in receipt of a qualifying benefit)
  3. have not completed one year or more on any full-time undergraduate programme at FHEQ level 4 or above or successfully completed 30 credits or more of OU study within the last 10 years

How to apply to study an Access module for free

Once you've started the registration process, either online or over the phone, we'll contact you about your payment options. This will include instructions on how you can apply to study for free if you are eligible and funded places are still available.

If you're unsure if you meet the criteria to study for free, you can check with one of our friendly advisers on +44 (0)300 303 0069, or you can request a call back.

Not eligible to study for free?

Don't worry! We offer a choice of flexible ways to help spread the cost of your Access module. The most popular options include:

  • monthly payments through OUSBA
  • part-time tuition fee loan (you'll need to be registered on a qualification for this option)

To explore all the options available to you, visit Fees and Funding.

What's included

You’ll have access to a module website, which includes:

  • a week-by-week study planner
  • course-specific materials
  • audio and video content
  • assessment details, instructions and guidance
  • online tutorial access
  • access to student and tutor group forums.

The module is delivered entirely using Jupyter notebooks which includes the module text and the code for the examples and exercises. The material is also available in PDF and HTML format and the code is also available in separate Python files.

Computing requirements

  • Primary device – A desktop or laptop computer with 5GB of free disk space. It’s possible to access some materials on a mobile phone, tablet or Chromebook; however, they will not be suitable as your primary device.
  • Peripheral device – Headphones/earphones with a built-in microphone for online tutorials.
  • Our OU Study app operates on supported versions of Android and iOS.
  • Operating systems – Windows 11 or latest supported macOS. Microsoft will no longer support Windows 10 as of 14 October 2025.
  • Internet access – Broadband or mobile connection.
  • Browser – Google Chrome is recommended. Mozilla Firefox and Safari may be suitable. Microsoft Edge is not compatible with Jupyter.

If you have a disability

The OU strives to make all aspects of study accessible to everyone and this Accessibility Statement outlines what studying M269 involves. You should use this information to inform your study preparations and any discussions with us about how we can meet your needs.

To find out more about what kind of support and adjustments might be available, contact us or visit our disability support pages.