Teach Computing

Revision notes, activities, lesson plans, teaching ideas, and other resources for GCSE, A-Level, and IB Computer Science teachers and students.

What's New

Boolean logic worksheet pack

These three Boolean logic worksheets have exam style questions on logic sta...

Edexcel Computer Science (9-1)

by Ann Weidmann et al Amazon.com | Amazon.co.uk | Book Depository This bo...

Dijkstra's algorithm video

This video is probably the best explanation of Dijkstra's algorithm for IB ...

Input-Process-Output (IPO) Model

The Input-Process-Output model is a simple topic but some students sometime...


A comprehensive review of hexadecimal. The video covers not only how to u...

Subprograms, Local Variables & Structured Programming

Subprograms are known by several different names - methods, functions, proc...

Utility Software and Models

Some students find the difference between operating system software and ut...

Data Structures

This video explains different types of data structures - 1 dimensional ar...

Operating System (OS) - GCSE Computer Science

A detailed overview of operating systems, starting with the general tasks t...

2.2 Data representation

Click here for recommended Cambridge A-Level Computer Science textbooks.

2.2.1 Data Types


Characters, Symbols and the Unicode Miracle

Characters, Symbols and the Unicode Miracle explains how ASCII arose from the need to communicate data in a compatible manner between computer systems, and the problems that arise with this apparently simple task. It then discusses the creation of the Unicode system.

Updated: 2015-04-29
Unicode character table

Unicode Table

Unicode table is a nice scrollable web page which lists all of the unicode characters. The title and a brief description of each section is presented while you scroll. This page is useful for helping students realise just how many different characters need to be represented by computer systems, and the problems this would cause with a standard like Unicode.

Updated: 2015-04-29

2.2.2 Arrays

Sorting algorithms

VisuAlgo: Sorting Algorithms

Visu Algo is another site which offers animated visualizations of common computing algorithms. The great thing about their animated sorting algorithms is the ability to display pseudo-code next to the animation and have it run step-by-step, following each line of code as it is processed. Really useful for helping students better understand code.

Updated: 2015-04-13

Algorithms in pseudocode and flow diagrams

This video from Cambridge GCSE Computing is an excellent introduction to algorithms, helping students understand what they are and how they are used. It also briefly introduces the idea of pseudo-code as a language for writing algorithms.

Updated: 2015-04-13
Merge sort and bubble sort

Bubble sort and Merge sort

Using a combination of playing cards and simple computer animations, this video clearly explains the bubble sort and merge sort algorithms step by step. It also compares the speed of each algorithm of data sets of different sizes.

The second half of the video examines the complexity of the algorithms, introducing 'Big O' notation and highlighting how bubble sort's complexity is a major drawback on large lists.

Updated: 2015-05-27
Sorting balance class activity

The Sorting Balance

This is another interactive to help students learn about sorting algorithms. They must use a set of virtual scales to test and compare the weights of 10 jars. Students must then line the jars up in the correct order at the bottom of the page. There are, of course, multiple ways to solve the problem - some more efficient than others. CS Field Guide have a similar game.

Updated: 2017-01-23
Animated sorting algorithms

Advanced ICT: Sorting algorithms

Another page with animated examples of various sorting algorithms, including bubble sort (standard and optimised versions), merge sort, and insertion sort. The animation speed can be increased or decreased to help visualise the process.

Updated: 2015-10-28
Bubble sort algorithm

Bubble Sort algorithm

This Bubble Sort video does exactly as its name suggests - explaining the algorithm clearing with the aid of diagrams. Although it is labelled as "Java", it is relevant to all computer science students.

There is also a good explanation of the algorithm (including why it is very inefficient) plus step by step diagrams here.

Updated: 2017-01-23

2.2.3 Files