Level: Grade 2

**Purpose****: **Children navigate a town map by moving North, South, East or West one or more blocks at a time. They describe the lengths of their paths in blocks (on the map), sometimes comparing the lengths or number of turns of two paths, and sometimes describing a path’s overall shape. Children learn by experimenting and seeing the effect of their work, so even compass directions don’t need pre-teaching or review. Children must sometimes predict results or puzzle out how to get results that aren’t obvious (e.g., making 1 script that visits everyone on the map). 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 a map with 10 labeled places.

Four programming blocks , , , and let children move on the map, and lets them specify a starting place. Children can inputs in to specify a different location.

Each child can individually personalize the map by changing names in and then clicking it.

As always, children can choose new explorations and puzzles (Figure 3).

**Introducing this in class: **The very small number of programming blocks and the clear context—familiar cardinal directions on blocks and a relatively familiar image of a map—make it easy to introduce this environment in less than 10 minutes to 7-year-olds who have had little or no prior programming experience. Show how to drag out a block and how to click; have a child come up to demonstrate another move; show how to start the smiley face at any intersection on the map using the **start at** block by typing in the letter and number and then click the block; and show how to get a new puzzle. Let children do much of the demonstrating. They can then work independently.

**Teacher notes: **

- We recommend that children have their first mathematical coding experience with the number line microworld, but they can start with this one.
- Before showing the microworld, you might build Tiny Town on the floor, using paper strips.

Have children choose names to label the streets and avenues and perhaps six places (e.g., houses, restaurants, library, shops) at intersections of those roads. Have children enact the moves of moving from one location to another and naming the “addresses” (the labels on the roads). Without instruction, most children seem to have no trouble naming the addresses, perhaps from games like “Battleship.” For help, say “<name> lives at the corner of <…> Street and <…> Avenue. Show us on the map. Now *tell* us where <another place> is, as if you’re on the phone and can’t point.”

**Choose***(a)*if children have*not*used one of these microworlds before. Go directly to*(b)*if children*have*previously used one of these microworlds.- For children who have not used the number line microworld and are seeing coding for the first time now, compare coding to language. Compare coding to language. “What languages do
*we*speak in this class?” “We’ll learn a language the computer knows. Here*(show the microworld and point to the blocks)*are some of its words. Dragging them out and clicking on them tells Smiley how we want it to move. We can snap the words together to make a sentence that tells Smiley more things to do.” - Children who have used the number line microworld will remember a lot. Just say “Now we’ll teach Dino to add or subtract 1, 10, or 100, like you just did!” Ask a child to drag out one addition (or “plus”) block and show what happens. Ask another child to show how to start Dino back at 0. Ask someone else to show how to start Dino at 34. Ask someone else, what Dino should say if we tell Dino to add 10 to that. (44) Then have someone see if Dino “gets the right answer.”

- For children who have not used the number line microworld and are seeing coding for the first time now, compare coding to language. Compare coding to language. “What languages do