While mathematical notation on paper is static—correct or incorrect—a computer program is active, and students can see its effects in real time. Computer programming can become a language for elementary-aged children to express their mathematical ideas and use computational thinking, and this process can be transformative in a mathematics classroom. Acts such as decomposing problems and generalizing from specific instances become more visible, enabling students to examine and debug their own thinking.
At EDC, we’ve been developing opportunities for children to explore key mathematical content through the block-based programming language Snap!. Our lessons are organized in mini-units aligned to grade-level standards, but engaging for students in grade-levels both above and below. In each mini-unit, children are programming in a Snap! microworld, which is essentially a view with Snap! that is developmentally appropriate for elementary students and retains an authentic programming experience. In each mini-unit, children build and debug their own scripts in order to solve a series of highly engaging mathematical puzzles.
In our mini-units, computer science is integrated into young children’s mathematics experience in a way that is natural, developmentally appropriate, embedded in mathematics content, and supportive of the mathematics. These mini-units are being developed by EDC through National Science Foundation grants 1741792 and 1934161, and are being tested extensively in elementary classrooms so that we can best understand how children engage with and learn in these environments. Here are a larger set of mini-units for grades 2–5, along with accompanying teacher notes and classroom materials. Work is not “checked” as in tutorial apps and games. Children see the effects their code produces and make changes to their scripts as they move through the explorations, puzzles, and challenges.
Children start by building their fluency adding and subtracting within 20 and predicting results mentally. Later, they move to experimenting with adding and subtracting with 1000.
Children build ideas about number and numeral, about rounding, and about place value as they add and subtract 1, 10 or 100 starting at any number, both through programming “Dino” to add and by building fluency in their own mental computation.
Children navigate on a map of Tiny Town by moving North, South, East or West one or more blocks at a time. They plan routes between locations and compare by measuring distances in blocks and counting how many turns are used.
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. They describe their rectangles by naming the number of squares within each row and the number of rows to find the total number of squares in the rectangle (area), building ideas central to pre-multiplication.
Children extend their understanding of the number line by “zooming in” to add and subtract fractions with eighths using ±3/8 and ±5/8. Later, they experiment in halves by adding and subtracting mixed numbers, including ±1 1/2 and ±4.
Children “zoom in” on the number line to add and subtract decimals in tenths and, later, in hundredths. Concepts such as location, magnitude, and distance are also explored.
Children build multiplication expressions using the factors 2, 3, 5, 7, and 11 to explore what numbers they can and can’t make, and in what ways they can make them. They use lists to track their explorations and can sort their lists and eliminate duplicates. In the process, children get lots of practice retrieving multiplication facts they know, and get to review ones they’re still learning.
Children explore angle measure as they create interesting designs. They experiment with moving and turning on the grid, varying the angle size and number of grid points to meet along the way. Early puzzles help students become familiar with the appearance and measure of a few common angles (30°, 60°, 90°, 120°, 150°, 180°); later puzzles require more complex decisions, and creative use of angles and distances.
Children see a map of streets and avenues with labeled homes and other buildings at several street corners. They can rename buildings or build new ones by specifying the new names and coordinates. They can remove buildings they’ve created, again by specifying the coordinates. They can WALK north-south or east-west along streets or can FLY directly along diagonals either to locations specified by coordinates or in directions specified by the x and y distances of the move. Throughout, children consider and compare distance and direction, and describe locations by specifying horizontal and/or vertical position or movement.