Why learn code? The biggest reason for me is that it's as close to teaching at Hogwarts as I will ever get. Code is magic. One types a series of letters and symbols into a window on one's screen and then, when one tells the computer to "read" the commands, the computer follows the instructions. So much of our time with technology is spent pointing and clicking. We are in the thrall of the technology. It is so exciting to pull back the curtain and see what is going on and even take over the controls. Over break, I used AppInventor (a very simple programming language from MIT) to create an app for my brother-in-law. He downloaded it and now "iHazel" plays a recorded message from my daughter whenever he pushes a button ("Great job, Uncle Larry!") When he installed the app on his phone and tried it out we all cheered - we had made a real app and it felt pretty amazing.
The second reason we learn code is that it's an authentic opportunity for me to learn along side the Herons. So often they'll be struggling and the only thing I can do to help is to come and struggle with them as we watch a tutorial or read about a command to see what is going wrong. I get to do a lot of modeling of how to approach problems and how to react when something is frustrating. We talk often about the growth mindset and how important it is to find things that are hard at first. But the truth of the matter is is that I don't struggle with long division or identifying metaphors versus similes. It's all well and good for me to say "your brain gets bigger when you struggle." But with coding, we really are learning together in all the messiness that that implies.
Coding is also a distillation of the scientific method. One hypothesizes, tries out the hypothesis, analyzes the result, then modifies the variables. It's textbook critical thinking - the kind of thinking that will be necessary for students no matter what field they go into. When you code, you break down a larger problem into smaller pieces. You think through what you need the computer to do in a methodical, step by step way. And then, when something doesn't work (and something always doesn't work at first) you think through your program step by step to figure out where things went awry. These are all crucial skills.
And the final reason we learn code is that it is a whole lot of fun. It's a puzzle to be twisted this way and that until you can make sense out of the pieces. Like most real life problems - there are a lot of different ways to solve things.
I encourage you to sit down with your Heron and try out some of the activities in our coding section (in the side bar to the right.) It's a pretty great way to spend a frigid afternoon.