Ask HN: What's the best Language/IDE to teach a group of kids programming?
I'm looking for a programming language/development environment that has the following characteristics:
- Runs on Windows - Includes an IDE - Free - Easy to install - Really easy to do graphics programming without using advanced language features. - Well documented
To elaborate on the purpose:
I am starting an after-school program to teach kids how to program. The end product of the course will be a simple but fun computer game that the kids can take home and run on their home computers if they wish. The schools computers run Windows, and I will be using their computers. The course will be targeted towards students in the gifted program at a public school. The students will be 10-13 years old.
I will not consider visual-only programming languages such as Scratch or Alice for this group. If, at a later time, I do a class for younger children I will consider these programs.
This is a non-graded, purely optional after-school class. It is important that the course be fun as well as educational. That is why the focus will be on making a video game. I want kids to learn how to search reference documentation for an answer to their questions, so a well documented language/api is a must.
I have ruled out the following:
- Scratch/Alice (too visual, perhaps useful for a younger audience) - LOGO (Not general-purpose enough, again, perhaps useful for a younger audience) - Lego Mindstorms (too expensive) - C/C++/Java/C# (too advanced – I would consider these for a 2nd language) - QBasic (I just wanted to mention this because I taught myself QBasic as a kid. It's obsolete now though)
The following are viable options that I have considered:
- Microsoft Small Basic (I'm leaning towards this) - Python+pygame (I'm thinking this may be too complicated to start with though, also a setup headache for kids... what do you think?) - Hackety Hack (anyone have experience teaching with this?) - Squeak (seems more complicated than I would like) - Visual Basic (6.0 is obsolete, but VB.NET is possibly viable, but is the complexity worth it compared to MS Small Basic?) - Just Basic (not as “polished” as small basic)
I am a Software Engineer, and will be working with an experienced teacher to make this after-school program work. Any other advice would be greatly appreciated!