Wednesday, May 23, 2007

Teach Kids to Program

Last weekend, my wife and I took the kids to the Maker Faire, where I ran into some folks from MIT's Lifelong Kindergarten group. I would have to say that of the whole Maker contingent, they were showing the most refined educational tools of the bunch, kits and software to teach young children how to program.

The Scratch programming environment (download Scratch for free here) was designed to eliminate the requirement that a programmer understand code syntax and grammar before being able to do anything useful. The main tool here was to devise a simplified language encapsulated in graphical blocks with shapes that only fit together properly when slotted in the right order and positions.

The software package includes mechanisms for a host of graphically interesting drawing, sprite control, and audio effects, as well as a built-in mechanism for code sharing and community building. Don't miss the project pages to check out all the cool code a host of kids have already written.

moving animation carddance twist scratch card

One thing that I particularly about the Scratch system is that they have included a physical interface component called the Scratch Board, that allows children's programs to interact with the real world with sensor blocks, buttons, sliders and so on, each paired with a programming element in the software. Now they can learn to write code, and connect it to the real world!

You can check out a nice intro Scratch video here:

Another project on display from the Playful Invention Company [PICO] which grew out of the same group at MIT was called the Pico Cricket. The cricket kit is basically an extension and refinement of Scratch that includes smart blocks designed to interlock with Legos.

A lot of thought and work has gone into making the programming element even more clear, and the external components more bulletproof, dare I even say kid-proof. For example, each block that houses a sensor or processor or motor has a chip in it which identifies itself and automatically configures the use of interconnecting wires, so you don't have to worry about how any system is wired together, you just connect them with wires that are all identical in the same way.

pico cricketmotor and motor board

displaysound box

touch sensorlight sensor

resistance sensor

Order your Pico Cricket kits here.

For more developed students in higher grades, don't miss Hackety-Hack, a cleaned-up (free) version of Ruby/smalltalk with a very nice community and instructional environment packaged around it. This is for the kids who outgrow the limitations of Scratch and are up for the rigors of typing the syntax themselves.

The amazing thing about this system is the thought that went into incorporating a fantastic Internet, web, and graphics library that is very powerful. As an example, you can implement an entire blog with in six lines of code:
blog = Table("MyBlog").recent(10) {
blog.each do |entry|
title entry[:title]
puts entry[:editbox]
This testimonial from the web site says it all:

Our 8th grader reporting in: did Lesson Four in about 10 minutes but kept hacking for another 20 minutes. Today, video games lost the battle with Ruby. Unprecedented!
— Brian D

In researching the effectiveness of these tools, I came across a fantastic blog documenting both the opportunities and potential pitfalls surrounding the use of all these new technology tools to teach 5th grade integrated technology classes. Check out how ENGAGED and excited SOME of these kids are to be creating their own widgets and discovering things on their own! Others seem stuck without the proper guidance. (mostly stuck on the programming parts.)

I was also led, inevitably to the Playfull Inventing & Exploring effort [PIE]. From their site:

PIE (Playful Invention and Exploration) is an approach to using new technologies that integrates art, science, music, and engineering. The main goal of PIE is to enable and inspire more people to create, invent, and explore -- using a combination of traditional craft materials and new digital technologies.

PIE projects and workshops make use of Crickets, small programmable devices you can use to create your own musical sculptures, interactive jewelry, communicating creatures, and other playful inventions.
The PIE approach was developed through a collaboration of six museums with MIT Media Lab, with support from the National Science Foundation. (For background on the project, see the PIE Network grant proposal.)

I couldn't have said it better myself.

No comments: