Introduction
Pupils should be taught to
understand several key algorithms that reflect computational thinking [for example, ones for sorting and searching]; use logical reasoning to compare the utility of alternative algorithms for the same problem
(Note, searching and sorting algorithms are listed on a separate page.)
Self study resources
The Luhn algorithm for validating credit cards
Dijkstra's classic algorithm for the shortest path.
The Spanning Tree Protocol that helps the avoidance of loops when sending data over networks
Algorithmic Thinking: The Key for Understanding Computer Science by Gerald Futschek
The FUNdamentals of Algorithms by CS4FN
Uni of Berkeley's Beauty and Joy of Computing lectures on algorithms.
Resources for lectures or group study
Sandwich Making Robot ERRORS Video In this video a teacher is shown following pupils instructions with funny results. Goes with the Sandwich Making Robot instructions
Resources for use with pupils
Sandwich Making Robot Pupils use a set of commands provided to write an algorithm to direct their teacher (Sandwich Bot 2000) to make a sandwich. The teacher has to follow the commands pedantically with often hilarious results. Pupils edit their commands in light of their experiences.
Evaluating three different LOGO lists of code to draw capital letter E looking for amount of code, distance travelled and time taken.
Santa’s Dirty Socks: a story from Computer Science Unplugged that explores the concept of divide and conquer algorithms through poetry, video and a downloadable picture book. Many differentiated ideas for follow up questions and activities.
Code Breaker Game: a code breaking game of logic similar to Mastermind.
The Muddy City from CS Unplugged — minimal spanning tree problems for students
What is an algorithm? Ed TED video
Just over 9 mins in to part 1 of the first video here is a counting algorithm that could be done with a class.
Algorithm Workbook (requires membership of CAS — free and essential!)