**Purpose: **Children create rectangles (arrays) of varying sizes by painting rows of square tiles (in colors they can choose) and moving up or down to paint more rows. The puzzles may ask for certain dimensions (number or length of rows) or the total number of squares in the rectangle (area). Sometimes puzzles ask for rectangles to be subdivided into halves (or thirds) of different colors. Children learn by experimenting and seeing the effect of their work, so preteaching is not needed. They must sometimes predict results or puzzle out how to get results that aren’t obvious (e.g., partitioning the larger grid into several different colored rectangles).

Work is not “checked” as in tutorial apps and games. Children see the effects their code produces and change it if they like. Children can mark “I did it!” on a checklist sheet (as a pdf) as they do the puzzles.

**Description: **The stage shows a grid with 7 rows of 10 squares. At the start of any puzzle (and whenever the button is pressed), the arrow () which acts as a paintbrush starts in the first square of row 1 (top left).

Four programming blocks , , and move the arrow (). Children can specify a particular row to start at, using . Children can choose a color with the and then use the block to specify the number of squares to paint.

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

*Figure 3: Three puzzles from the Array microworld*

**Introducing this in class: **Children who have worked in the Number Line and Map microworlds can generally figure out what the new blocks in this microworld do with a brief introduction—less than 10 minutes—and some experimentation. Show how to drag out a blue block and how to click; let children describe what happens. Have a child come up to demonstrate another move.

Next invite a child to demonstrate how to **select pen color** and **paint a row of ( _ ) squares**. Ask children how to paint more than one row. Demonstrate **move down one row** and **paint a row of ( _ ) squares** again to make a rectangle with two rows (or more than two rows, if you like). Have a child show how to use the **start at row** block by typing in a number and then clicking the block. Point out how to get a new puzzle. Let children do much of the demonstrating. They can then work independently.

Children may need to be shown (or reminded) how to insert scripts into the repeat block.

**Teacher notes: **

- We recommend that children have their first mathematical coding experience with the number line microworld, but they can also start with this one. Though introduction can still be relatively short, the puzzles in this microworld require attention to the
*order*in which blocks are assembled. This microworld is therefore more challenging than the number line microworld, 1s, 10s, 100s microworld, and town map microworld. **If children have***not*used one of these microworlds before, choose (2a). Go directly to (2b) if children*have*previously used one of these microworlds.- For children who have not yet used any microworlds 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 the arrow () how we want it to*move*and what we want it to*do*. We can snap the words together to make a sentence that tells the arrow () more things to do.” - Children who have used the number line microworld, 1s, 10s, 100s microworld, or map microworld will remember a lot about how blocks operate and how to make a script, but will still benefit from the opportunity to explore this microworld’s blocks and how to paint rows of squares. Explain “Now in this microworld we’ll build rectangles by painting rows of squares.” Once children are familiar with painting a rectangle, they can explore how to use the orange Repeat block to generate a rectangle (and even a rectangle with various colors).

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