learn how to program a computer - without a computer
how are processes represented?
processes are played by following a track that has been set up. imagine a round-trip in which a top-level loop is executed by each child in the group.
during the round, combinations of the available programming concepts are used (booleans, inner loops, random, array-methods)
control flow
during the round there are branches (if/else statements) and jumps (subroutines) that later return. subroutines are symbolic and the subroutine to execute is to be looked up in a table.
loops
a smaller ring containing statements and commands.
building blocks
blocks are +/- 50cm (15") long. they can be combined like the rails of a toy train. they have a rail on the surface where the sphere representing the control-flow moves. furthermore they have holes where to add variable assignments (like temperature = 30) and control-flow statements (if temperature > 25 return 'hot').
how to play
the children walk the round with the sphere representing the control-flow, follow the changing state, understand branching and subroutines, and set variables accordingly.
boolean logic
'boolean objects'
true and false must be represented symbolically.
e.g. with weights or perforated objects
TODO:: invent an object, that can be conbined and represent AND, OR, NOR
random number generators
objects
platonic solids as dice
using the mothertongue
the terminology but also the language of the class must be the mothertongue of the children (or the majority thereof).
in order to facilitate a continuation of the learning process with the computer, the mothertongue must be programmable on the computer using the same terminology that was used during the class
Terminology
all the technincal terms have to be translated in the language of the children. particular attention should be given to words that have not been translate, but of which the english word is used by the population (e.g.
mouse
in Italian,
server
in German)
see e.g.
German Terminology
Programming with the computer
although programming on the computer is neither the aim, nor necessary, it is an advantage having a programming language in which it is possible to
repeat
the studied concepts. this language should use the same terminology that was used in class.
more technical details
the height of the blocks must be good for children's stature. next to the rails there must be enough space for the children to walk along.
inner loops on the other hand might be vertical to save space.
see:
realization