Career Day for Elementary School Kids? 68
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?
Little pieces, big pieces (Score:3, Insightful)
From there, explain that it's all building blocks. Hundreds, thousands, millions of tiny little pieces like that which all work together. Your presentation can be mostly handwaving and neat video clips or pictures. Just understanding that there are little details which add up to wonderful things is enough to capture their imaginations.
And of course, if they ask how they can do it too, mention the wonderful learning opportunities that can begin with learning Linux^W UnixWare, only $1399 a seat. Compiler extra.
Dear Dad, (Score:3, Funny)
If you come to my school, pleeeease pretend you don't know me. And don't talk to my class or my teachers. Ugh, if you embarras me again I could just diiiiie.
Love,
Your daughter
Just a heads up... (Score:4, Funny)
Your daughter
Karma: Excellent (Mostly due to me being a filthy whore)
You might want to consider deleting your daughter's Slashdot account.
Make sure (Score:2, Funny)
K.I.S.S. (Score:2, Interesting)
It was easy enough and basic enough and most importantly, pretty enough, for my then-3-year old to figure it out. She's now seven and still loves programming. I mean, really, think about it - doesn't VB lend itself mor
Better yet... (Score:4, Interesting)
But, anyway, I think the idea of some quick GUI development (using VB, ProjectBuilder, Qt Designer, whatever...) is an excellent one. People who started with computers after 1984 have absolutely no idea of how software works. (That's why media explanations of "open-source" are so labored.) Show them that windows and buttons and output happen because someone put them there.
Re:Better yet... (Score:2)
Learn it, love it, live it.
The trick of course is finding a machine / OS combo that will run it - but when it comes to teaching the concepts of boolean algebra there is no substitute.
Re:Better yet... (Score:2)
Stand up there and give a brief overview of the bubblesort. In a class of 30, 29 are not going to understand it
Single that kid out and mentor him, for he is the Golden Child. He, more than any other, is the one you want to be a programmer.
No joke.
Re:Better yet... (Score:1)
Anyone can learn, and an ability to understand rules and follow common practices is far more important than the ability to grasp abstract ideas and algorithms at a young age....
It would be far better to try and encourage as many people to try, than to immediately alienate 90% of the population.
Re:Better yet... (Score:2)
Then being a programmer would actually mean something.. right now saying your a programmer is like "I do some obscure thing because I know how to do it, not because im good at it". where as saying your a writer means you must be good at writing. If you
Re:Better yet... (Score:2)
-It would be far better to try and encourage as many people to try, than to immediately alienate 90% of the population.
Like I said : expose all the kids to some simple programming concepts. Most are not going to think the way programmers think, but if you pay attention you will identify those that have a very significant aptitude for programming.
-If you choose to progr
Hello World (Score:1, Interesting)
Logo (Score:2)
I was thinking about some simple game (to catch their attention) and then show them how it is written. Again something simpler (like Logo) might do better than VB...
Re:Logo (Score:2)
Ditch that laptop and bring in an ol' C64 or a Vic20, whichever you prefer, with Turtle Graphics and watch that turtle go!
But seriously folks, I think a cool demonstration would be to show some simple source code, run the program. Then show them what you are changing and show them how that changes the program when you run it again. Show them that "you can do whatever your imagination let's you do." I ag
Re:Logo (Score:2)
Re:Logo (Score:2)
I remember that when I was at elementary school (late 80s) having a chance to play a while with logo did impress me, and I had quite some fun.
I don't know if it could be the same nowdays, though, since there are lost of programs out there that allows to draw with (too) little mind effort (and more "special effects"). If not impressing, I still hope it can be fun and surely it is easy enough to begin with, as a programming language.
Re:Logo (Score:2)
You could even attach a pen to it and get it to draw for you.
Oh did I love "checking" the batteries in them
Games, games, games! (Score:5, Interesting)
From there, go into something like, "Well, how does the computer know to make Mario jump when I press this button? How does it know when the bad guy gets jumped on and is squished? It follows instructions, and it's my job to give computers those instructions." Explain that you have to figure out what people want to do, then tell the computer how to follow instructions other people give it. Keep it very simple, and make it as visual and interactive as possible. Remember that the kids have an attention span of maybe five minutes, even with all the pretty visual aids you can conjure, so keep it short and sweet.
Finally, a web page for the younger kids probably isn't that great an idea. Most probably aren't familiar with the Internet, and a web page is much more static than a game. Add to that the fact that most probably can't read very well, and you have a recipe for failure. Remember to keep things as visually oriented as possible.
Re:Games, games, games! (Score:2)
I would probably agree with you but my 4-year-old nephew plays flash games like a pro and uses the word "download" pretty much in any context, like the Smurfs would use the verb "to smurf".
Re:Games, games, games! (Score:2)
Also, the idea of being able to create a "game" is an amazingly appealing idea that will REALLY jumpstart their imagination.
Re:Games, games, games! (Score:3, Insightful)
Your presentation should be centered on teaching them about Coding, not teaching them How to code. I think that will be the difference between you being the "funnest" dad giving presentations, and you being the most boring dad. And in the end, the most important thing is for your kid to know you're the coolest parent ever.
Re:Games, games, games! (Score:2)
Dead On!
You are not going to make an earth shaking difference to other kids on that day, but, if you present to your childs class, you could be the cool dad, that also got them jazzed about programming.
-- I would have +1 Insightful the above post if I didn't already comment on this article.
Re:Games, games, games! (Score:1)
I would have to disagree. I was working just yesterday in a primary school and the kids in the classroom I was in (most likely about 1st grade or so) were browsing the web and read
Use a cooking (recipe) analogy (Score:5, Interesting)
I would relate programming (writing algorithms) to an everyday activity that most of the kids would be familiar with such as cooking.
You could even demonstrate a simple recipe like smores or peanut butter & jelly sandwich or fruit salad (for you Wiggles fans out there) and relate it to a simple program showing how each is just step by step instructions for doing something. One for making something to eat, the other for telling a computer what to do. The kids could get a little treat at the end :)
Re:Use a cooking (recipe) analogy (Score:1)
Now, what did we learn today?
JoAnn
Re:Use a cooking (recipe) analogy (Score:1)
Really want to grab their attention? (Score:2, Insightful)
You'll have the kids hanging off the edges of their chairs. Always get their attention by starting off with what they already know and what they can identify with.
Doesn't matter if you're not a game programmer per se, just use that as an intro to what a programmer actually
Programming 'wow' (Score:2, Insightful)
Well, after you are done 'wow'ing them, you might also wanna mention this:
Programming is $60-an-hour software job (also done by a $6-an-hour code writer in India)
Source:
A new study by the McKinsey Global Institute, the think tank of the consulting firm McKinsey & Co., suggests why. When a firm ships a $60-an-hour software job to a $6-an-hour code writer in India, the most obvious benefit goe [washingtonpost.com]
They're kids. (Score:2)
Try to keep it on that level if you can.
Re:They're kids. (Score:3, Funny)
Do what I did... (Score:3, Funny)
I replied "How do you expect me to be able to explain what a UNIX administrator does to kindergartners???"
I know, I know... It's an old (and bad) joke.
Re:Do what I did... (Score:2)
Video Games (Score:2)
nuff said.
Speaking as a Former Elementary Computer Teacher.. (Score:5, Insightful)
Take in logo (I think I saw an open source or downloadable version somewhere) and show them the direct connection between typing in a command and the logo turtle responding. Let them discover, o n their own, that when you type in RT 90, the turtle turns and when you type in FD 50, it goes forward. At that point they have a basic understanding that your commands effect the computer. Then show them a simple logo program -- maybe start with a long command line that draws a square, then load one that draws a face and run it. Let them see how complex it can get in stages.
After that, you can link the kind of program that controls a turtle to the kind of program that draws pictures and makes web pages. Focus on small stages. If you keep in mind things like the thousands of details you know, you'll lose them.
And remember, good teaching is often good entertainment as well. I'm not saying do a fancy show, but you have to keep them entertained to hold their attention.
Good luck!
No offense, but... (Score:4, Interesting)
Judging by what you wrote, you don't have any plan for presenting the material. You have an idea of what to present to each, but no plan on how to present it. I suggest you speak to the teachers of these students about how best to interact with them. Children are the worst critics and the easiest audience to lose. If what you do isn't interesting to children, they're going to make it known by either falling asleep, biting you, or biting their neighbor.
Bottom line is the best person to tell you how to engage these kids is the person who spends eight hours a day in front of them.
On a mildly related note, I don't think you have a chance in hell of getting the kindergarteners to provide even a modicum of interest. "Look kids! See how I'm typing even though none of your hands are big enough to use a keyboard? Look kids! See the words I'm typing that you lack the ability to read? Look kids! See how I'm putting strange characters around the words you can't read to change the syntax into a broken mess? Look kids! See how I'm trying to get you to understand nested functions which is a mathematical concept you won't learn for another four years?"
I could go on forever, but I won't. I just advise you to know your audience. The youngest won't care or be able to follow, the third-graders probably won't care or be able to follow, and the few fifth graders who care and follow will be at the level of an adult user who doesn't understand computers but without all the other worldly knowledge to enable them.
You have a very tough crowd with very low chances of being anything but a total bore. Good luck. And remember: know your audience.
I would not.. (Score:1)
And seriously, with the growing competition frow low wage programmers in India and elsewhere, shouldn't people get back to going to school for "real" jobs?
How about a game map? (Score:2, Insightful)
You could show them how to make a copy of their classroom in the computer. Go to the room ahead of time and take pictures of the blackboard, bulleti
really wow them (Score:1, Troll)
If you want to really WOW them, don't forget goatse.cx man and tubgirl. They are part of many a programmers' day.
Know the Audience (Score:2, Insightful)
With grades five and under(!), don't expect the kids to be wowed with logic. Try explaining the concepts of AND, OR, XORing, etc. to your children this evening. You said that your daughter was in third grade, so I'd expect something along the lines of "Daddy, that's boring!" Add two years to that and you'll get something like "Shut up dad, that's boring..."
Regardless, it seems to me that they won't care about seeing a program that you wrote. Let's say, for example, that you wrote the NT kerne
Re:Know the Audience (Score:1)
What does TPS in TPS report stand for anyway? I've seen this everywhere, but nobody ever explains what it means!
Re:Know the Audience (Score:1)
Re:Know the Audience (Score:1)
I watched it! I still don't know!
(Maybe I'm just an idiot.)
Re:Know the Audience (Score:1, Informative)
3 words... (Score:4, Informative)
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.
Program Non-Software (Score:3, Informative)
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!
Deer in the headlights. (Score:2)
An earlier post mentioned using Logo [berkeley.edu] for a hands on demonstration which I think is a fantastic idea but, probably won't be very effective using a single laptop.
I think you would be better understood if you abstracted the subject, tremendously. I think that you would be better appre
Consider Lego Mindworks (Score:2, Insightful)
When the kids go too far and the robot "crashes" off the desk, teach them about testing, and re-testing.
I'd skip the requisite "project/use case proposal to clueless mgmt" lesson until they become teenagers and are already jaded.
Re:Consider Lego Mindworks (Score:1)
I'm not sure if you're thinking about Lego Mindstorms, which is a graphical language. (You drag blocks together to form a flow chart-esque diagram of the program.) You could also tell them about the FIRST Lego League [usfirst.org], which is a yearly contest where students are given a challenge and have to build and program a Lego robot to follow it.
I know in fifth grade I would have soaked up any language you could have shown me, but my account on Slashdot proves most people would do the opposite. If you have a while
Show 'em some code! (Score:2, Insightful)
Try a game where you have to program (Score:3, Interesting)
Mindrover (which you can download a demo of, for both Linux and Windoze) is one where you have to build a robot. IBM has a program where you can program a Java robot but I suspect that is a bit above them.
Another possibility which is a visual programming language that uses video as a paradigm (I read that and I have not seen it) is Toontalk which you can find at www.toontalk.com. The object of the game is to write a program to control a robot that solves problems. Its aimed at kids. Demo at website too.
There are actually several visual programming languages done by university research projects aimed at kids. Try searching on Google. However, many of these things are mac based.
Also, maybe shoot for something that paints a picture based on a program. One thing that may also work is a dataflowish programming language (think Khoros, there is one on freshmeat as well but the name escapes me) that does image processing on a picture. For instance, you could have a picture of yourself and a flow with a control that changes the color of you hair, or better, even, get a webcam, do this live and squash the face of the teacher. I once did whits with two bored kids of a colleague of mine and it was a great hit with the girls.
graphics, or games (Score:2)
Also don't forget to mention how you could get to work for the CIA as a spy by writing programs to watch out for bad guys...
sensory (Score:3, Interesting)
Show them your work. (slideshow) I mean the basics - you work in an office. You probably work in a cubicle. There is a server room and L@@K!! at all those wires and blinkenlights. your desk. slip in a pic of a 60's machine room, maybe quote that IBM guy who said there was maybe a market for 5 or 6 computers in the whole world.
me as a 5th grader would have gone ape over some complicated diagrams - the kernel poster comes to mind.
have fun.
Mmm...games (Score:1)
If you have any particu
Rule 1 : NO COMPUTERS (Score:2)
You want to do something physical, that will capture the kids attention, teach them something fundamental about what you as a programmer do, and most of all let them have fun and laugh.
A couple of ideas..
have a kid be the computer, give them some cut out shapes and ask the other kids
Yes, forget the computers (Score:2)
You: Begin. Kids: walk across room. Y: error. Kids: walk forward. Y: error. K: walk Y: error, hint try 'lift foot.' K: lift foot. Y: err
Well... (Score:1)
2). Demonstrate online shopping
3). ???
4). Profit !!!
What did you do? (Score:1)
Deep Sigh... (Score:1)
No one here seems to get it. Let me simplify it for you! You are there to be supportive of your child.
The teacher will have a set routine for this whole "production". You will not have very long to explain or show anything. You are there to answer a few questions. Career day is not about the parent or even really the career, it's about the child. Think that over and re-focus your efforts.