## December 16, 2013

### Teaching Math Through Pencil Code

How young is too young to teach programming?

I have been using Pencil Code with children from 1st grade to 12th grade over the last few weeks. All ages have a lot in common: they all need to learn the same programming concepts at the beginning. Even before learning control flow, they need to understand sequencing, debugging, and how to think about the state of the computer. However, there is one big difference between younger kids and older kids: the younger kids have not yet learned a lot of math fundamentals.

Using Programming to Reinforce Math Curriculum

When a fourth grader asks "what is the command to make the turtle go that way?" it is really a math question. The idea of estimating degrees for a turn seems perfectly concrete to an older student, but if you are a 4th grader, measurement of angles is a new idea that is hard to grasp. The fourth grader wrestling with the turtle's direction is really asking, "how do I measure the angle that I want?"

The problem of getting the turtle to turn the right way is a valuable math teaching moment. Do not give away the answer. Instead, give the student a protractor, and the student will align it with the turtle on the screen and pick out the angle they want.

Pointing the turtle requires an extra level of care beyond math class, because the student will need to note not only the degrees, but also whether they want a "right turn" or "left turn." But once the proper angle is found and the student has entered "rt 60," they they are rewarded with a working program as well as an insight: angle measurements are pretty useful!

When teaching classrooms of fourth graders, I have been using handouts with paper "turtle protractors" that illustrate the turtle in the middle of a compass rose. The printable measurement sheet also includes a "turtle number line" so that younger kids can do the same exercise with linear measurements. These paper supplements are invaluable.

Programming Motivates a Range of Math Curriculum

Computers speak the language of math, so learning to program your computer is a good reason to learn a bit of math.

Math topics that tie directly in with Pencil Code include:

Programming is a good way to learn about to the importance of precision in measurements and the use of numbers to quantify many things. Normally this is hard-won knowledge, gained through years of teachers marking mistakes on math homework. But in programming, the purpose of math is not to get a good score on a test. The purpose of the math is to get your program to work. It is a self-teaching lesson.

Programming Motivates Advanced Concepts

Programming draws kids in to playing with concepts that would normally be considered too abstract and dry for math class.

For example, kids particularly love creating programs that draw circles and curves. However, since arc measurements are (sadly) considered an advanced High School concept, they will not have been covered before most beginning programmers try Pencil Code.

With Pencil Code we have been introducing arcs using an arc-measurement sheet that is similar to the protractor sheet. Kids can hold it up to the screen it to visualize (for example) the fact that the bottom of a "U" is 180 degrees of an arc of a circle. Fourth graders enjoy measuring arcs as part of their programs: arcs make it possible to create beautiful flowers and sports cars and inscriptions.

Perhaps when these Pencil Code fourth graders arrive in high school geometry class years from now, arc measurements will be less of a mystery and more of a "cool" topic. Posted by David at December 16, 2013 03:37 PM