Career Day for Elementary School Kids?
Chris Curtin writes "My daughters' school is having a Career Education Day next month and I'd like to do a presentation. My kids are in Kindergarten and Third Grade, but I could present to Fifth Graders, as well. How do I explain what a programmer does to the kids? I was thinking about building a web page for the little ones, maybe show the older ones some visual logic with VB, where I change a basic program and run it from my laptop, showing keyboard and mouse inputs, music, and so forth. I have VB6, Java, HTML and Windows 2k on the laptop I'll be bringing. Any thoughts on how to 'wow' the little ones and make the older ones want to learn more about programming?" If you were going to make a computer presentation to a class full of children, what kind of things would you talk about?
Have you heard of LOGO? It's a kid's programming language. You use a BASIC-like language to make a turtle draw things. There's java emulators. You should load it up and let them work on it. Show that changing 'Draw 0 10' to 'Draw 0 20' (or whatever the exact syntax is) makes the line twice as long.
Aside from that, games. There used to be 2-liner contests in old magazines, some of which made functional little games. Pong should be easy to program. Tic-tac-toe maybe. I doubt the code for checkers would be of interest to little kids, but you might show them simple coding for a tic-tac-toe game. Something along the lines of: "OK, you put your X in the upper left hand corner. What do you think the computer should do?" Talk them through the logical consequences - most kids should be able to understand 'if A does this, then B should do that'.
Depends on how much work you're willing to put into it. I think I'd just show up with some games and say "If you become a programmer, you can make your own." But then I'm lazy.
I first got into programming at a two-week summer class in 1990. The teacher asked students to write a "program" to brush your teeth or make a peanut butter and jelly sandwitch. One program ran:
Take two slices of bread from the bag
*teacher tears a hole in the bag and removes two slices*
Open the jar of peanut butter
*after a few failed attempts, teacher manages to remove the lid*
Put the peanut butter on the bread
*teacher sets the jar of peanut butter on the bag of bread*
I love being literal-minded, and that example emblazoned on my mind "Be specific, or the computer won't do what you want." Anything that could be that literal was an obvious match for me!
Running this example of programming will pique the interest of kids who think like geeks. It will also provide a concrete concept of a program to kids. Finally, it gives you a chance to look silly (an important part of teaching elementary school kids) while getting the kids to think about the way to solve the problem (the educational bit). And as a bonus, you don't have to carry a laptop and a projector.
I'm not sure how well kindergarteners would deal with this, but I think it would be a great exercise for both third- and fifth-graders. FWIW, I took that computer programming camp after my fourth-grade year back in 1990 when Apple II was a pretty cool thing. They taught BASIC and Logo, we built robots, and played with lasers. And now look where it's gotten me!
Ceci n'est pas une signature.
TPS stands for Transaction Processing System.