This activity exposes the idea that interesting things can be achieved using a simple instruction set and components, giving an idea of the underlying architecture of the computer. Variation: introduce a bug in the code, and see how long it takes the class to realise that things aren't right Variation: write some code to generate an interesting output (such as the Fibonacci series) and see if the "computer" can figure out what the program does.
Misha Leder, a Software Engineer at Google has an activity called Simulating a Computer where kids play main computer components - CPU, mouse, IO controller. Have them simulate calculator application by moving a mouse, synchronizing it with the mouse pointer on the screen and sending request to the processor.
Computer Science & Engineering for K-12 (cse4k12.org) has the following activities related to how computers and internet works below:
Kaleberg has a page on Cardiac ( Wikipedia: Cardiac). Cardiac was a little cardboard handout designed to help explain how computers worked. Since it was made of cardboard, you entered decimal numbers into memory by writing them in the appropriate slots. You could use pencil for RAM and pen for ROM. Then, you followed the instructions on the card which told you how to interpret the computer program. Download and read more about Cardiac at Software Emulator for the Cardboard Illustrative Aid to Computation .
Paper Turing Machines
A colleague of mine and me recently investigated how high-school students react when facing a Turing Machine for the first time. In that study we designed a tangible, paper-version of a Turing Machine and had circa 50 students program their machines to implement simple algorithms like:
- add 1 to a number in unary,
- add 2 numbers in binary,
- invert a binary number,
- test if a number (in unary) is even
The unary system (aka tally system) is described here.
The material for printing and playing with a paper Turing Machine can be found here.
I hope this is of interest, and that perhaps it could help the growth of your very nice initialitve! :)
Sincerely,
Andrea Valente