I need to think about a class that will include both young and old, all of whom have very little experience but at least the hope of trying to enjoy such a class on microcontrollers without knowing anything much about what they may be getting themselves into. (And I mean for people who might be 15 years old or even 75 years old! No college credit. Just a community education class with the purpose of some exposure to the world of microcontrollers and how they can be fun to learn about.)
Imagine it as taking a "pottery class" might look like for those not knowing anything about various temperatures and glazes and how they interact or the kinds of clay or any of the methods of making pottery; nothing about "throwing" a pot and almost nothing about pinching one up. Students who have NO IDEA at all what they are walking into, but feel it "might be interesting" and willing to have a go at it.
A task here is to help them find their own motivations and enable them to succeed with at least one project idea. I may start out with a survey of the class and skills and interests and then provide a spectrum of options to pursue, let them choose their poison so to speak, then give them the tools they will need, some basic education and support, and then 'run the class' in a way that has me alternating between short lectures and going around the room and helping them move forward when facing a barrier. The project itself will need to come from their interests, though.
Some may do almost the same thing as others, but in their own unique way. Some may attempt something entirely different. And some may have taken the class before, maybe 3 or 4 times before in fact, and may be "advanced students" who will not need so much teaching time themselves but just a little support and might even be able to act as help for other students who are new, with advice and maybe a little hands-on help, too.
An idea I have is to purchase existing kits (which I can get for less than US$1, in ones, cheaper still in larger qtys.) These:
Many of them include a small DC motor, bright red LED, 40kHz emitter and receiver for motion detection, and so on. Actually, quite a few interesting parts. (At less than $1, these even include the boxes and shipping!)
One thought I'm considering is to use these as a base concept that the less knowledgeable students can select from. Then to go through an idea stage where we talk about possible modifications using a microcontroller and I work to "limit" their imagination to something they can likely achieve using a microcontroller.
The "microcontroller" they choose needs to be something cheap, available in DIP form, has an inexpensive development environment that isn't hard to use, and will probably have to come in BASIC, c, c++, and assembly incarnations. Maybe Forth, too. (Yes, I'm thinking about it.) Or some other 'turtle graphics' environment. I don't mind having to solve a lot of issues before starting, just to make sure there is a spectrum of options here. But the financial "hill" cannot be high. A $30 processor (Parallax) is NOT in the cards. $10 for everything is reasonable. (This must include USB cable, board, a cpu or two, IDE and software tools, and various parts they will combine in some simple way.) $20 is pushing it and will probably put too high a barrier on the less advanced students. The more advanced students will probably be willing to spend more.
Examples might be to take the "Robotic Beeper," which includes a DC motor, fairly-decent-for-the-price gear box, wheels (and two o-rings for the drive wheels), battery case for 2 AA batteries, and some wire and other stuff, and consider adding a small micro with dc motor drive circuit (using a cheap, discrete PNP and NPN h-bridge -- the NPNs I get for 0.3 cents each and the PNPs are more like 1 cent each and the resistors are dirt cheap) and letting them think about some interesting thing to do with that. It might be possible to merge this with another kit (the "Electronic Motion Sensor") to do something interesting. Ideas like that, anyway.
Out of pocket cost is important. Might be local high schools and after-class time with students drawn from there. Might be as a community outreach class with a community college and a wider range. Might even be held at an old folks' home or residence center as a social activity (or physical therapy) and a chance to bring in others and expand their horizons just a little.
It can have a more artsy focus for some, a more practical for others. In pottery, you will see some students go for cups, plates, and bowls -- practical stuff -- while others go for a more Picasso or frilly look and zero practicality. Some will have no imagination at all and will need me to suggest some ideas to build on. But I think students should be able to go in a variety of directions that _they_ choose for themselves.
I'd also like to figure out the "sizzle" that will sell the class. There will be meat there, but I need to get them in the door in the first place. Might be sold to parents to provide after hours with students learning but to the parents it lets them not have to worry quite as much about their kids while they are themselves busy at work, etc. Might be sold directly to those in the class by helping provide them with something they can take home and keep and feel proud about. Might be sold to others wanting to go home and try and pass along some interest of theirs to family members. I don't know.
I don't have make-or-break expectations about its longer term success. And I don't want to worry about it. I would simply like to consider the idea, flesh it out a bit to see how it 'flies,' and maybe take a chance and see what happens. The worst is nothing at all. And even then, I've tried and learned something from the effort. Anything more than that is probably a good success and I will let the students and potential students help show me the way. It may never amount to much, but simply doing it helps to develop community and that alone is a "good."
If there are some constructive thoughts, I'd love to hear them. If you know of a terribly serious flaw (outside of mere ad hominem) that I've completely missed, that's constructive too.
Jon