So these days we know for sure that our kids are screwed if they do not learn programming from the time they are zygotes. I know this is somewhat of an hyperbole… but any half-way decent tiger mother has already looked up ways to help their kids program (e.g., apps, camps). As further evidence, take the efforts that many are going through to figure out how to teach programming for kids (e.g., Google’s Project Bloks below):
In my area of research, I think a lot about this question: what are core concepts in understanding of math and science? So I ask myself, what are CORE concepts in programming?
Off the top of my head, I feel like there are some important basic skills, like how to debug, how to model, how to make an algorithm, how to structure data… Now a lot of that you probably have to learn by doing. Which is why we need tools like Project Bloks, Scratch (MIT), Lego Mindstorms to provide platforms upon which kids can learn to code.
But I think we need something more. A lot of coding is based on logic, structures, patterns and these are just IDEAS. You can probably learn these ideas THROUGH coding but I tend to think, at least for young children, coding may not be the best way to learn these abstract concepts (Perhaps programming is! I’m open to the idea! I just have my doubts is all.) Or at the very least, I don’t think we need computers in order to teach kids about these cool concepts.
That’s why I love stuff like Code Monkey Island where you have cards such as “for each monkey on a tree, move 3 spaces” (for loop, boolean operators) or “if any monkey is on a vine, move 1 space” (if..then, conditional statements). This is a physical board game but it targets the actual ideas that are super important to understand. My conjecture is that these ideas are important to understand even before learning syntax in a particular platform (e.g., Scratch, etc).
So stay tuned as I begin my sporadic new series: programming for preschoolers! Activities to get the 3-7 set thinking about abstract programming concepts!
**Shout out to Alicia Chang at Google for random conversations long ago about programming for kids!!!