The aim of this Algorithms, Data Structures and Computability module at The Open University UK is to help you become a computational thinker. Formulating a problem for efficient solution by computers is an extremely important skill. In this module, you will hone this skill: exploring a range of computing concepts; applying these to a variety of problems.

About

What you will study in the Algorithms, Data Structures and Computability module at The Open University UK:

You will learn to take a problem and state it precisely in order that it can be solved with a computer. In other words, you will 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 will 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 will delve into the very foundations of computing. You’ll learn which problems cannot be solved with an algorithm. You will also learn what the limits are on the speed with which algorithms can solve many important practical problems.

Throughout the module you’ll encounter activities and visualisations that bring to life the concepts that are at the heart of this module. You will gain an understanding of the basic principles behind the answers to a wide range of questions including:

  • How could algorithmic knowledge of sorting help a hospital during the devastation following a natural disaster such as the Haiti earthquake?
  • How can companies like Amazon and Facebook sort petabyte data sets within seconds, for further analysis? 
  • How can a bank locate a single customer record within a few milliseconds, from within a database of many millions of records?
  • How can a forensic laboratory locate a distinct sequence of base pairs speedily within a DNA molecule containing over three billion such pairs?
  • How can the millions of operations involved in the production process for an advanced aircraft be scheduled to give maximum efficiency and minimum cost and time span?
  • How can a computer be programmed to beat human chess players of grandmaster standard?
  • In a telecommunications network, how can the data packets being transferred from sender to destination be routed through a series of hundreds of switches to minimise delay and network congestion, as the patterns of network activity change constantly?
  • Can a compiler tell you whether your program will ever finish running?

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 the use of the Python programming language, awareness of SQL data manipulation, and information literacy (in particular, searching for information and writing a brief report).

If you are aiming to become a programmer or system builder, this module is ideal as it covers the skills and knowledge that many leading employers in IT and computing value highly, including:

  • algorithms: breadth-first, depth-first, greedy, dynamic programming
  • sorting and searching
  • big-O notation for characterising the efficiency of an algorithm
  • trees: know how to construct, traverse and manipulate tree structures
  • graphs: how to represent and search graphs
  • hash tables: arguably the single most important data structure known to mankind
  • other data structures and knowledge of NP-complete problems.

Detailed Programme Facts

  • Programme intensity Full-time
  • Credits
    30 alternative credits
  • Languages
    • English
  • Delivery mode
    Blended
  • More information Go to the programme website

Programme Structure

You will learn

The module comprises three parts.

Firstly, you are introduced to the concept of computational thinking. In particular, you will consider the question ’What is it to compute?’. A number of key concepts are defined – such as computational problem, algorithm and abstraction – and their application is illustrated. You will be given examples of computational problems and their solutions in a wide variety of fields, ranging from physics and biology to economics and sports. You will also start using the Python programming language.

Secondly, you’re introduced to tools and techniques for:

  • creating abstractions that represent a problem
  • devising algorithms that solve a problem efficiently.

A range of standard data structures and algorithms for sorting, searching and optimisation will be covered and illustrated with practical examples. You will also encounter notions such as Big-O notation, induction and recursion.

English Language Requirements

This programme requires students to demonstrate proficiency in English.

Academic Requirements

You need to have a good knowledge of computing; an understanding and experience of programming; and some knowledge of mathematics.

Living costs for Milton Keynes

  • 848 - 1350 GBP/month
    Living Costs

The living costs include the total expenses per month, covering accommodation, public transportation, utilities (electricity, internet), books and groceries.

Funding

Check the programme website for information about funding options.

StudyPortals Tip: Students can search online for independent or external scholarships that can help fund their studies. Check the scholarships to see whether you are eligible to apply. Many scholarships are either merit-based or needs-based.

The Global Study Awards: get funded with up to £10,000 to study abroad

Together with the ISIC Association and British Council IELTS, StudyPortals offers you the chance to receive up to £10000 to expand your horizon and study abroad. We want to ultimately encourage you to study abroad in order to experience and explore new countries, cultures and languages.