Lots of free tools that could be used in the course of teaching kids about computers.
I blog post about teaching Ruby to 4th and 5th graders. The teacher used the “Shoes” platform.
There’s also an article about teaching Ruby to High School girls:
This looks a lot like Logo only better.
From the site: “ROBO is a new and very simple educational programming language 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.”
“RoboMind is meant to be a first introduction to automation and programming without prerequisites. Because many different exercises can be made, the difficulty level can be tailored to the audience. In primary education pupils can get acquainted to writing commands to navigate the robot through its environment, on high school programming structures get more attention and universities focus on the theoretical aspects of automation theory like Turing machines.”
It’s free and available for Windows, Linux and Macs. ( Waring! It requires Java 1.6, which only recently was available on Mac OS X. )
This tool shows the working of a computer CPU using the Little Man Computer Model (LMC).
The Little Man Computer was created by Dr. Stuart Madnick of MIT as a model for teaching the workings of a CPU. The LMC models the working of a modern CPU, but is still simple enough to be understood and programmed by high school students.
This module uses a combination of discussion and participant involvement to learn about the differences between analog and binary representations of information. Since computers use a binary numbering system, participants learn how to count in binary.
The goal of this activity is to illustrate the basics of working with the binary numbering system.
The goal of this module is to conceptualize how communication happens between the parts of a computer. Placed into the context of the things we use the computer (typing, displaying characters on the monitor, accessing the Internet) we can gain a clearer understanding of how the parts work together to accomplish tasks. Understanding this process is useful when troubleshooting hardware or software problems.
This page has lots of software that can be used for educational purposes. It includes some programming tools.
This course is obviously for college students but it is for “students with little or no programming experience”. So it might be suitable for younger students.
It includes videos of the lectures! http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-00Fall-2008/LectureVideos/index.htm
I good list of resources for computer teachers.
If you want to teach Web searching, here are some good resources:
http://www.youtube.com/watch?v=X4FXXMzUiy has a 54 minutes “Teaching Search in the Classroom” webinar
http://www.youtube.com/watch?v=CWHPf00Jkqg – a short video on “Web Search Strategies in Plain English”
and finally, Google for Educators – http://www.google.com/educators/p_websearch.html