Beginning around the age of eleven our oldest boys started expressing a desire to learn to program. We have used various resources and approaches for this budding interest and we thought we would share some of them here:
Hello World! by Warren and Carter Sande
This was the Beginning for us. Hello World! Computer Programming for Kids and Other Beginners was recommended by a friend whose son has just finished the book. This book teaches Python and assumes that the reader is an absolute beginner. Python is a free, open source software so all you need is the book and a computer connected to the internet. The book is simply written with lots of steps and examples and funny illustrations. If you make it all the way through the book you will have learned about everything from variable to operators, loops to commenting, objects 5o modules and more. These are things programmers need to understand no matter what language they write in. You can visit Hello World! Blog to download code samples and contact the author with questions.
Our second son took a beginner’s programming class at a local library this summer. The class was free, but quite intensive – three hours every day for a week. It was taught by a middle school math teacher who wanted to engage students in programming. He’s actually gone back to take the more advanced class because he loved it. Now all of his younger brothers are excited about Alice and being able to take a class of their own. If you can’t find a class or convince a math teacher to teach one, you can download a copy of Alice 3 and use the provided lessons and videos on the course materials page. There are also a lot of YouTube videos if you care to weed through them.
From the Alice website:
“Alice is an innovative 3D programming environment that makes it easy to create an animation for telling a story, playing an interactive game, or a video to share on the web. Alice is a freely available teaching tool designed to be a student’s first exposure to object-oriented programming. It allows students to learn fundamental programming concepts in the context of creating animated movies and simple video games. In Alice, 3-D objects (e.g., people, animals, and vehicles) populate a virtual world and students create a program to animate the objects.”
I stumbled across the Code Avengers‘ website one day when I was looking for resources to teach myself HTML 5. As I was going through the self paced course I thought that it would be something that the older boys could do. There are courses on HTML5 and Java Script. Code Avengers is based in New Zealand and it looks like their courses are used as part of the school curriculum there. I haven’t used it with our boys yet, but I have it bookmarked for future reference.
They say that their courses are recommended for 12+ and from my own experience with the course I would say that is an accurate gauge. What I liked most about the Code Avengers course was that it provided a phone to the right of the code window that displayed the HTML I was coding. On the phone you can tab between the example page and the page you are working on to compare how you are doing. This is a kind of instant feedback so you know if you did it correctl.
Code Academy is a site similar to Code Avengers and while it is accessible to young students it is not marketed toward them (no comic heroes here). What I liked about Code Academy was the same thing that frustrated me to no end. Code Academy requires you to understand what you are doing. No copying code here – you learn by doing and the exercises you are asked to do are just different enough from the examples to make sure you understand what you are doing. It also encourages you to look up references and do research while coding, which I’ve learned after living with a programmer for almost twenty years, that all programmers do. If you use hints, though, you lose points!
Code.org is behind much of the current conversation regarding programming literacy. They have big names, cool videos, and a flashy website where you can do everything from find a local programming class or group to solve programming puzzles and make simple games using licensed characters like The Angry Birds. There are some large donors behind this organization and you can read about their goals and agenda.
Scratch is an application that came out of MIT. It seems to be to be similar to Alice, but perhaps more accessible to even younger students. Honestly, I don’t know very much about Scratch yet, but it looks interesting.
Code Club is an organization somewhat similar to Code.org, but based in the UK. I like their model of reproducing small clubs in local communities (they are even going worldwide). Each club works through a set group of projects. It feels a bit more grassroots than Code.org. Code Club is where I first found out about Scratch. Take a look at their excellent resource page.
If you have other excellent books or resources that you have had a good experience with we would love to hear about them – would you leave a comment below?