|Think about Loose Coupling|
I had a short class in computer programming (on Apple IIs!) in junior high. The first day of class, the teacher laid out a jar of peanut butter, a jar of jelly, a loaf of sliced bread, and a butter knife on the table.
Our task was to tell him how to make a peanut butter sandwich, and he was going to do exactly what we told him to do.
Not knowing anything about precise instructions, one of the students said "Get some bread". The teacher put his hand into the bag, made a fist around whatever he could get into his hand, and pulled it off. It look like a shark took a bite out of the bread. Lesson one: the computer doesn't know how ot get bread.
When we figured out how to be precise enough to get two undamaged slices of bread (he wasn't a jerk about it once he made the point), we made the same mistake again: "Spread some peanut butter on the bread", but since we hadn't told him to take the lid of the peanut butter jar, he didn't have much luck (although he tried). Once we got the lid off, we tried the same command again, so he just stuck his fingers in the peanut butter and pulled out a big glob and spread that.
It went on from there. It was entertaining, messy, instructive, and memorable. It connects to something an 8 year old has in his (or her!) daily life, and it's something he can repeat to their parents at the dinner table.
After that, it was all about moving the turtle around in LOGO. :)
brian d foy <firstname.lastname@example.org>
In reply to Re: How to introduce 8 year olds to (Perl) programming?