Kid Hacking – Learning to Program

Example of Scratch Program and Official IconThe successes of several HacKid conferences and the first ever DefCon Kids last year got me thinking about starting to teach my kid a little bit more about computers than he probably learns in school. Programming seemed like the obvious choice to me as that is where I started years ago. Yeah, it was only Basic but at least I learned the concepts.

(Note: As part of a campaign to bring forward some of our older posts that we feel still benefit the community, we’ve added this article to our Best Of category that will periodically get tweeted out. Please mention it to me on Twitter or contact us if there are any other posts you feel we should include in this category. This post was previously categorized under Securing Mom. [email protected]grecs)

With a little bit of Googling the top choice seemed to be a language called Scratch hosted over at MIT. At this point I didn’t really know much about it so I put a call out to the Twitterverse since I know many of us have elementary-aged kids.

grecs: Introducing kid to programming with a free tool called Scratch. Anyone out there tried it? Thoughts?

@danphilpott got back to me suggesting Logo but then later retracted that answer as it was “good for it’s time but [he] think[s] there have been better educational languages developed.” He then referenced Wikipedia’s Educational Programming Language page. Wow, what a great reference! It had a nice overview on Scratch.

Scratch is a visual programming language based on and implemented in Squeak. It has the goal of teaching programming concepts to children and letting them create games, videos, and music. In Scratch, all the interactive objects, graphics, and sounds can be easily imported to a new program and combined in new ways. That way, beginners can get quick results and be motivated to try further. …

This language looked like the perfect fit for me as it focuses on elementary-aged kids, is open source, and runs on a Mac. And then there was @danphilpott‘s Logo suggestion…

Logo is a language that was specifically designed to introduce children to programming. The first part of learning Logo deals with “turtle graphics” (derived from turtle robots used as early as 1969 with proto-Logo. In modern implementations, an abstract drawing device, called the turtle, is used to make programming for children very attractive by concentrating on doing turtle graphics. …

Back on Twitter @mahmoudhossam also suggested Greenfoot and pointed me to an article about it written by James Gosling. The Educational Programing Language wiki describes it as:

Greenfoot is an interactive Java development environment developed primarily for educational purposes. It allows easy development of two-dimensional graphical applications, such as simulations and interactive games. It is mainly aimed at programming education (object-oriented programming with Java) at high school and early university level.

Although Greenfoot is a great suggestion, it looks like it’ll be a few years before the kiddos are ready for that level of complexity.

The other nice thing about the Educational Programming Language wiki page was at the bottom, there was a matrix that matched grade levels to programming languages. So for someone pre-school through 2nd grade it recommended:

For grades 2 through 4, it listed:

From the Logo Foundation site (also hosted by the good folks over at MIT) I even learned Scratch is an implementation of Logo. Since Scratch is a derivative of Logo, I felt even more confirmed that my original selection of Scratch was a great way to start out.

Be sure to checkout Scratch’s Support page with a getting started guide, video tutorials, and tours. I also noticed an offshoot of Scratch called BYOB (Build Your Own Blocks) that I’ll probably checkout. Hosted by Berkeley, it comes with a complete course called “CS 10 – The Beauty and Joy of Computing using BYOB.”


The good news about all this was that after I installed Scratch and showed the kiddo a few things, he seemed to pick it up fairly quickly. Today’s post image is from Bricks Bots & Beyond. See ya!

26 comments for “Kid Hacking – Learning to Program

  1. May 18, 2012 at 11:59 pm

    The 1st of @grecs Kid Hacking series .. “Learning to Program”

  2. May 19, 2012 at 12:09 am

    #NoVABlogger Kid Hacking – Learning to Program

  3. May 19, 2012 at 12:43 am

    # Kid Hacking – Learning to Program

  4. May 19, 2012 at 1:11 am

    Kid Hacking – Learning to Program: The successes of several HacKid conferences and the first ever DefCon Kids…

  5. May 19, 2012 at 6:22 pm

    BLOGGED: Kid Hacking – Learning to Program //Perhaps a weekend project to setup for the kiddos.

  6. Brian West
    May 19, 2012 at 10:29 pm

    I think a good one is Blitz3D. Probably not great for really young age, but I think at 6th grade and up or so, it’s a great way to start getting into some programming stuff, as it has a built in 3D and 2D engine for game creation, and reading input from keyboards and mouses is really simple.

  7. May 19, 2012 at 11:13 pm

    Only one day left this weekend to get your elementary kids started in programming.

  8. May 19, 2012 at 11:21 pm

    Brian: Thanks for the recommendation.

  9. May 20, 2012 at 11:44 am

    Kid Hacking – Learning to Program //Well, really teaching to program.

  10. May 21, 2012 at 4:17 am

    Kid Hacking – Learning to Program | NovaInfoSec #HacKid

  11. May 21, 2012 at 4:58 am

    “@securityninja: Kid Hacking – Learning to Program #fb”
    Prépare vos enfants pour le combat de demain …

  12. May 21, 2012 at 6:18 am

    “@securityninja: Kid Hacking – Learning to Program #fb” awesome concept, if I had kids I’d show them this

  13. May 21, 2012 at 9:36 am

    Kid Hacking – Learning to Program #hackkid #defcon #infosec

  14. May 21, 2012 at 2:10 pm

    I plan on getting my kids started with Scratch this Summer, at 9 and 11 they’re around the age I started learning LOGO when I was a kid! Great resources, thanks for the encouragement

  15. May 21, 2012 at 4:55 pm

    fak3r: No problem. Love getting good stuff out there like this.

  16. Arie
    May 22, 2012 at 2:21 pm

    I’ve good experience with introducing programming with RoboMind ( to a class of 10 year olds. Worth giving a try!

  17. May 22, 2012 at 3:20 pm

    Kid Hacking – Learning to Program #fb

  18. June 17, 2012 at 11:17 am

    Kid Hacking – Learning to Program (happy fathers day)

  19. July 9, 2012 at 12:12 pm

    Best Of: Kid Hacking – Learning to Program

  20. August 4, 2012 at 5:03 pm

    Best Of: Kid Hacking – Learning to Program

  21. November 23, 2012 at 9:19 pm

    Best Of: Kid Hacking – Learning to Program

  22. February 25, 2013 at 10:12 am

    Best Of: Kid Hacking – Learning to Program

  23. June 1, 2013 at 11:43 am

    Best Of: Kid Hacking – Learning to Program

  24. February 24, 2014 at 10:43 pm

    Best Of: Kid Hacking – Learning to Program

  25. Stephen Battista
    April 1, 2014 at 12:27 pm

    Yes, I have taught Scratch to a group of Elementary students. It was great, there are lesson plans and it did increase the interest of computer science in students.

  26. April 1, 2014 at 10:14 pm

    Good to know. Which lesson plans did you use?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.