January 2025
Welcome to EFM's January Newsletter!
It is essential that every caregiver in the world reads books and does math with their young children!
EFM believes in every child’s mathematical right to equity, opportunity, and personal fulfillment.
Celebrating EFM Volunteers
Everyone at Early Family Math is an unpaid volunteer. Everyone. For three months I have been recognizing some of our wonderful volunteers, and I am continuing that tradition into the new year.
Arabic – Hala, Anne, Lama, Said, Sama, & Shireen
With its right-to-left characters, Arabic was an intimidating language for EFM to take on. However, it is also too significant a language to leave out. Thankfully, we had some excellent translators who stuck with us through some rough patches at the beginning. Thanks to their hard work, all the storybooks and Stages are now translated and appear on our website as well as in our EFM mobile app.
Shireen in particular has done a tremendous amount of work doing both proofreading and translating. Once, when I was talking with Shireen and her husband, he told me the worst math education story I have ever heard. As a boy, he was learning his multiplication facts in school in Sudan and asked his math teacher why they needed to memorize these facts when a hand calculator would handle it so easily. The answer given to him: five lashes! I generally enjoy the stories our volunteers give me about their mathematical pasts, but this one was heartbreaking.
Programming for Young Children
After getting my PhD in math and teaching at Duke, I spent 15 years as a professional programmer. I loved creating new software that would come alive and do interesting tasks (e.g. guiding airline planes and doing molecular modeling for drug discovery). There are many advocates for introducing children to programming for its educational benefits. On the other hand, I feel strongly that very young children should be in social situations where they touch and experience real objects and not have their faces glued to an electronic screen.
So, it is with mixed feelings that I come to the subject of this month’s newsletter. A simple part of the answer is to not have very young children programming, to wait until the child is at least 8-years old. It is also possible for children to program in groups, and this can lead to a lot of fun. However, the tendency is for a child to spend hours and hours programming by themselves, which is unfortunate for younger children.
What are the benefits of programming?
When programming is introduced well, it can be extremely engaging and becomes a riveting pathway for learning logical thinking. Just as game playing is a natural way to introduce a child to problem solving, understanding how to get a program to run correctly directly confronts a child with the soundness of their reasoning and the problem solving needed to fix their programs when there are mistakes.
When a program is supposed to move something behind something else, and instead that thing ends up in a completely different place, the programmer is faced with an undeniable truth that comes straight to them and is not because someone else “says so.” They get to experience first-hand why their logical train of thought works or doesn’t, and they get to play around with their ideas by rewriting their programs (perhaps adding playful additions or variations).
When a child gets a program to run, even just doing a very simple thing, that child will enjoy the same magical feeling that I had when I got my programs to run.
Beginning programming environments
These days there are a great many simplified programming environments created for children so they can quickly start making programs that do things they can see and interact with, often in storybook-like scenarios. This is usually done without having to learn a lot of abstract information about a programming language. There are too many of these environments for me to cover them all or to do them justice.
The general technique for simplifying programming for children is to use graphical coding blocks that snap together on an electronic screen that make it easy to understand how to put the blocks together and understand what they do. Coding blocks make big concepts easier to understand, and they also eliminate typing errors and worries about proper syntax and use. Alice and Scratch are two of the major free environments for doing this. Snap and Blockly are also popular free block coding environments, but I will not be looking at those.
Alice
Alice is available for free from Carnegie Mellon university at https://www.Alice.org. Although they envision this being used by Middle School students and up, it can also be used productively with slightly younger children.
Here is the general description of Alice from their website:
Alice is an innovative block-based programming environment that makes it easy to create animations, build interactive narratives, or program simple games in 3D. Unlike many of the puzzle-based coding applications Alice motivates learning through creative exploration. Alice is designed to teach logical and computational thinking skills, fundamental principles of programming and to be a first exposure to object-oriented programming.
Scratch
Scratch is free and was developed at MIT Media Lab. It has a very large community of users. Similar to Alice, it is a high-level block programming language. It is recommended generally for children ages 8 to 16, but the ScratchJr version, available at https://www.scratchjr.org/, can be used by even younger children. Here is the self-description from the ScratchJr site:
Coding is the new literacy! With ScratchJr, young children (ages 5-7) can program their own interactive stories and games. In the process, they learn to solve problems, design projects, and express themselves creatively on the computer.
Turtle Geometry (TG) (not a block language)
When I taught high school geometry, I sometimes taught my students some very basic TG programming. For this I used the “turtle” module inside the Python programming language. The amount of Python needed was very minimal. If you have a Mac, Python is already included in the operating system. If you have Windows, you can download Python for free from Python.org.
TG is lovely because it has so few basic commands and yet can draw some amazingly beautiful pictures. The “turtle” has a pen that is either “up” (not drawing) or “down” (drawing). The pen can also have features such as color, but those are not essential. If the pen is down, then the turtle will draw a line as the turtle moves from place to place. At any given moment, the turtle is facing in a given direction that it will move in when given motion commands.
The four basic TG movement commands are:
forward <a distance> – go forward this distance in the direction being faced
back <a distance> – go backward this distance
right <some degrees> – remain in place and turn right this many degrees
left <some degrees> – remain in place and turn left this many degrees
With about a dozen very simple lines of code, Don Watkins on the internet drew this lovely example:
What I liked about using TG for my geometry classes is that the students could easily explore relationships, especially angle ones, without having formulas they needed to memorize – they could discover them by seeing what worked. Also, as Don Watkins showed above, with some very simple looping and function commands, they could draw amazing pictures.
There are physical robots you can buy that will execute TG commands and make pen drawings as they move around on the floor. Starting at $50, they are not cheap and they most likely will have a short lifetime of interest for your child. Still, it can be fun to see TG come to life.
One fun aspect of TG is that you can do it with your child without using a computer. You can do treasure hunts with your child where one person hides something and creates a “treasure map” which is a list of movement instructions in TG.
Wrapping Up
I hope you enjoyed this quick overview of possibilities for programming for young children. If you do opt for introducing your child to programming, please do your best to keep it a social activity that your child enjoys with others at their side. Next month I will talk about how to do relaxed mathematical exploration with your child.
If you have any questions or comments, please send them our way! We would enjoy the opportunity to chat with you. Also, if you are interested in collaborating with us or supporting us in any fashion, we would love to talk with you about ways we can work together!
January 18, 2025
Chris Wright
Chris@EarlyFamilyMath.org
Twitter | Facebook | Instagram
Early Family Math is a California 501(c)(3) nonprofit corporation, #87-4441486.