Concepts

Variables

the child learns that a placeholder represents something else, and that it has to assigned to it before.

number variables (ints, floats)

can be used like a number, added, etc.

boolsche Variablen (true/false)

can be either true or false, therefore can be used for conditionals.

string variables (words, text)

string variables are like words or text.

boolean algebra (AND, OR, NOT)

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

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

if / else block allow for branching the control-flow. the children can acquire useful knowledge in basic boolean algebra.

function calls

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

loops are represented as a track-circle or as functions on a list / array.

Lists / Arrays

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)

list methods (array methods)

the following concepts are learned by directly manipulating the list block.

append

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)

prepend

like append, only at the head.

pop

the element is removed from the tail of the list (it is assigned to a variable, or output (sung or screamed))

shift

the element is removed from the head of the list (cf. pop)

map

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.).

filter

only elements satisfying a condition are retained, the other elements are discarded.

any?

is there at least one element that satisfies a given condition?