My wife, Sheryl, is a Kindergarten teacher at Bay Fram School. We have a long association with that school in that our daughter, Stephanie, was in the first Kindergarten class that opened the school. Four years later, our son, Steven, also attended Kindergarten at Bay Farm. So Sheryl is thrilled to be teaching at a school that she's been a part of since 1993. When Sheryl needed a parent volunteer to teach computer programming, as someone with a degree in computer science, I was immediately conscripted. :-)
Kodable is a curriculum for students designed to teach them computer programming. Foundational skills are built using lessons intended for grades kindergarten through third. This is built upon in fourth and fifth grades so that the result is that the students understand and know how to program in JavaScript. Here is some JavaScript that I adapted from the Dynamic Drive site and use on the website for my homeowners association.
You can learn more about Kodables for yourself:
To get students started, I explained that computers are not smart on their own. Computer programmers have to tell them what to do. (Let's not bring up the topic of artificial intelligence yet.) In addition to telling the computer what to do, programmers have to tell computers what order to do things in. The order in which things happen is called a sequence.
At this point, my wife read a story about the Fuzzball family on the planet Smeeborg. The student's job is now to guide the Fuzzballs as they explore the planet. Using the available moves of: forward, backward, up, and down, each student with his own computer needs to put them in the right sequence so that the Fuzzball makes it from the starting point all the way to the other side.
Here is the first puzzle:
The students drag and drop the direction arrows and place them in the right order. After dragging and dropping the direction arrows, the students hit the green play button, and the sequence is executed. If they make a mistake, they can remove and re-add arrows and try again. The goal is to collect all of the stars by passing over them. In this simple example, students can't miss.
Here is the correct answer:
It's a long stretch from dragging and dropping arrows to writing JavaScript code, but this is an excellent start for five-year-olds.
Programming fundamentals are alive in the lab.
Speaking of programming, if you are an application developer, have you checked out Autodesk Forge?