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

CommandPoint CAD

CommandPoint by Northrop Grumman offers a range of CAD systems for various ...

CAD+911 System

TriTech Software Systems is a company that specialises in Computer Aided Di...

London Ambulance CAD failure

The 1992 London Ambulance Service CAD failure is probably the most notoriou...

Washington State 911 Failure

A 911 emergency telephone system in Washington State and Oregon shut down f...

London ambulance failure (2017)

A 2017 failure of a London ambulance dispatch system is believed to have le...

Computer Aided Dispatch outage

A 911 system failure left emergency calls unanswered and is said to have co...

Load balancing videos

This short article and the associated video explain 5 load balancing algori...

Intergraph Computer-Aided Dispatch (I/CAD

Intergraph Computer-Aided Dispatch (I/CAD) is a system offering many of the...

Boolean logic worksheet pack

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

Resources discount offer

2.2 Problem solving and programming

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

2.2.1 Programming techniques

Book of Programming Ideas

Book of Programming Ideas

The Book of Programming Ideas document contains 64 example programming exercises for students to try. The sections cover everything from basic input and output exercises through to subroutines, functions, and file handling. There are Python and Java versions of the document, although all exercises are written to be language-independent.


Updated: 2018-01-10
Subprograms

Subprograms, Local Variables & Structured Programming

Subprograms are known by several different names - methods, functions, procedures, subroutines, and more. This video explains the different types of subprograms, including those that allow data to be passed in (as parameters) and those that return a value (functions). Even if you know how to create such code, reviewing the theory can be helpful.


Updated: 2018-02-17

2.2.2 Computational methods

Searching and sorting

Algorithms - Searching and Sorting

CS Field Guide has an extremely comprehensive page about searching and sorting algorithms, including clear explanations, animated examples, and interactives. It covers algorithm efficiency and cost.


Updated: 2017-01-23
Searching and sorting

Searching game

The Searching Boxes game from the CS Field Guide makes for a good lesson starter and can help students understand the need for different searching algorithms. Once they have tried part 1, students could try Searching Boxes Part 2 and try to devise a better search algorithm.


Updated: 2017-01-23
Data mining

Nuggets of Data Gold

This videos provides an introduction into data mining, explaining why analysis of big data is necessary and how can we go about finding hidden patterns in large volumes of data. The end of the video includes some good examples of data analysis in the medical field, and the difficulties of finding correlation and causation with the data sets.


Updated: 2015-05-19
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
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
Merge sort algorithm

Merge sort algorithm

Harvard's CS50 Merge sort video uses a really clear approach - numbered plastic cups which are moved around as we step through the algorithm. The same approach is used in all of their sorting algorithm videos, making it easy to compare different sorting algorithms.

Joe James' Merge sort algorithm video is also very clear.

For Merge sort in particular, step by step diagrams can be very helpful in understanding the algorithm. TutorialsPoint has a good set of diagrams, plus pseudocode.


Updated: 2017-01-23