Build a game. Learn math. Be cool.

On Wednesday I met a man named Bob Cassels, a software developer at Google, who told me his children’s school recently announced that all its students would learn to code before they graduate. Beaver Country Day School isn’t alone: Last month, UK education secretary Michael Gove revealed a new curriculum that will have all the nation’s five year olds learning programming in their first year of school.

While this may be a new trend in education, it’s likely to stick around. Everything—from a smart phone to a light bulb—seems to be codable now. So eventually, everyone will have to know how to do it.

As someone who knows a thing or two about programming, Cassels understands that how we teach this increasingly important skill is not a trivial matter.

When his 17-year-old son was 12, he tried to teach him how to code using a traditional textbook as a guide. But by the time they got to chapter three, he said, his son had completely lost interest. A few years later he saw him fiddling with a game on the computer and asked what he was up to. “I’m programming,” his son said. He’d taught himself.

*         *          *

I met Cassels before a workshop being held at Northeastern to train middle and high school teachers in an innovative curriculum called Bootstrap, which aims to educate students in algebra and computer programming simultaneously.

Bootstrap is the brainchild of Emmanuel Schanzer and computer and information science professor Matthias Felleisen, along with some critical help from professors Kathi Fisler of Worcester Polytechnic Institute and Shriram Krishnamurthi of Brown University.

Schanzer and Felleisen met on a train from Providence to Boston a little less than a decade ago. Schanzer, who holds a computer science degree from Cornell and was familiar with Felleisen’s software, was teaching math at an after-school program in an underserved Boston neighborhood at the time.

Bootstrap is the brainchild of Matthias Felleisen, left, and Emmanuel Schanzer, right. Photo by Brooks Canaday.

Bootstrap is the brainchild of Matthias Felleisen, left, and Emmanuel Schanzer, right. Photo by Brooks Canaday.

This sparked Felleisen’s interest. He was helping a group of Northeastern undergraduates run a computer programming summer camp for disadvantaged middle schoolers in the area. The student group was called “Compass” and the first generation had some success at their mission, Felleisen said. But the new group was having a difficult time reaching the demographic they really wanted to work with—turns out computer programming had a reputation as something of an elite sport, reserved for the “smart kids” in the most privileged schools.

Earlier in his career, Felleisen had developed a programming language called PLT Scheme (now called Racket) that he hoped would enable all students–regardless of their background or report cards–to program.

Racket is unique in the world of programming languages because it works a lot like regular math. If you know algebra, it’s not a big leap to code a video game in Racket.

But learning algebra is hard enough on its own. Schanzer cites research into students’ struggles with algebra. This is when math itself shifts completely, he said. “Rather than solving equations, students talk about properties such as  linearity, roots, whether an image is ‘one-to-one’ or ‘onto.’ The switch from getting the answer to analyzing objects is a major leap into abstraction, one that can be extraordinarily intimidating and confusing to students.”

And to all of us: “We have a serious national fear of math,” said Emma Youndtsmith, Northeast Regional Manager for Bootstrap and a Northeastern graduate who learned to code using the same type of curriculum she’s now teaching.

Emma Youndsmith, a Northeastern graduate, learned how to program through the same curriculum she's now teaching. Photo by Brooks Canaday.

Emma Youndsmith, a Northeastern graduate, learned how to program through the same curriculum she’s now teaching. Photo by Brooks Canaday.

But video games aren’t intimidating.

The Compass students, Felleisen, and now Schanzer thought that perhaps if kids could get excited about building a video game using a mathematical programming language, they could get excited about math and programming too.

So after doing some learning of his own, Schanzer developed Bootstrap. The curriculum immediately achieves that element of excitement and motivation that Bob Cassels’ son needed in order to finally learn how to write code.

Students get to make their very own video games and each time they look at what they’ve created and realize it could be a little cooler if they could just make X happen, they learn a little more mathematics to get them there.

Another brilliant thing about Bootstrap is that it can be readily adapted into any public school algebra curriculum. It’s specifically designed to teach toward the common core standards for math, which makes it a lot easier for teachers to adopt it in their classrooms.

But in the end students don’t just learn how to answer algebra test questions. They learn algebra. They also learn programming, and, perhaps most importantly, that these two seemingly nerdy activities can grant them access into one of the coolest, most rapidly growing fields around.

Cassels’ son, about to graduate with a solid understanding of computer programming, is beginning to think about college and what he might do when he gets there. He went with his dad to tour some of Harvard’s physics and astrophysics labs and found that nearly everyone there was coding in at least some part of their research: “From the guy doing data analysis on quantum physics experiments to the woman doing computer simulations of activity around a black hole,” Cassels told me.

Of course astrophysics research isn’t in everyone’s future, but things like cell phones, microwaves, and light bulbs, likely are. Since all of these things are becoming programmable, we’d better learn how to program. Why not enjoy it, too?