Recently, I had an opportunity to get early access to a new hardware system from Microsoft. Last fall, I met Colin Miller at World Maker Faire, where he explained the system to me. Gadgeteer is a way for people to rapidly build devices, program them, and then even build enclosures around the projects they make. On Wednesday morning, almost none of my students had ever written a computer program, and by Friday afternoon, every one had the opportunity to write a program that would control output hardware based on the input of sensors that they had built.
Since this is such a new system, there isn’t a huge set of example projects, project rubrics, sample code, or other resources that many classroom teachers expect when using learning tools with students. Basically, we introduced students to the hardware, provided some sample code for a few starter projects, and gave everybody a chance to try it out. Some students took right to it, coded the examples, and had it working quickly so they could move on to adjusting and personalizing the programs and hardware. Other students needed more help finding the causes of errors in the code. Some students had significant trouble getting the programs to work.
Most of the troubles were the result of typing the code inaccurately. We chose to give students paper copies of the programs instead of digital versions because of the value of typing the program as you learn the language. Copy and paste would have been much quicker, but it would not have helped students learn what the code was doing and how it was doing it.
Mostly, in schools, people expect the information to be largely packaged and proven. There are lots of structures, both institutional and cultural, that reinforce having all the classroom content organized and predictably scaffolded. With a cutting edge tool like Gadgeteer, students really have to bring a lot of their own enthusiasm, persistence and independence. Some learners can handle that responsibility, some can’t. Some who can’t handle this responsibility also bristle at the traditional classroom structures. It’s tricky to put something together that meets everybody’s needs.
At the end of the three days of programming and experimentation, many students said that they had enjoyed working with physical computing. Each afternoon, there were students who stayed several hours after school let out, learning how to make their new gadgets work better through programming. These were students who had never written a program. The challenge now is to keep them writing and developing their own projects. This will be possible with microcontrollers in the room, and software that they can access on school and home computers.