Workshop: Math+C: Mathematics Through Programming in the Early Grades

View on Snap!Con

Presented By: June Mark, Bernat Romagosa, Kate Coleman, Deborah Spencer, Paul Goldenberg, Kristen E Reed


Abstract:

The Math+C project at Education Development Center (EDC) is developing a coherent integration of CS ideas and skills into elementary mathematics, using programming as a language to help children express and explore mathematical ideas. We start from the broad hypothesis that programming, used this way, changes how children learn mathematics; and that it helps develop and expose children's computational thinking (CT), in particular, abstraction, precision of specification, and algorithm. Programming can give children a medium and language for mathematical and computational thinking and offers teachers and children opportunities to see children’s thinking in new and useful ways. We are investigating how integrating programming and CS concepts into grades 2–5 supports mathematics learning and computational thinking.

We will share four microworlds we have designed for grade 2 mini-units, and share ideas for other extensions and other microworlds appropriate for grades 3–5:

Number line: Children start by programming combinations of ±3 and ±5 to see what numbers they can make, and to build fluency adding and subtracting within 20, predicting results mentally. Later, they extend that through 1000.

Using 1s, 10s, 100s: 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 a Dinosaur to add and by building fluency in their own mental computation. They also generalize and apply the structure of adding 9 or adding 11 to a given number. They build blocks from their scripts and see if the machine “gets it right.”

Moving on a map: Moving on a coordinate grid that represents a “town map”, children use blocks as a unit of measure to find and compare the distance between their friends’ houses and to explore re-usable algorithms.

Arrays: Children build small arrays anticipating simple multiplication.

Seven-year-olds are curious and fast-moving. The challenges of introducing programming to children this young—especially ones who’ve had no prior programming experience—and to do that in service of the mathematics that they are learning requires that the entry to programming be focused on the mathematics and that the computer and programming create no overhead. This ease is also critical for teachers. For this reason, we have developed a microworld environment that can allow us to preserve all the power of Snap! but tailor the environment to present all, but only, what the children initially need, and gradually reveal greater power and more features as children need them. This session will include discussion of the rationale and need for these microworld environments, the design of the environments and supporting instructional materials, and how these microworlds are implemented in Snap!. We will share video of second graders developing both mathematical and CS concepts and what we have learned about how children operate within these environments. Participants will be invited to solve the same puzzles themselves.