Speaking in Code
Teaching computer science principles to kids as young as 4 may seem challenging, but for Gretchen LeGrand, M.S. ’10, founder of nonprofit Code in the Schools, it’s more like child’s play. In fact, games, puzzles and playdough are some of the favorite tools that the organization’s eight instructors use.
Q: How do you teach computer science to such a wide age range?
A: The kids we work with have no prior knowledge or conceptions at all about computer programming, so they’re ready for you to show them how to do it.
There can be some frustration when their code doesn’t work or they keep getting error messages, so we try to eliminate that with the younger ages by using the easier tools such as block-based [drag-and-drop-instruction] coding. With the blocks, your error is going to be with logic, not because you misspelled something or forgot a semicolon.
At the older levels, though, we see the frustration. They have to go back and figure out what they did wrong. But once they’ve done it a few times, they start to see that the problem is “overcomable.”
Q: What are some of the activities your organization brings to the classroom?
A: A program we use a lot is [a] puzzle-based one through Code.org. ... The kids have to develop a block-based code that moves an angry bird through a maze to get to the bad pig. At the high-school level, we introduce them to programming concepts through the making of their own video game.
Another thing we put emphasis on is electrical engineering and circuits. So we may do a project called “squishy circuits,” where you build a circuit using playdough, a battery and some lights. That’s great for little hands because you don’t have to be very dexterous, and there’s no soldering involved.
Q: Who designs your curriculum?
A: We draw from other sources such as Code.org, Scratch, MIT App Inventor and Kodu as much as we can because we’re not trying to reinvent the wheel. Plus, we have a commitment to using free, open-source tools. We research the best programs and then do a lot of tweaking. We’re also starting to do a fair amount of curriculum development ourselves—mostly because we’ve done everything we can find out there. So we’re developing new content, curating old content and improving on some stuff that we think could be a little better.
Q: What are some of the benefits children gain from computer science training?
A: We have 1,000 kids enrolled in our various programs, and not everyone is going to become a computer programmer. But what they’re learning are really valuable problem-solving skills—breaking a problem down into its smallest pieces and then putting it back together, step by step, to solve it. They also learn to understand computational thinking and how to debug a problem—that is, find the place where their program is not working. I think about that all the time, whether I’m writing code or trying to figure out why my washing machine’s not working.
Q: Why are computer science skills so important?
A: Knowing what a computer programmer does, how a computer operates and how human-computer interaction works is important because every industry is being revolutionized by computers. We use our computers, our [tablets] and our smartphones to consume all the time, but rarely are people using those tools to create things. Giving kids the knowledge and opportunity to do that is vital. It’s becoming the new literacy, and if we’re not teaching it to kids, they’re going to be left behind.