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
Abu Rashid (not verified)
Hello World & Python
Sun, 2009/12/20 - 19:58I have used Hello World to teach my son (7 yo.) python, and I've found it to be an excellent resource. Python is a very easy language to use anyway, and Hello World makes it fun and puts it into fairly easy to understand terms. The math required was a little bit too much for a 7 yo. but most of it can be skipped without having too much impact on their uptake of the concepts.
Teach Me Programming (not verified)
Teaching HTML to children courses
Mon, 2009/12/21 - 14:48Web Programming courses with HTML/CSS are available at TeachMePrograming.com for children and adults.
just me (not verified)
hmm maybe you can help me
Sat, 2011/04/02 - 16:36well, am trying to run colobot under linux ubuntu 10.10
whenever i start it, it ends up whith an stupid whitesreen, and my resolution is about 240x400
have you got a solution?
readable books (not verified)
you have interesting site.
Sat, 2011/10/01 - 05:41you have interesting site. good post and i think it's very useful.
Matt (not verified)
engineering
Tue, 2014/02/25 - 15:38You really do need to make things interesting for kids to enjoy science and math and want to learn. As a kid my dad was an engineer and we used to work on remote control toys all the time. This experience working on improving vehicle performance was great for me and helped inspire my engineering and design abilities(and now Im an engineer). Now I try to give back to kids by helping them understanding rc boating with my blog.
Pages