This question exists because it has historical significance, but it is not considered a good, on-topic question for this site, so please do not use it as evidence that you can ask similar questions here. This question and its answers are frozen and cannot be changed. More info: help center.

4

That's one of the smartest and important question I've ever saw on this page, after all, it's nice to remember that life comes before work.
–
Augusto RadtkeOct 16 '08 at 4:27

11

Isn't being a programmer cool by default?!?!?
–
TobiasOct 16 '08 at 4:30

25 Answers
25

I did the same thing for my daughter's 1st grade class. I brought in an old computer and bunch of parts. I explained what each part does and let them touch them. This was a big hit! They'd never seen a computer's insides let alone been allowed to actually touch them!

I asked them some questions to dispel myths about computers: How many think computers are magic? (No magic) How many think computers are smart? (Nope; they are really dumb - they only do EXACTLY what you tell them), etc. It was very fun.

The teacher told me that it's the first one where the kids didn't seem bored. The first thing I did was have everybody leave their desk and sit in circle - the kids liked that. If you have fun so will they.

Similar to @Boojiboy, I used to do this quite a bit, and what I found successful was to do two things:

1) I brought in some old computer equipment for them to see and play with. I showed the evolution of disks with a 3380 mountable disk pack from my co-op days, one of the orange rings from inside of said disk pack to pass around, and then 8", 5.25", and 3.5" floppies. Talk about the relative sizes and what types of things they could store on each in terms their age group understands (music, videos, etc.) vs CDs and DVDs they recognize. You could also show USB sticks and/or SD media.

2) As mentioned, I relate programming to video games. You can ask if they like playing games and what games they like. To supplement this discussion, I also bring in older units (Atari 2600, Intellivision, Odyssey) and a newer one to compare graphics. If time allows, I let some play with the old games. It has rare that many of the kids have seen these old games, much less experience them, and they absolutely cannot believe the quality of the graphics. It gets a laugh every time. You can then segue the discussion into the need to take related classes in math and science. Video games are certainly the hook to hold their interest, though.

8 year olds could be a tough crowd unless you happen to write video game software. If you happen to have some cool visual aide, like a Lego Mindstorm, you could get some interest there (and I can make it do whatever I want...).

Personally, I found this presentation by Chris Sells to be truly excellent...though it is geared at High School, what do I want to do with my life, sorts.

_why the lucky stiff, a crazy genius from the Ruby community, has a great project called Hackety Hack that teaches kids 13 and up to code by making it really easy to accomplish advanced cool stuff. Just a few lines of code lets you build a YouTube downloader or a blog or a chat room with your friends.

The insight is that what gets them going is to show them what stuff they can actually make. I've seen people have a lot of luck with Arduino and other physical computing projects: getting to actually make something blink or beep or spin goes a long way. And, of course, robots will always be appealing. If you can do a demo where they you get a volunteer to write a few lines that do something spectacularly visible or audible, I bet you'd get some of them hooked.

In summary: you want to show them something awesome and get the to think: I could make that too.

Don't try to make it sound cool -- at least, don't try to make it sound cool to everyone in the whole class, because it's doubtful you'll succeed.

Your challenge should be to make it sound cool to the one or two kids in the class who might find it interesting and might have the aptitude, but might be discouraged because of peer pressure, or because their parents want them to be lawyers, etc. If you can reach those kids and convince them to get and stay interested in programming, then you will have succeeded.

Visited my son's second grade class for career day. Took my 3 year old daughter with me (since I was home anyway). Told them all about developing a driving simulator and all the studies you could do with it, how you could crash and not get hurt, etc. First question after I was done talking: What's your favorite color? Second question: what's her favorite color? Ah, well...

(No. I am not making this up.)

So the answer is...don't be discouraged if their attention wanders. They're 8 years old.

Show them some cool things you can do with programming. It doesn't have to be SOAP and XML and boring CRUD webapps.

It can be fun: Coincidentally, just a couple of days ago I covered some potential entry points for kids in programming on my weblog (which includes some of the responses here, plus some). If you're interested, see Getting your kids involved in programming)

Sometimes it really is cool to be a programmer. Sometimes, you get to solve a problem in an interesting way. You get to stand on the shoulders of luminaries such as Alan Turing, Jon Von Neumann and yes, even Bill Gates. Other times, it's frustrating as hell. Sometimes you have to deal with corporate B.S. Occasionally you may get laid off. Children need to know the whole story - not just a fairy tale about the games industry. Otherwise how can they make informed decisions about their future careers? Tell it like it is, MaksimK, and good luck to you.

