Presented by:

June Mark

from Education Development Center

Kristen Reed

from Education Development Center

Kate Coleman

from Education Development Center
No materials for the event yet, sorry!

The Math+C project at Education Development Center (EDC) is developing a coherent integration of CS ideas and skills into elementary mathematics. Our broad hypothesis is that programming, suitably designed, can be an optimal language for children to express and explore mathematical ideas, changing how children learn mathematics and helping develop and reveal children's computational thinking (in particular, abstraction, precision of specification, and algorithm). Programming is thus seen as both a medium and language for children’s mathematical and computational thinking and a new and useful window into that thinking for teachers and children. We are investigating that hypothesis in grades 2–5 and also looking more broadly at what features of a programming environment best supports this kind of work.

We will share several samples of microworlds we have designed in Snap! for grades 2–5 classrooms and share ideas for other extensions and microworlds appropriate for grades 2–5, with one goal being to encourage others to develop and investigate other such microworlds.

Number line, Fraction number line, Decimal number line: Second graders start by programming combinations of ±3 and ±5 to see what numbers they can make, and build fluency adding and subtracting within 20 predicting results mentally. Later, they extend that through 1000. Students in later grades explore fractions and decimals in a similar way.

Multiplication, Arrays: In the Multiplication microworld, children build multiplication expressions using only the factors 2, 3, 5, and 7, exploring what numbers they can and can’t make, and in what ways they can make them. Children use lists to track their explorations and are introduced to ideas of sorting and eliminating duplicates. In the Arrays microworld, children build small arrays anticipating simple multiplication.

Additional microworlds focus on building ideas about place value, and moving on a coordinate grid and comparing distances.

Introducing programming to children this young—especially ones who’ve had no prior programming experience—and doing that in service of the core mathematics they are learning in school requires the entry to programming to focus on the mathematics and create no overhead. This ease is also critical for teachers. For this reason, we have developed a microworld environment that lets us preserve all the power of Snap! but tailor the options 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 microworld environments, the design of the environments and supporting instructional materials, and how these microworlds are implemented in SnapI. We will share video of elementary students developing both mathematical and CS concepts and some of our learnings about how children operate within these environments. Participants will be invited to explore the microworld environments themselves. In addition, we will discuss how the tools and design of the Math+C microworlds can be used by others to create their own microworlds for children’s learning in other contexts.

For more information, see

1 h
Room 2
Snap!Con 2021

Events Happening Next

The Secrets & Surprises in Coding Spirals:
TurtleStitch Tur-torial

Cynthia Solomon, Sarah Magner,

WORKSHOP DESCRIPTION In this workshop, we will focus on building blocks that allow you to play with polygons and spirals with TurtleStitch. If you create a design you love and do not have access to a computerized embroidery machine, global TurtleStitch community friends will embroider & mail you your design!

TurtleStitch is an activity and a coding environment. TurtleStitching is a mi...


Grand Gestures
Storytelling with AI

Jens Mönig, Jadga Hügle

In this workshop we'll share a curriculum around AI that we're currently working on. We try to show how to use machine learning in the classroom by implementing a gesture recognizer (based on the $1 gesture recognizer) in Snap!

We start by creating a single-stroke gesture drawing program.
By building an "animate" control structure based on the pen trails, we are able to animate our drawn...


Codification (Transformation) of GUI Elements and database structures from SNAP to Python
From blocks language to typing language by SNAP Code conversion

Matthias Kim

Codification means to create Python code directly out of SNAP Code via a mapping SNAP blocks to Python code. The created Python Code via codification in SNAP is downloaded and runs immediately in Python. This has been useful in supporting the steps from SNAP development in a blocks language to a typing language. I would like to show how we enhanced codification with GUI elements: There a...