In order to teach kids how to program, you need first to get them interested in something that is computer related. One of the best ways to get them interested in computers is games. They may want to write their own games, and that could be their entry into programming.
Here are some links to sites that deal with this subject.
CoderDojo
CoderDojo is a web site for non profit organizations that teach kids programming, starting at age 7. Their wiki has more information.
App Invetor
App Inventor is a beginner introduction to programming and app creation. From MIT.
Scratch
Also, from MIT, there is the Scratch language. You can program right from the web site.
Python and PyGames
Python is a very clean and very easy to understand language, yet a very powerful one as well.
PyGames is a set of libraries that allow someone to write their own games using the language.
Here are several tutorials on the Python language, which you will need to write games using PyGames:
- For beginners, it is recommended that they start with something that does not assume they know too much about programming. The Python Programming for non-programmers is a good start, specially when combined with the IDLE Python GUI Integrated Development Environment
- Linux Journal has a short one page tutorial on Python, called Python Programming for Beginners
- If you prefer a printed tutorial, then download and print these Tutorial in PDF format with even a test, and some classic games that use PyGame library (Asteroids, Pacman, Spacewar).
- Introduction to PyGames is a good place to start (after learning Python basics) from the above. It contains a nice 25 line demo of a bouncing ball! Good to get the young ones' attention.
- Learning Python the Hard Way
- PyDance is another game written in Python using the PyGames library.
- A complete book teaching Python programming can be found here Think like a Computer Scientist: Learning with Python by Allen Downey, Jeff Elkner and Chris Meyers. Another link to it is here.
- Python tutorial, from the official Python web site.
- Google Directory list of Python FAQs, Help, and Tutorials
- An Introduction to Python by Guido van Rossum, and Fred L. Drake, Jr. (Editor)
- Thinking In Python by Bruce Eckel
- Dive Into Python: Python for Experienced Programmers by Mark Pilgrim
- Text Processing In Python by David Mertz
- Python Language Reference Manual by Guido van Rossum
- Hello World: Computer programming for kids and other beginners is a book for teaching kids programming using Python as the language of choice.
Robocode
IBM Alphaworks Robocode teaches kids Java programming while writing a game.
Robocode Central is a web site dedicated to the Robocode community. It has lots of resources about Robocode.
Slashdot discussion on Robocode, titled: Learning Java through violence
Kuro5hin discussion on Robocode
Cognitoy's Mindrover
Cognitoy has a game called Mindrover, which is often used in education. Check Mindrover educational resources for more detail.
Squeak
Squeak is a language that has developed into a community of students and teachers interested in learning and teaching programming using this deriviative of Smalltalk-80 object oriented language.
HTML and Javascript
Some kids can get started using plain HTML, writing web pages for everyone on the net to see. The instant gratification provided from instantly publishing their work, can be a good motivation for them to get started.
- Web site builder for kids
- Learning HTML for kids
- Lissa Explains HTML
- HTML Tutorial for kids
- Google Directory HTML / Web Page Design
As they grow more curious and competent, kids could start to explore other pages on the internet ("How is this menu done?", ...etc.). They could go on from there to Javascript.
PHP
PHP is a relatively easy language to use. Here are some tutorials on it.
Other Resources for kids and programming
- Four tools for teaching kids to code
- Teaching Computers to Kids
- How to teach programming to kids by Chris Pirillo.
- Open Source programming languages for kids at Linux.com.
- How to Design Programs
- Game Maker
- Klik n Play
- Inform - Adventure Game Building
- Anirak A game written in Java and runs over the internet in Java capable browsers.
- Also, by the same author, there is a Pacman applet tutorial
- Colobot
Discussions and other stuff
- A family's experience with teaching kids programming Kids Computer Programming
- Slashdot has a lengthy discussion on an article called The Little Coder's predicament with lots of good comments from parents and kids alike.
- Video Game Simulation Programming on Google Directory.
- A Slashdot discussion on Moving your kids to Linux.
- Another Slashdot discussion Best introduction to programming for bright 11-14 year olds.
- Another Slashdot discussion Teaching primary school students programming.
- Another Slashdot discussion MIT Media Lab making programming fun for kids.
Comments
Anonymous (not verified)
Gamemaker
Wed, 2006/03/22 - 16:13I can recommend Gamemaker for teaching kids programming.
It is being used by a number of schools, see http://www.gamelearning.edu.au.
I have taught it to grades 1 to 8 with success.
http://online.haileybury.vic.edu.au/sites/edrington
I have assembled useful teaching resources at http://www.freewebs.com/schoolgamemaker/
Michele (not verified)
Robocode
Mon, 2007/03/05 - 09:53Robocode is not hosted at http://robocode.sourceforge.net/ the links cited are obsolete.
Ivo (not verified)
Baltie
Sat, 2007/06/09 - 10:19We have stopped using GameMaker because is not real programming tools. We have moved on Baltie - 3D education programming tool (http://www.sgpsys.com). It is being used in school in Central Europe. I think there are many competitions. I like it!
Arvid (not verified)
RoboMind
Sat, 2007/09/01 - 06:46Or take a look at:
www.robomind.net
RoboMind is a very simple educational programming
environment that will familiarize you with the basics of computer
science by programming your own robot. In addition to an introduction
into popular programming techniques, you will also gain insight into
areas such as robotics and artificial intelligence. It's entirely free
for personal use.
Jason R Briggs (not verified)
Python programming for kids
Sat, 2007/09/22 - 02:25Here's another one perhaps to add to the list:
Snake Wrangling for Kids
which aims at teaching the basics of programming using Python.
Al Sweigart (not verified)
Invent Your Own Computer Games with Python
Sat, 2008/08/23 - 01:56I'd like to add this book to the list. It is available for free under a Creative Commons license:
Invent Your Own Computer Games with Python
http://pythonbook.coffeeghost.net
Steven Hong (not verified)
Hello World! Programming for Kids and Other Beginners
Wed, 2008/10/29 - 13:57Hello World! Programming for Kids and Other Beginners is a new resource coming out in print from Manning Publications and currently available as an ebook. It's a book written by a programmer, Warren Sande, and his son, Carter, and the lessons are in Python. It's a great book for either classroom or home setting.
Adrienne Smith (not verified)
Roblox - Free Online Kids' Building & Programming Game
Tue, 2009/04/07 - 00:34ROBLOX is an online virtual world and building game for kids. It uses the Lua scripting language. Kids can have fun and learn programming at the same time. Each user is given a "place" which they can build on and add objects to. The objects can have very complicated behaviors - for instance, a working helicopter or a door that only certain people are allowed through. There is an extensive help section with tutorials and active forums to ask for advice and trade development tips. Check it out at www.roblox.com.
Kerim Kürşat GÜNEY (not verified)
Teşekkür (Şükran-Minnet)
Mon, 2009/07/20 - 12:21Çocuklar için programlama öğrenmeye yardımcı yazılım ararken denk geldim. Bilgilendirici oldu. Emeğin için teşekkürler.
club penguin (not verified)
It uses the Lua scripting
Wed, 2009/12/09 - 21:41It uses the Lua scripting language. Kids can have fun and learn programming at the same time. Each user is given a "place" which they can build on and add objects to. The objects can have very complicated behaviors - for instance, a working helicopter or a door that only certain people are allowed through.
Pages