number variables (ints, floats)
can be used like a number, added, etc.
the child learns that a placeholder represents something else, and that it has to assigned to it before.
can be used like a number, added, etc.
can be either true or false, therefore can be used for conditionals.
string variables are like words or text.
AND/OR: is it enough that one part is true, or do both have to be true? NOT: is best learned with negation of adjectives.(the list is not empty)
control flow is easily learned by moving the ball on the track and using the funtionality of the blocks. special attention is given to function calls. the child must know, where the flow continues and when the execution has to come back (return statements). the use of branching and joining show clearly the importance that if/else clauses and return statements have.
if / else block allow for branching the control-flow. the children can acquire useful knowledge in basic boolean algebra.
function calls are leaps in the control-flow. they are represented by a special block that uses symbols. the symbol has to be looked up in the lookup table (on the wall) revealing which activities (or subroutines) to execute.
loops are represented as a track-circle or as functions on a list / array.
Lists have their own block. the elements in the list should have a obvious relation between them (based on colour, letters, numbers, or true/false - no mixed arrays)
the following concepts are learned by directly manipulating the list block.
an element is appended to the tail of the list (Q: where does the element come from? A: it has been assigned to a variable)
like append, only at the head.
the element is removed from the tail of the list (it is assigned to a variable, or output (sung or screamed))
the element is removed from the head of the list (cf. pop)
the same action is applied to all elements in the list (e.g. numerical values are added, words are set from present to past tense, etc.).
only elements satisfying a condition are retained, the other elements are discarded.
is there at least one element that satisfies a given condition?