Google’s Santa Tracker Codelab Is an Extremely Simple Way to Teach Kids How to Code

SantaTracker750x420

SantaTracker750x420

Google’s Santa Tracker Codelab is an extremely simple way to teach kids how to code, and honestly it’s the easiest and most beautiful way I’ve seen yet.  The Codelab consists of 10 challenges that slightly increase in difficulty as you go on.  These challenges have you moving an Elf through a maze to find a holiday present.  Which is a pretty genius way to pull students interest in right off the bat.  It’s simple and fun, conceptual, and easily tied back into real world coding.  Access it now at https://santatracker.google.com/?hl=en#codelab and you’ll see what I mean.

Being a CS Major in under grad and grad school I’ve learned my fair share of programming languages and environments to write code in.  For me the concepts of programming always came easy, even if the actual code writing was hard.  AT times however, setting up those environments could be cumbersome.

So how do we teach students not only the concepts of coding, but also provide them with an easy to use coding environment?

Some of the simplest coding environments involve visually dragging and dropping boxes of code that already have pre-determined functionality.  There are less semi colons and more focus on putting building blocks (the functions we write with curly brackets) together.  Lego Mindstorm’s native development environment allows you to program visually like this; you drag and drop sensor and motor control blocks to bring your robots to life.  However the kit isn’t cheap and you have to actually build something to see your code come to life.

Blockly is Google’s “ library for building visual programming editors.” And as far as I can tell this is the Engine for the Santa Tracker Codelab.  This Codelab features a very polished, Material Design minded and cartoonish environment that kids will love.  The environment is all set up and ready to go, it’s accessible via a web browser.

Equally, if not more important, the Codelab starts simple and conceptual with out adding anything technical to confuse you.  For the first challenge you literally combine two puzzle pieces, or lets call them “Blocks” to create a picture of a reindeer, then in challenge two you use three blocks to create an image of an elf.

The first concept is combining smaller pieces to create a larger whole.  Simple.  No Code yet, but your mind is now starting to get conditioned.

SantaTrackerChallenge2

Level 3 is where things get exciting.  Your challenge here is to move an elf through a maze, one step at a time to grab a present.   You do this using North, South, East, and West controls.

…the basics of programming, with out actually writing a line of code.

For this challenge two north moves find you the present.  So you drag two north blocks under the “When Run” block and push play.  Now you see an Elf move forward two spots on the screen and he finds the present.  So now we’re putting blocks of functions together, and directly seeing the outcome.  Challenges increase in difficulty and we eventually are introduced into conditional loops to repeat blocks of code.  Again the basics of programming, with out actually writing a line of code.

SantaTrackerChallenge3

In the more difficult challenges there is more then one way to solve the puzzle and get through the maze.  In these instances the Codelab will actually tell you that you can do it in fewer blocks of code.  So now we’ve taught students the basic concept of optimization.  One could even make the argument that this is the bedrock to teaching analysis of algorithms and concepts such as Big O Notation (simply put how many times an algorithm needs to run to solve a problem).

Now how do we tie this back into actually writing code?  Well there’s a link that says “View code” that will show you a JavaScript equivalent would look like.  This shows kids how the concept of their code blocks translates into actually written code.  In my mind the next step would be to allow kids to actually write the Javascript shown while still moving the elf on the screen, and I’d love to see that on future iterations, or even a stand alone offering.  Given that the Santa Tracker this year was a 20% Time project it’s easy to understand that this Codelab was small in scope and as such doesn’t feature this, but it would make it a more robust solution to teaching kids how to code.

As I mentioned the visual nature and the fact that you don’t need to actually use a keyboard and write code makes the Google Santa Tracker Codelab simple.  The fact that it has a holiday theme makes it fun.  By abstracting the notion of coding into assembling building blocks visually the Codelab provides us with the concepts of coding, and since we can view the code that would be generated it easily ties back into real world coding.  The Google Santa Tracker Codelab is an excellent example of how we can begin to introduce coding to students at younger ages.  I can’t wait to see if there are more like this.

Cast away: Google’s latest streamer

Google chromecast

I’m not going to lie, I’m extremely excited by the Chromecast dongle. Sure it does a lot of what Airplay theoretically already does, but at $35 US it does it for far less

Finally someone made easy to use device to push digital video  to my TV. I mean how many times have you seen it on NCIS: LA where someone swipes up on their device and magically their window shows up on a TV screen?  Sure you may have to tap a button instead of swiping but you get my point.

What I like about this is it’s simplicity, and it’s price.  It’s not an over thought or under thought attempt at a connected TV.  It’s merely a means to wirelessly push the content that my connected devices are already consuming.NOTE I’m still trying to figure out how much Chromecast pulls from my device vs uses my device as a discovery and control mechanism and then pulls down from the Internet/cloud.  As part of it’s elegant simplicity Chromecast doesn’t require a special app on the Chromecast device to work, maybe just some slight tweaks to the one on my laptop/phone/iPad/Kindle Fire/connected device.  From all of the reports out there it sounds like it can stream content right out of Google Chrome on my computer also. At $35 I can add it to 3 TV’s in my house for the price of an Apple TV and not have an of Apple’s content restrictions.

Also The Verge has a pretty good comparison of Chromecast vs AirPlay

http://www.theverge.com/2013/7/24/4554130/google-chromecast-vs-apple-airplay-how-do-they-compare

Let’s hope when I finally get my hands on one that it works as simply as promised. When I get some more time to look over the SDK I’ll post some more findings.