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.1 Computer Organisation

Click here for recommended IB Computer Science textbooks.

Computer architecture

How computers work activity

How Computers Work - Kinesthetic Activity

In this kinesthetic activity students act out the roles of the Arithmetic and Logic Unit (ALU), the CPU, the memory, and the display as they act out how these basic hardware components function by "running" sample programs. This is a great way of introducing the basic concepts before moving on to more advanced machine architecture. You can download the following sheets:

This activity was created by Gary Kacmarcik from cse4k12.org and is licensed under the Creative Commons CC-SA licence.

Updated: 2015-04-25
Little Man Computer simulator

Little Man Computer (LMC)

The Little Man Computer (LMC) is a software simulator of a simple computer with a CPU, memory, and a basic instruction set. Students can enter programs in either assembly language or machine code and follow their exceution by watching the change state of the program counter, accumulator, and memory. More advanced versions show animated representations of the address and data lines too. The LMC is a great tool for helping students visualise how code and data are represented in memory and how the fetch-execute cycle works.

There are now many versions of the LMC available. Some of the best include:

Most of these versions of the LMC include instructions but probably the clearest explanation of the instruction set is from Durham University.
Updated: 2015-04-25
Main memory

Main Memory

This video examines the three main types of of main memory and explains the purpose of each. It also highlights common confusion surrounding between RAM, ROM, cache, and registers. Each memory type is compared in terms of speed, capacity, cost, and volatility.

Updated: 2017-11-12
Von Neumann

The CPU and Von Neumann Architecture

This video covers the components of the CPU such as the Control Unit (CU) and the Arithmetic and Logic Unit (ALU). It also explains the fetch-decode-execute model of the Von Neumann architecture.

Updated: 2017-11-12

Secondary memory


BBC Bitesize: Data Storage

Covers all aspects of primary and secondary storage devices, including interactive lesson activities, notes, and a revision quiz. Well illustrated, this page also details the relative advantages and disadvantages of each storage medium.

Updated: 2015-04-25

IGCSE ICT: Storage

Although targetted at the IGCSE ICT syllabus, this site still has a lot of useful information for other courses. Their section on storage covers different types of storage media and storage devices, including optical, magnetic, and solid state systems. They also have a section on backing up data.

Updated: 2015-04-25

TeachICT: Storage

Teach-ICT is a popular site which covers the basic topics of computer science - in this case, with notes on secondary storage devices and comparisons in terms of capacity, speed, portability, durability, and reliability. It also has a small section on online storage (cloud computing)

Updated: 2015-04-25
Computer storage devices

Storage Devices

Computer Hope has a good overview of storage devices. The page divides storage hardware into optical, magnetic, and solid state devices, and there are links to sub-pages with much more information. The content is clearly presented and easy to read, making it very accessible for students.
Updated: 2015-09-16

Operating systems and application systems

Operating Systems

Operating System (OS) - GCSE Computer Science

A detailed overview of operating systems, starting with the general tasks they perform (process management, memory management, user interface) and then going into more detail about how these tasks are performed. The video is aimed at GCSE courses and so does not go into lots of detail about how (for example) an OS schedules tasks - but it is more than enough to cover the GCSE syllabus.

Updated: 2018-02-17

Binary representation

Binary tetris

Binary Tetris

Binary Tetris is a flash game designed to help teach students the binary number system. Players must flip bits to achieve the required number, or add up the bits to calculate the number being represented. I'd recommend asking students to turn their sound off before starting this!

Updated: 2015-04-07
Binary game

Binary Fun

This simple game challenges players to flip the right bits to create the specified number. The current total is displayed as bits are changed, and there is a timer to complete against. Students may be surprised to learn this game was created using Scratch.

Updated: 2017-10-17
Hexadecimal game

Hexadecimal-binary matching game

This is a fun little matching pairs style game in which players must match decimal numbers with their hexadecimal equivalents. A good way of testing students' ability to quickly perform mental conversions. Click here to play.

Updated: 2017-11-05

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
Hexadecimal colour codes

Hexadecimal colour codes

Section 5.5.2 of this much bigger page on data representation covers the uses of hexadecimal numbers to represent colours in images. It explains the correlation between the hexadecimal digits and the number of bits available, and the effect the bit depth has on the appearance of the image. The excellent interactives really make the concept come alive and visually highlight these differences to students. A highly recommended resource.

