Alfred Thompson
1 Jun 2011 9:04 AM
For younger kids there is a sort of progression. I like Kodu for 7 to 10 year olds. There is some curriculum, not much really but you don’t need a lot, on the web site in the Classroom Kittab. Kodu is good for getting kids to think about programming or rather, conceptually, the idea that they can tell the computer what to do, have some success and learn as they play how to do planning, storyboarding, critical thinking, problem solving and even be artistic and creative. And its fun.
After that I see three tools that I like for different things: AliceScratch, and Small Basic. Alice is from Carnegie Mellon, Scratch from the MIT Medial Lab, and Small Basic from Microsoft.  There are whole books on Alice. Hit up Alice.org and take a look. There is also http://www.aliceprogramming.net/ which is all about instructional resources. For Scratch besides the main Scratch web site with its forums and project sharing there is ScratchEd with its resources. And there are other Scratch sites as well. The Scratch BYOB project (out of UC Berkley)  allows for some really powerful expansion of Scratch for older students – up through college.

While Alice and Scratch are drag and drop blocks of code as is Kodu, Small Basic is a more traditional programming language. I do like the idea of getting to “real code” early in the process. The Small Basic page on Kid’s Corner has a curriculum for Small Basic. It’s pretty complete and more resources are coming all the time. Lynn Langit and partners have a site with curriculum and videos using what they call design recipes at Teaching Kids Programming which is also well worth checking out.
The Beginner Developer Learning Center Kid’s Corner has long been a site I recommend for home school parents and young people who want to learn on their own. There are a number of kid’s courses for programming (Code Rules which his also used in a lot of after school programs), Creating Your First Web Site Using HTMLIntro to Programming Windows Apps, and Introduction to Web Design. All free and all using software that is available free. And there is more. Spending some time looking though the BDLC Kid’s Corner will turn up all sorts of great possibilities.
It is important to remember that the state of computer science is evolving. There are better tools – better IDEs, better languages, better projects, better everything- then there were even a few years ago. Not everyone has to learn the same way everyone who came before them does. People learn at different rates as well. Some people may start with Alice or Scratch and that may be all they ever want to do. Others will decide they want to make serious games or applications that they can sell. Those students will want to move on to languages like Visual basic (bit the graduate button on the Small Basic IDE), C# and XNA (I’ve got lots of links to XNA educational resources on this blog) or functional programming using F# (Learn F# online at Try F#) There are lots of resources for all of these tools.