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...

Hexadecimal

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...

1.1 Algorithms

This first topic of the Edexcel GCSE Computer Science course is a significant one, with in-depth coverage of algorithms. Students must be able to understand the applications of algorithms, be able to read and write them, and describe the output of an algorithm (dry running). They should also be able to identify and correct mistakes in algorithms, as describe the operation of common searching and sorting algorithms. There is also a significant practical aspect to this topic, as students must be able to convert an algorithm to working code, which ties in with the skills required in Topic 2.

In the context of this topic, "algorithms" may refer to pseudo-code, flowcharts, structured English, or actual program code.

1.1.1 Understanding algorithms

Sorting algorithms

Sorting Algorithms

As its name suggests, Sorting Algorithms features animations of popular sorting algorithms, including Bubble, Selection, and Insertion. The animations for each sorting method are played side by side, allowing a direct comparison. The great thing about this site is that students can select the state of the starting data (reversed, random, almost sorted, etc) as well as its size - this is perfect for helping students compare the efficiency of the algorithms and understanding that there is no generic "best" algorithm for all circumstances.


Updated: 2015-04-13
Algorithms

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
Lightbot game

Lightbot

Lightbot is a simple game that involves logic and basic programming techniques. Players must create a set of instructions from the list available (go forward, rotate, jump) to guide the robot to the blue squares at the end of each maze. Levels get gradually more difficult and there commands can even be grouped into functions and 'called' from different points. The game is best suited to younger players.


Updated: 2015-04-18

1.1.8 Understand standard algorithms

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
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
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
quick-sort-algorithm

Quick Sort

An explanation of the quick sort algorithm using playing cards and simple graphics. The best and worst case performances are considered and compared to those of the bubble sort and merge sort algorithms.


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
Quicksort algorithm video

Quicksort Algorithm overview

Joe James' explanation of the quicksort algorithm is one of the clearer videos available on YouTube. Both the commentary and the visuals are easy to understand and highlight how the pointers, pivot, and partitioning work in quicksort.


Updated: 2016-03-27