Updated: 2015-06-03
Counting in binary worksheet

Counting in binary

This handy PDF serves as a good summary sheet for students learning to count in binary. It covers decimal numbers from 0 to 63 (5 bits). It is good for GCSE and younger students, although it can be useful for older students too.

The sheet was created by Gary Kacmarcik at the excellent cse4k12 site and is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported License.

Updated: 2017-10-17
Hexadecimal worksheet

Counting in hex

Similar to the binary sheet, this handy document covers decimal numbers 0 to 63. It is useful for teaching students who are new to binary, or as a quick recap for those revising it. The sheet was created by Gary Kacmarcik at the excellent cse4k12 site and is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported License.

Updated: 2017-10-17
Binary lesson activities

Binary and Hexadecimal starter activities

Two lesson starter, plenary, or homework activities are the binary crossword and the matching quiz. They test students' ability to read binary and hexadecimal, and convert between these systems and denary.

Updated: 2017-10-17
Text representation worksheet

Text representation worksheets

Gary Kacmarcik at the excellent cse4k12 site has created a set of sheets for a lesson activity on text representation. The first sheet is an ASCII table and the other two sheets ask students to encode a text message and decode a message respectively. Note that students are expected to encode and decode using hexadecimal rather than binary (although they could easily be asked to use binary instead).

Updated: 2017-10-17
Image representation

CS Field Guide - Data representation

CS Field Guide is an absolutely fantastic resource filled with material that is well written, clear,and accessible. Each section comes with highlighted key points, extension points, and even interactives to help understand the concepts. The interactives are excellent as teaching resources (many of them are linked here), while the notes themselves make excellent revision resources - particularly for GCSE.

This section covers all aspects of data representation - numbers, text, images, and instructions.

Updated: 2017-10-24
Pixel viewer

Pixel colour code viewer

This pixel viewer can help students understand how images are created and represented. Zooming right into the image reveals the RGB values of each pixel, shown in decimal.

Updated: 2017-10-24
Base 2 calculator

Base 2 calculator

This interactive doesn't actually calculate - instead it lets students flip bits in a byte and see the result calculated automatically. It is most useful when first explaining binary concepts to students.

Updated: 2017-10-24
RGB Colour matcher

RGB Colour matcher

A colour matching tool that asks users to play with the RGB sliders to match a specified colour. This is a great way to help students understand how red, green, and blue are mixed to produce colours. What makes this colour matcher stand out is that it also represents the colour values in binary (24 bit) at the bottom. This makes it a useful companion for tools like Pixelization (see elsewhere on this page).

Updated: 2017-10-24
Binary cards interactive

Binary cards interactive

An online version of binary cards that can be switched on and off to produce a binary number. These are most useful when teaching younger children how binary numbers work.

Updated: 2017-10-24

Simple logic gates

Logic lab

Logic Lab

Logic Lab is a free online logic circuit simulator featuring many input and output devices, and even a propeller!

Updated: 2015-04-06
AND, OR, NOT gates

Logic gates: AND, OR, NOT

A revision video from Computerphile which covers the three basic logic gates: AND, OR, and NOT. The video includes truth tables, logic gate symbols, and the different notations that are used to denote 'AND' and 'OR'.

Updated: 2015-04-19
Boolean logic lesson resources

Boolean logic worksheets

These sheets from cse4k12 are excellent activities to help students understand Boolean logic and Boolean conditions. The sheets present students with a series of 2D shapes with different properties. Students must identify and use different Boolean conditions (e.g. isTriangle, isShaded) to select particular groups of shapes.

PDF and SVG versions of the documents are supplied, and they are licenced under CC-SA, so you can make alterations if you wish (e.g. adding colour)

The site also has several related worksheets, such as Boolean logic to Venn diagram handouts and truth tables for logic gates.

Updated: 2017-10-17
Logic gates handout and test

Logic gates handout and test

These two handouts provide a summary of logic gates and truth tables, and a simple test sheet on the same topic which is useful as a lesson starter.

The sheets were created by Gary Kacmarcik at cse4k12 site and are licensed under the Creative Commons Attribution-Share Alike 3.0 Unported License.

Updated: 2017-10-17