The 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. …
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!