Purpose: Puzzles focus on two mathematical ideas.
Children learn by experimenting and seeing the effect of their work. They learn how adding (and subtracting) 1, 10, or 100 affects the value, the written numeral and the spoken number name; they puzzle out how to get particular results; they explore adding 9 by thinking about adding 10 and then adjusting (subtracting one); and they explore multiple additions of 9 by applying the same thinking multiple times; they practice adding 9 mentally with brief and lively oral/aural exercises, and explore doing the same with adding 19 and 99 by using the easier addition and then adjustment.
Work is not “checked” as in tutorial apps and games. Children see the effects their code produces and change it if they like. Children mark “I did it!” on a pdf as they do the puzzles.
Description: Children see Dino, happily announcing that it’s thinking the number 0.
They also have six programming blocks, , , , , and , with which to tell Dino what they want it to add or subtract. Dino always reports the new result. If children want Dino to start back with 0, or to start with a different number in mind, they can specify the desired starting place with . It defaults to 0 but the child can change it.
And they have to let them specify specify the number of additions or subtractions to perform (instead of performing them one by one and counting).
Children can choose new explorations, puzzles, and challenges (Figure 3).
Some puzzles involve turning a script that does a particular job, like , into a new block, like , that instructs Dino to add or subtract numbers other than 1, 10, and 100. And sometimes they “test Dino” to see if Dino gets the right answer!
Introducing this in class: The very small number of programming blocks and the clear context—familiar symbols on blocks—make it easy to introduce this in less than 10 minutes to 7-year-olds who have had little prior programming experience. Show how to drag a block and how to click; have a child come up to demonstrate another move; show how to type a number other than 0 in the block (and then click it); have a child show the same; and show how to get a new puzzle. Children do half the demonstrating and can then work independently. They will slip, but they get immediate feedback on what their code does, so they can self-correct.