I am involved into scientifc outreach activities where researchers organise events to explain their field to children aged from 5 to 95. During my time at INRIA Nancy, Marie Duflot-Kremer introduced me to computer science unplugged activites. The main principle of this approach is to use board games and toys to teach ideas of computer science.
A common assumption is that computer science is mostly about programming. But often, translating the solution into a program distracts from coming up with the idea in the first place. For this reason we are using tangible objects to demonstrate the concepts - actual computer science does not depend on computers in the end!
The following pictures were taken at the Manchester Science Spectacular in 2018 where I had the pleasure of organising our own table with unplugged games:
There are a lot of games teaching differents aspects of computer science.
For example, children can discover the magic trick that lets them find a treasure in a magical forest made out of a square of tiles representing trees and patches of grass. After a few attempts, the children realize they only need to find the row and column that has an odd number of tree tiles to pinpoint the hidden treasure. The game is a simple example for error correcting codes using parity bits. This is a good opportunity to draw the connection 2D-barcodes and error correction of mobile phone transmissions, depending on the age of the audience.
Another game is aimed at older children. The task is to sort a pile of pancakes by size. What makes the problem difficult is that the only operation avialiable is partitioning the pile and fliping the top part, similar to what a cook would do. After a few attempts, children usually manage to reliably sort a given pile. In the next step, the children are prompted to give instructions on how to sort a pile that is hidden from their side. This encourages them to formulate a list of instructions which is nothing more than an algorithm. This particular algorithm is simple enough to determine the maximum number of steps it will take to sort a pile of pancakes. It is a basic example for computational complexity, a central technique that allows computer scientists to compare different solutions of the same problem.
I am currently working on my own game that teaches the logical method of resolution. The children are given several buckets with disc pieces of varying color where discs of the same color fit together to make a whole. Two buckets can be combined into one bucket if each of them has one half of a disc of the same colour. When combining two buckets, all pieces of this colour are removed. The game is won when combining two buckets allows us to remove all pieces. Later on, we introduce the story of a mother who questions her children to investigate what happened to her broken vase. Each half of a disc is labeled with a fact or its complementary propositions, for example "Jackie is in the kitchen" and "Jackie is not in the kitchen". A bucket represents a list of options where at least one of them must be true. When combining two buckets for this disc, we require Jackie at the same time within and outside the kitchen. Since this is a contradiction, we remove the correspoinding tiles. As soon as we have reached the empty bucket, we know that all facts together cannot be true - the story contains a lie. The same method is used for automated theorem proving. If you would like to test this game with me, please get into contact!