Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

Re: How to introduce 8 year olds to (Perl) programming?

by brian_d_foy (Abbot)
on Apr 25, 2005 at 22:16 UTC ( #451362=note: print w/replies, xml ) Need Help??

in reply to How to introduce 8 year olds to (Perl) programming?

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 <>
  • Comment on Re: How to introduce 8 year olds to (Perl) programming?

Replies are listed 'Best First'.
Re^2: How to introduce 8 year olds to (Perl) programming?
by blokhead (Monsignor) on Apr 26, 2005 at 00:06 UTC
    This is a really great idea. In fact, we did a very similar thing in my grad-level intro to AI course:

    One volunteer was the "brain", one volunteer was the "eyes", and one volunteer was the "robot". Both the brain and the robot volunteers were blindfolded. A bright red box was hidden in the front of the lecture hall, and the task was to get the robot to pick it up.

    The brain could only do two things: ask simple yes/no questions to the eyes (ie. is the ball straight ahead? is it less than 10 degrees to our left?), and command the robot to move with simple commands (i.e, turn left 10 degrees, move forward until I say stop, put arms out, move your arms together).

    This was a whole lot of fun (even for tired college students), and the professor says that no group has ever successfully gotten the box ;) The lesson was that even with the most sophisticated visual sensors and robotic movement capabilities, the "brain" part of AI is really hard.


    Another example for a hands-on activity is to build a sorting network. Have some students be gates and some students be inputs. The input students are each holding a number written on a card. The gate students decide whether the smaller input goes to their left or right. The students will be amazed that no matter how they go into the network, they seem to end up in sorted order at the end.

    If you want to get more theoretical than just the basics of programming, ask them whether the sorting gate is correct for all possible inputs. How would you prove it?


Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://451362]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (5)
As of 2018-06-20 10:33 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (116 votes). Check out past polls.