Hour of Code

my_hour_of_codeSomething quite interesting is coming to Kenwood and Carrie Busey this next week; the Hour of Code.

You can read a little more from Stephanie Stuart’s recent Unit 4 news item. Or you can jump right in at code.org (the twitter feed is quite hot at the moment).

I am a CS major, so all this talk about Computer Science is right up my alley. What is most fascinating about this approach is that the collaboration of authors (they drew on engineers at Google, Microsoft, Apple, Dropbox just to name a few small companies) have done a very amazing job at taking the dull, boring, tedious and onerous stuff I learned in high school and college and turned into a fun, intuitive subject matter that anyone can get into. Not just computer geeks. My daughter invited a friend over today just so they could both “play Blockly” (Blockly is the underlying environment).

hour_of_code_example1The “Hour of Code” that kicks off on the 9th starts you with a very well-done video featuring some people you might recognize (Bill Gates and Mark Zuckerberg just to name a couple), and then gives you a pointer about how to complete the first task. And of course, these guys got rights to use the “Angry Birds” theme, making an instant connection to that mindlessly addictive vice. What I love about this environment is that it is very forgiving, very smooth, very “web 2.0” and quite instructional. You start with a very simple task with a very clear goal, with only a few options to complete that task. And it just builds from there. Before you know it, you are using loops and logic branches (if .. then), and then immersed into the world of “Plants vs Zombies”. How can you not love this stuff?!? 🙂

hour_of_code_example2

The “Hour of Code” deals with just the first ‘stage’ of 20 total stages. Think of it is 20 different lessons, all building upon each other until you get to the end where you have essentially “mastered the basics.” And in my opinion, mastering the basics is a fundamental skill in our modern society. But it doesn’t stop there; the teams that bring you the cute little computer science training with the full sound effects of Angry Birds went a step further and created an “unplugged” version, an entire lesson plan on teaching these concepts with no computer at all. They use another fun, addictive activity that many youngsters will think fondly of – the Cup Game. In the “unplugged” series, a team of students, comprising of one “robot” and several “programmers”, have to instruct the “robot” how to play the game using a limited vocabulary of 4-6 “commands” or symbols. Basic things like “pick up cup”, “put cup down”, “move cup left”, “move cup right”, etc. The idea is for the programmers to come up with a stack of symbols such that the robot can follow the entire thing from start to finish. Not too different than the old punch cards programmers used to use several decades ago. 🙂

Both Kenwood and Carrie Busey have been exploring how to use a program called eToys in their curriculum. Kenwood has done a full-school immersion, while Carrie Busey is isolated to one class. eToys is built on a platform called Squeak. MIT came out with a very similar concept called Scratch, also built on the Squeak platform. Where eToys is open-ended, robust and quite comprehensive, Scratch is very focused, straight-forward and in my opinion, easier to use and teach. eToys is powerful and big, Scratch is simple. The Hour of Code utilizes something called Blockly, similar to Squeak, and looks almost exactly like Scratch. It is written entirely in javascript (unlike Squeak and eToys/Scratch), and the authors have made it available so you can download it to a simple usb stick and run it in a modern web browser.

Congratulationshour_of_code_all_trophiesI had a lot of fun with Blockly. I zipped through the first 20 lessons of the Intro stage, then marched through the remaining 19 stages. Another fascinating element is that the student is almost being tricked into learning core Computer Science concepts. Aside from control loops, logic branches, there are also functions and parameters. But these are hidden, or rather abstracted, behind fun tasks that are short, quick and easy to digest – bite-sized chunks of Programming 101. And beyond that, there is plenty room for creative exploration. One can choose to beat the suggested number of blocks and optimize their “code”, or one can just go crazy and make the subject do totally random things. I really appreciated how there are several stages devoted to artistic expression; this leaves things wide open for those that just want to try things out. There is no “penalty” for using too many blocks in these creative lessons (in the normal lessons, you are constrained by a maximum number of blocks). I had a bit of fun trying to figure out how to use the basic functions available to create the Golden Ratio, ovals and finally a sine wave.

I realize programming is not the end-all-be-all. I realize some kids have different strengths. I don’t know how all this programming stuff will fit into K-12 Education. My excitement revolves around the fact that some really smart people have come up with a totally fun way to open the doors and allow anyone to learn concepts that I labored through. For some, this might open the door to a future career without even having to go to college. For some, this may ignite a passion for computers. Who knows. All I know is that I had fun with it. 🙂

blockly_sine_wave

Advertisements