GCSE Algorithms
There are various ways to describe algorithms, from natural language (which can imprecise), through flowcharts (which are often used to plan out the sequence in which events must take place in an algorithm) to pseudocode which is a much more formal version of natural language, designed to imitate a programming language. At GCSE level students are required to be able to read and understand these various representations, as well as being able to produce their own implementations of them.
It is also a requirement of the GCSE Specifications that students need to understand some of the details involved in common searching and sorting algorithms, as well as knowing some of their performance characteristics i.e. to compare the speeds of the algorithms.
Tourist Town - Dominating Sets
It is also a requirement of the new GCSE Specifications that students, need to understand some of the details involved in common searching and sorting algorithms, as well as knowing some of the performance characteristics of them (to the extent that they can compare the speeds of the algorithms. This is an activity requiring the students to solve a problem about Ice Cream Vans and their placement with regards to streets in order to minimise people's travel time to get an ice cream and minimise the number of vans required. Although the task is described as being accessible to children as young as 7, coming up with some sort of algorithm to solve the problem could be quite a complex task. The discussion regarding this style of problem which is included within the resource goes past the level required for GCSE Computer Science, but may be of interest to the brightest students. This final discussion (the 'Whats it all about?' section) can be safely omitted if the content is beyond the class, although the first sentence of the section might still be used.
Game Show Algorithms
This resource is taken from CS4FN publication. Although this activity is not in the form of a lesson plan, the activity illustrates a good series of steps that students could either work through as a class, or in smaller groups/pairs. They could then be asked to pick from a selection of existing real Game Shows or ones made up by the teacher in order to do a similar activity for themselves. The content could also be used to introduce flow charts with a small amount of modification.
The 21 Card Trick
The book "The Magic of Computer Science" contains a variety of tricks that relate to various elements of computer science.
In this resource, the algorithm for which is then described, along with why this ensures that the trick will always work. This makes for a good starting point in order to get students analysing an existing solution and describing it using an algorithm. Once they have worked through this trick, a further activity might be to get them to analyse and "prove" (to an extent) the algorithm for another card trick, possibly from this book, possibly from another. Or if they modify the algorithm, what effect does it have on the trick? What happens if the column containing the chosen card is always the first one picked up (and placed on the top of the pack) or always the column placed on the bottom? Can they draw it out as a Flowchart? Can they explain their result by describing things with Pseudocode?
An Intelligent Piece of paper
This longer article taken from AI: Where is the Intelligence? discusses Artificial Intelligence and rule following "bots". The activities contained within would easily lend themselves to a series of lessons on algorithms. The section on noughts and crosses, could start with students playing some games, and trying to analyse the patterns needed to win the game. They could then draw flowcharts of their versions and play them off against each other? What difference does it make if they go second? Can they design an algorithm to cope with this?