I found lightbot while looking for apps for the Hour of Code last year. To be honest, I didn't think much of it at first -- quickly skimming through apps and preparing to lead my first class in an Hour of Code, I missed its genius.
I did download it and figured it would be great for the younger kids (1st and 2nd graders). And when I introduced them to it, I was correct. It was great for them. While I helped them through the first few challenges, I started to pick up on how great this app is. It quickly gets harder, yet in a very fun way. I also noticed the older kids watching and wanting to "play".
So, essentially, it is a great app for any age. It is a great "game" for people who already know how to code (like myself). The way it introduces procedures, directly relating their use in solving recurring patterns is superb. Furthermore, it exposes students to procedures, loops, conditionals and even overloading.
Let me continue on this last point and share a couple of stories:
As I said, I wasn't entirely thorough when introducing lightbot and mostly went through the levels with the kids as they did it. I didn't realize the impact the app was having -- students were going home and getting their parents to install it. They were using it at home and quickly surpassing my experience with the app. I didn't even know that it went into overloading until I was approached by one of my 3rd grade students who relayed to me something like, "So, instruction overloading is easy to understand, but I'm stuck on this one overloading level, can you help me?" Okay, let me just say I was speechless. Remember, I was still working on some lessons for the older kids to write code in Ruby and Python; I still viewed lightbot as a solid game to keep the younger kids happy. Now, I've got a third grader who already "gets" overloading! Clearly, I had to spend more time with this app and adjust my plans to fully leverage it.
Now that I have lightbot integrated into my lessons, I can introduce concepts like overloading to kids I'm teaching to code in a programming language (like Ruby and Python). For example, when we are working through the
puts "Hello World, Hello " + name
example, I can casually point to the "+" operator and explain that this operator is overloaded. The plus (here in Ruby) can add numbers or add strings and even add other things. First of all, overloading is not new to the lightbot kids and secondly, I hardly have to explain myself!
And its exactly these type of apps that are making my job creating lesson plans and curriculum fun and exciting. When I was in middle school teaching myself BASIC, I had to wrangle with GOSUB for weeks before I even began to understand its power. Lightbot teaches this to a 1st grader in a very interactive and visual way, builds on it, and has them "practice" it as they move through levels. Whether they know it or not, they are starting to think like a coder.
Therefore, I want to pass on my thanks again to the folks at Lightbot Inc. who have developed lightbot. It truly is a remarkable tool for #edtech instructors. It is imperative we have as many elementary students working with procedures, loops, conditionals, and yes, overloading so that its second nature for them, so they can function in the highly tech-oriented economy in which they will live.