I would say do anything but screaming on the room humping like a monkey something like developers, developers, developers! I don't think that work for kids.

Seriously, we don't have career day in Brazil, but if I could I would say that I have a profession like anyone else, that there is no magic, it's boring sometimes, it's nice other days because I like it.

And I would remember them that there is a life besides computer. I'm quite scared with kids these days that don't remember anything else than hanging around in the Internet instead of playing outside while they can.

Make your presentation visual and colorful. Stress that it's easy to get started with programming and give them the idea that they don't have to wait until they're older and have 20 years of school to do cool stuff. Kids are always being told that they can do things "when you're older". Showing them that they have the power to create right now will blow them away.

Depending on how much time you have, set up some templates and create a new web page on the fly using their suggestions. You gotta control that though. Imagine taking input from a room full of PMs with ADD all of whom just came from lunch at Starbuck's on "free extra shot" day. It could get out of hand fast.

If you want to do hardware, bring in a box of parts, explain each one and assemble a PC in front of them. At the end boot from a Linux live distro so they see the splash screen come up and think "That was easy!" If you can customize the splash screen to say "Hi, Ms. Crabapple's Class!" they'll think you're a god.

Show some demos from Greenfoot! The kids might not understand the code but with some interaction, they'll get the idea.... Here's an introductory article

For the uninitiated, here is a quote:

Greenfoot is a joint project funded by
Sun Microsystems and implemented at
the University of Kent at Canterbury
(UK) and Deakin University, Melbourne
(Australia). The goal is to target
students in the pre-teen years and
older by providing a development
environment which is both engaging and
flexible. [snip] Although Greenfoot
uses the same UML as BlueJ to clearly
show the object oriented design of
each scenario, its true power resides
in object visualization. It greatly
lowers the bar for building graphical
applications in Java; this is
important because the quick positive
feedback inspires students to work
with the code more.

Several years ago when my daughter was in 2nd or 3rd grade, I used the Lego Mindstorm robotics kit to introduce the students to programming. I started the demonstration with a simple robot that moved in a straight line until it ran into something, then I lead them through some questions on what additional "features" we could add. I then changed the logic on the robot to do things like back-up and change direction when it ran into an obstical, and stop if it detected it was going to run off the edge of the table.

The kids seemed to enjoy the demo and they did ask some questions about the robot and how I made it work.

Try to relate the subject to things that kids think are cool, like iPods and Playstation. Show them that these objects are in fact little computers, and that it is a programmers job to create all the fun stuff you can do with them.

I remember being blown away when I heard that the first assignment at the first math course at university was to compress sound and actually make mp3-like files using mathematical algorithms. "Create mp3's?!? You mean you can actually use this math thingy to create something cool and useful? Now why didn't we learn THAT in high school?!?"

This does not provide an answer to the question. To critique or request clarification from an author, leave a comment below their post - you can always comment on your own posts, and once you have sufficient reputation you will be able to comment on any post.
–
MatthieuSep 7 '12 at 16:21

You probably won't get a serious "im going to start now and be a programmer" impact, but I think its important to nail the basic fundamentals of it

in essence, you: the human, give a structured sequence of tasks to the computer and it performs them.

lots of tasks make computer do really cool things

games etc are built this way.

They may not start to utilise it immediately, but the thing is it will put the ideas in there to mull over which may encourage them to be more aware of it later.

Thats basically how I got started, black and white screen hello-world basic apps. At the time I didn't see much point and it was stupid, but years later I was getting out a book from the library with 2000 line basic programs that were somehow games when you got them to run ( Interestingly enough, the whole time and multiple occurrences I got that book out, I never understood exactly how they worked, or even managed to get any of them to run! )( yes, I was one of those strange children whom hung out in the non-fiction section )

Eventually one day they may wish to explore programming, and its important when that happens they have access to a programming environment.

( Until late high school I didn't consider programming even as a job, it was merely something entertaining people did! )

Although I don't have too much personal experience with it, I have read that the Alice Project is a good place to start with children. It was created by Randy Pausch (who's life story is pretty amazing) to teach children the fundamentals of programming in a fun way, rather than making it seem like a tedious task. They will have enough time to learn difficult concepts and languages when they are older!

Tell them that programming is about creativity and freedom . There is a wide variety of things you can create. You're not limited to a bunch of task, tools or branches. You can combine programming with other hobbies like gaming, music, video, etc. if you're lucky. Tell them you'll have the opportunity to learn something new throughout your career - it will get never boring.

Programmer can be cool because they have the opportunity to create something cool.