Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Software Engineering Demo for a K-5 Career Fair?

Cliff posted more than 9 years ago | from the getting-them-early dept.

Education 310

gmjohnston asks: "A local elementary school is having a Career Fair in a couple of weeks and I volunteered. The idea is for parents with various jobs and careers to show and tell the kids a little bit about what their's is, why they think it's interesting and rewarding, etc. It's to try to give kids a little early exposure to some of the diverse kinds of things one can do with one's life. I'm a software engineer, so I'd like to show something that has to do with programming or Computer Science, but which would be interesting to an elementary school student." What would be the best way to illustrate what a software engineer does to a group of primary school kids?"I'm trying to come up with something like what got me hooked way back when, which was when my Organic Chemistry professor in college showed me a listing of a Basic program (Basic Plus on a PDP-11/70 running RSTS/E if you must know) and I realized that, computers relied on a bunch of instructions that tell the machine what to do, and that if I could change the instructions then I could make the machine do what *I* want it to do! I'll have my laptop with me and I'll be at a table that the kids will be able to gather around and see the screen (or potentially do something themselves on the laptop, depending on what I come up with). Of course, showing them the kind of code I really work on (software development tools) would likely instantly bore them to death. So, the question is: What should I show? If other Slashdot readers have done this kind of thing, what did you do and how did it work out?"

Sorry! There are no comments related to the filter you selected.

Don't shower for 2 weeks (0)

Anonymous Coward | more than 9 years ago | (#11925665)

So they can feel the atmosphere.

Realistic? (5, Funny)

RobertTaylor (444958) | more than 9 years ago | (#11925666)

Bring loads of coffee in with you and feed it to the kids to get them hyper, give them all keyboards and glasses to simulate eye strain. Break their wrists to simulate RSI and get a megaphone with someone shouting 'code faster'...

Unrealistic (4, Funny)

Col. Bloodnok (825749) | more than 9 years ago | (#11925730)

Or turn up in a sports car with a leggy blonde on your arm.

(You may need to rent these items...)

The Tandy COCO Guy! (5, Interesting)

filmmaker (850359) | more than 9 years ago | (#11925669)

Every so often you see a post from someone who's thankful that they learned on a C64, since it was possible to "know everything" about the system, down to the bit. For me, that same thing is true, except with a Tandy COCO1 (and later COCO2).

I found that the manuals they had, with the anthropomorphized computer dude, were exactly what I needed to learn. The funny thing is, those books were written for adults, but come across like child's manuals since it was assumed that even an adult would know *zero* about how computers work in the early 80's.

My recommendation for the kids is to have them see very basic principles in BASIC if possible, since it's so, well, basic - not that it really matters. What made it so exciting for me as a 8 year old kid was that it seemed possible to know and understand everything about the machine - especially since the book was comprehensive and it wasn't exactly huge. The combination of the cartoon character, the limited and reasonable limit on the total knowledge one could possess about the machine, and the simple, clear lessons engaged my child's mind completely and really sparked my imagination.

COCO manual [] and another one [] .

ps, mffp? (my first first post?)

Re:The Tandy COCO Guy! (1)

AndroidCat (229562) | more than 9 years ago | (#11925736)

You should have got Microware OS-9 (especially with a Coco III). Then you could have been running Unix-style 20 years ahead of the curve. (Assuming that this is The Year of Linux.) BASIC-09 was far sweeter than the MS BASIC of the day, which is probably why it had to die.

Re:The Tandy COCO Guy! (0)

Anonymous Coward | more than 9 years ago | (#11925743)


taint the children with basic?

everyone knows that Java or C++ is the only pure language and that is how they must learn.

(this is a joke directly aimed at the OO,Java,C++ crowd. of wich 90% of all software was NOT WRITTEN WITH)

Truth in education... (5, Funny)

kclittle (625128) | more than 9 years ago | (#11925672)

What would be the best way to illustrate what a software engineer does to a group of primary school kids?

Show them how to quickly switch the browser window away from /. whenever the PHB comes by.

My first suggestion... (4, Funny)

EmagGeek (574360) | more than 9 years ago | (#11925674)

A basic understanding of how to speak Hindi...

Re:My first suggestion... (1)

anonicon (215837) | more than 9 years ago | (#11925747)

Ouch, that is cruelly hilarious. Still, it made me laugh out loud...

Re:My first suggestion... (0)

Flyingcats (867354) | more than 9 years ago | (#11925767)

what's that...

Graphical stuff it the way to go (4, Interesting)

barcodez (580516) | more than 9 years ago | (#11925675)

Something like Povray [] or just plain old fractal generation and manipulation which can be done in about 40-50 lines of code - change the code show them the result - let them have a go.

Re:Graphical stuff it the way to go (1)

anonicon (215837) | more than 9 years ago | (#11925771)

Mod parent up. By letting them futz around with a limited set of live code, and immediately seeing what differences their input made, it should hook some of them. Best yet, leave the code with the kids and they can take it home and do it themselves.

Re:Graphical stuff it the way to go (4, Insightful)

Chemisor (97276) | more than 9 years ago | (#11925801)

I would argue against fractals. Although the code is reasonably simple, it is very mathematical, and that is not something modern children can understand. In fact, for the fifth grade, games are pretty much the only option, since when a kid thinks of computers it's either games or homework. And you definitely don't want them to associate computer science with homework; you'll ruin their surprize when they go work for EA.

Re:Graphical stuff it the way to go (4, Interesting)

kryptkpr (180196) | more than 9 years ago | (#11925837)

Agreed on the fractals! Fractals are cool!

A Sierpinski Sieve [] not only looks cool, but there is a very simple algorithm you can use to generate it:

- Pick 3 corner points. They need not be arranged in a perfect triangle (if they aren't, you will get a warped version of the fractal.. useful for illustration!)
- Start at any point inside the shape formed by the three corner points.
- Pick one of the 3 corner points at random. Your new point is half-way between your old point, and your chosen corner point. Plot a dot there.
- Repeat the above step indefinitely.

This is VERY simple code, it only uses very simple graphics intructions and changes to things like colors and corner points (moving them further apart, closer together, use equilateral or isoceles triangles...) give instant gratification..

As homework for the "Advanced" (curious) students, maybe let them try to make one (or more) of the three corner points interactive and move at runtime.

Re:Graphical stuff it the way to go (2, Interesting)

Wm_K (761378) | more than 9 years ago | (#11925885)

I agree with you that creating something visual is very rewarding but my suggestion instead of povray would be Processing [] .

"Processing is a programming language and environment built for the electronic arts and visual design communities. It is created to teach fundamentals of computer programming within a visual context and to serve as a software sketchbook. It is used by students, artists, designers, architects, and researchers for learning, prototyping, and production." Where you can show the examples of Complexification [] on what they can achieve.

Software engineering is ofcourse more than just programming. But being able to show some nice visuals can make it all much more interesting.

Remind me of the MS joke (1)

JamesP (688957) | more than 9 years ago | (#11925676)

"how am I supposed to tell my kid I'm an Software Engineer at MS"

But anyway, you could try and show them a simple Python program, or something like it

Python is fairly easy and pretty much "BASIC" like. You could walk them thru the construction of a Python program (something that calculates your age based on your bithdate or something) has all you need.

Re:Remind me of the MS joke (0)

Anonymous Coward | more than 9 years ago | (#11925936)

Don't use python though. Python targets an age level below theirs. Use a grown-up language like C, Forth, Lisp, and possibly Ruby.

The other thing to consider is making a mock-up of a very, very simple processor, like an accumulator or something. Maybe with 16 or so registers that takes instructions they'll recognize and inputs in an easy format. Show that a program is just a list of instructions that tells the processor what to do. Load the value 10 to register 4, load the value 12 to register 2, add the values in registers 4 and 12, and store that result in register 3. Then introduce that one of the main points of computers being the way they are today is to be generic computing devices. Connect the dots that you're able to simulate your simple processor in software, without the need to actually build the chip or build a chip to simulate it.

The bright ones should pick up on it.

cubicles (2, Funny)

PoopJuggler (688445) | more than 9 years ago | (#11925677)

Bring a cardboard box and a chair and make them sit in it for 8 hours a day for the entire school year...

Re:cubicles (2, Insightful)

Not Public (257178) | more than 9 years ago | (#11925892)

... pssst...

they already do it..

that's what we call "education" these days.

Games (4, Interesting)

BridgeBum (11413) | more than 9 years ago | (#11925678)

How about write a simple game which has easy to change features, like colors or something. Then, show the kids the game, and show them how they can change the game.

Probably an interpreted language would be best for this. BASIC had it's moments, back in the day. :-)

Re:Games (1)

Bri3D (584578) | more than 9 years ago | (#11925810)

I recommend the Qbasic "Gorillaz" demo, where monkeys would throw banannas at each other. It's complex enough to be entertaining but simple enough that you could show the colors changing or the banannas flying differently. Source is here [] , though you may have trouble finding a copy of Qbasic.

Agreed (2, Insightful)

gr8_phk (621180) | more than 9 years ago | (#11925873)

When I was a kid and saw my dad programming, he said "I think I can use this to make games." Boring strange looking text on the screen was suddenly a way to do something I was interested in. Software isn't an end unto itself (for most people) but a means to something they're interested in. Games are universally interesting to kids, though you may find another interesting topic and regardless, you should tell them how software can also be applied to all sorts of other things they may be interested in.

Show them how you spend your free time... (5, Funny)

Anonymous Coward | more than 9 years ago | (#11925679)

Bring in some anime DVD's, some pr0n, an empty pizza box, and a crusty sock. If that doesn't convince them, I don't know what will!

Start with Basic (5, Insightful)

EdZ (755139) | more than 9 years ago | (#11925680)

Set up a little Basic introduction, the old 'Hello World' schtick. 'Help' them type out the code (all 2 incredible lines of it!) and watch them marvel in thier instant command of the computer.

Re:Start with Basic (1)

moofdaddy (570503) | more than 9 years ago | (#11925706)

Better yet, have them do it html and you can cut it down to one line.

Re:Start with Basic (0)

Anonymous Coward | more than 9 years ago | (#11925907)

And lets not forget

20 GOTO 10

The infinite loop! Kids understand that.

Also, I would recommend simple games like tic-tac-toe & hangman.

My suggestion: (1)

TeleoMan (529859) | more than 9 years ago | (#11925681)

Sit around and bitch about PHBs. That'll enthrall them to no end.

Other parents (1, Informative)

Anonymous Coward | more than 9 years ago | (#11925682)

The idea is for parents with various jobs and careers to show and tell the kids a little bit about what their's is, why they think it's interesting and rewarding, etc.

The grammar Nazi parent won't have trouble finding opportunities to show what he does :)

Simple (3, Funny)

stinkydog (191778) | more than 9 years ago | (#11925684)

Show them how to write a BitTorrent client in LOGO. All the kids are doing it.


That's scary sounding. (4, Funny)

Anonymous Coward | more than 9 years ago | (#11925685)

What would be the best way to illustrate what a software engineer does to a group of primary school kids?

It depends on the programmer. I wouldn't do anything to them at all.

Question. (5, Funny)

gerardlt (529702) | more than 9 years ago | (#11925688)

What would be the best way to illustrate what a software engineer does to a group of primary school kids?

What do software engineers do to primary schools kids?

Early Programming Memories (4, Informative)

bigtallmofo (695287) | more than 9 years ago | (#11925689)

I can remember 22 years ago when I was 10 years old watching my math teacher at the time programming in BASIC on the one Commodore Vic-20 that we had in the classroom. For whatever reason, I was fascinated with the mystery of how this guy knew the right things to type in to make the computer do what he wanted.

I think the things that fascinated me most at the time were seeing how programming languages could be used to create games. I spent many hours on my Commodore 64 typing in BASIC and ML source code from magazines like Compute!'s Gazette.

Umm... Logo? (2, Informative)

Racher (34432) | more than 9 years ago | (#11925690)

This seems obvious to me... Logo Primer []

Re:Umm... Logo? (2, Informative)

DRWeasle (605307) | more than 9 years ago | (#11925772)

How much time can you take with a group of kids?

Try putting together a predefined demo. Start it with a game the kids are familiar with, either a scholastic game the teachers currently use or get a G-rated game from the internet. Spend about 5 minutes or so demoing the game and describing how the game consists of instructions that tell the computer what to do. Give the opportunity to ask questions. Then when you think you have their attention, show them LOGO. Show how a simple command can make a square. Then string several commands together to create a background for a game. If you still have the time, give a list of the commands to the kids and have them give you a sequence that you can type in and then run the program showing them the results. If you are brave enough let them type in the command. They will only need 3 to 5 commands to see the concept a command sequence.

Good Luck

StarLogo: agent-based and looks COOL. (3, Informative)

gyg (785962) | more than 9 years ago | (#11925941)

Even better: StarLogo [] .
Runs in Java, you can spawn hundreds of multicolored logo turtles and make them all move in sync (or randomly) using the same 5-line logo program from the console - type in a line and watch the turtles obey.

Plus, they have ready-made projects (Click on Projects from the main page) that are all set to go, simple and super-cool visually, from "Slime-mold cells aggregate into clusters, using a chemical pheromone" to "Diffusion Limited Aggregation. Create fractals with simple rules".

Thats what I used in a similar situation - the kids LOVED it.

Mindstorm (2, Interesting)

alder (31602) | more than 9 years ago | (#11925948)

Or... Mindstorm [] - less abstract, hence IMHO for the beginners could be more attractive. And... you can keep the kit to play with it after the fair ;-)

Robot arm and LOGO on a laptop. (5, Interesting)

Speare (84249) | more than 9 years ago | (#11925699)

Bring a laptop which can demonstrate how computers follow your instructions. Maybe LOGO or some other kid-obvious language.

Demonstrate real-world applicability with a toy robot arm and a poster of a few industrial robot arms, which presumably work the same way.

Without programs, a computer is a doorstop. You know that. Help them know that. The rest is just talking about the incidentals, like whether or not your boss allows hackey-sack near the water cooler.

Re:Robot arm and LOGO on a laptop. (0)

Anonymous Coward | more than 9 years ago | (#11925847)

Show them Lego Mindstorms...

Re:Robot arm and LOGO on a laptop. (2, Insightful)

Speare (84249) | more than 9 years ago | (#11925878)

Lego Mindstorms is more about the hardware than the software. You want to keep it simple: there is this arm thing, and it can bend in a number of ways, but it's up to YOUR PROGRAM to guide it properly. Focus on the software and how it is the master over a piece of dumb hardware.

Of course (0)

Pan T. Hose (707794) | more than 9 years ago | (#11925701)

Software Engineering at a K-5 Career Fair?

Of course it is. Why shouldn't it be fair?

There was a dilbert about this (5, Funny)

acomj (20611) | more than 9 years ago | (#11925704)

Dilbert in front of a class:

"I work in a cube, its kinda like a bathroom stall but the walls are lower"

"I spend most of my days worring about the electronic fields from my monitor are killing me"

by the end all the children are in tears..

I like this approach. We have enough competetion, the fewer of us there are the more they'll have to pay us.

Shiny! (1)

moop2000 (791114) | more than 9 years ago | (#11925705)

Show off a game, or somethign shiny. Gotta grab the kids with the shiny these days.

Re:Shiny! (1)

CaptainCheese (724779) | more than 9 years ago | (#11925924)

These days? when have kids not been interested in shiny?

how about video games... (0)

Anonymous Coward | more than 9 years ago | (#11925707)

my soft eng. career started out with my curiosity towards video games. most kids are into video games, why not show them whats really under the hood of a game, i.e. textures, 3d meshes, c++ code, etc.

The best way to illustrate... (5, Funny)

MondoMor (262881) | more than 9 years ago | (#11925710)

What would be the best way to illustrate what a software engineer does to a group of primary school kids?
To illustrate, I'd draw a picture of an overweight, pale man with bad facial hair. Next to that, I draw several hundred children with looks of repulsion and disgust, then one kid with glasses with a longing, wistful look on his face.

Then I'd color it with bright primary colors and cel-shade it because cel-shading is fucking RAD.

Something else... (2, Interesting)

andy55 (743992) | more than 9 years ago | (#11925713)

Computer games are of course always a possibility (and a good one at that), but there are other options. I make music visualizers for audio players, and I find younger folks take an interest in it all the time--from all ages. It appeals to kids that are into math and science because, to them, it's something really cool you can do with subjects that are geeky. It's something to consider, at least.

Debugging (1)

Etherwalk (681268) | more than 9 years ago | (#11925716)

Illustrate the principles behind debugging. Bring in a fellow software engineer and hit him with a bat until he does what you want him to do. Every once in a while, pause and look at him closely. Appear perplexed at first, but then let a look of realization and amazement come into your eyes, tap him lightly with the bat in four places, and have him hum nicely before being replaced by a younger software engineer that has to go through the whole process all over again.

Hi Kids ... (0)

Anonymous Coward | more than 9 years ago | (#11925717)

Today you'll watch me write a perl script to convert this collection of invoices to a single master invoice ... any questions?? No ... then let's get started ... oh and feel free to take a blunt object to the back of my head to put me out of my misery ...

Use a globe... (1)

JRHelgeson (576325) | more than 9 years ago | (#11925719)

Take a globe with you. Point out the United States on the globe, then spin the globe and show them India...

Build a rube goldberg contraption (1)

bigweenie (73456) | more than 9 years ago | (#11925725)

Some bells that ring, doors that open and shut, etc. with electrical switches and a simple basic program that alters the path of the marble.

Bring 8 Indians with you... (0)

Anonymous Coward | more than 9 years ago | (#11925726)

to show the kids who will replace you when your job gets outsourced to India.

Bi- or Dual-Sex Examples (3, Insightful)

anonicon (215837) | more than 9 years ago | (#11925729)

I'm honestly not whipping out a stupid Political Correctness stick, but try to think of demonstrating something that has a big /COOL/ factor for both sexes in your class, or demonstrate two things, each of which might appeal to either sex. Demoing Madden 2004 might work for the boys, but will probably be a bore to the girls.

I'd suggest showing off software about music, the WWW, instant messaging or IRC, or non-NeoMasculine games a la Madden.

In the end, consider asking any kids with your family or friends what they think is cool PC-wise. They should be able to give you insights that an adult wouldn't have the perspective to realize, and will help make your presentation a winner.

Re:Bi- or Dual-Sex Examples (1)

anonicon (215837) | more than 9 years ago | (#11925853)

I did a Google search on cool programming for kids, no quotes, and found a lot. Also worth noting about programming, copied and pasted as-is:

"They should learn the syntax after they see the example, not before. They should be provoked to answer questions in a Socratic style. They should solve their programming problems out loud, say their answers in English, then convert to code. Syntax should come last. This is the exact opposite of an adult class."

Well, here's a few hints... (0)

Anonymous Coward | more than 9 years ago | (#11925731)

1) Not one of them is going to be impressed by a binary search tree, and explaining it to them will probably make them cry (it's even had that effect on some CS students).

2) "Look at this great UML diagram kids!!" How do you think that will go over?

3) A great deal of them are probably not going to like math very much, so it might be a good idea to gloss over the ridiculous amount they'll have to pick up in their lifetime.

4) If you really want them to listen to you, show them pictures of your new car that your high-bracket salary bought you. Tell them about your gigantic TV, and all the video games that a software engineer can buy (or even make). Otherwise they aren't going to give a flying fuck, because to be quite honest, kids who are still in the age range of learning to tie their shoelaces aren't going to be too interested in something that abstract.

My invaluable contribution (2, Funny)

Nine Tenths of The W (829559) | more than 9 years ago | (#11925732)

." What would be the best way to illustrate what a software engineer does to a group of primary school kids?

Pick a random Indian kid and put him in charge of the stall halfway through.

Towers of Hanoi (2, Interesting)

arrowman (637725) | more than 9 years ago | (#11925740)

Kids love to solve puzzles. Well, some of them at least. Bring Towers of Hanoi (physical plastic). Let them solve it (three piles of 5 disks). Then let them figure out the solution for the general case. Help them a little bit. Start with 2 disks and build it up from there. Finally, let them code the solution in Python, or some other intuitive language with an easy syntax. Prepare some routines that visuallize on the screen what's happening (e.g. moveDiskFromPileToPile(fromPile,toPile)), so they actually see it work. Disclaimer: I've taught chess to primary school kids, but am no good in Towers of Hanoi whatsoever.

Make it applicable to their life NOW (2, Funny)

Coderifous (818073) | more than 9 years ago | (#11925744)

Explain to them that the entire world is run by computers, and by doing things in the computer, you can affect the "real world". Then hack the school lunch network while they watch and transfer everybodies lunch money into your kids account. "And now you all have to ask Tommy for lunch, because Tommy knows computers, and you don't!" Not a direct endorsement for software design, but it'll get them to see nerds in a whole new way. Oh, then teach your kid how to fight.

Lego (1)

improfane (855034) | more than 9 years ago | (#11925753)

1) Give kids Lego Mindstorms []
2) ???
3) Profit!

You could show them how you use code to control things - Like with Lego Mindstorms.

be truthful (0)

Anonymous Coward | more than 9 years ago | (#11925754)

What would be the best way to illustrate what a software engineer does to a group of primary school kids?

Bring some donuts, mr. pibb. Sit in your chair, do nothing, and complain about deadlines.

Don't forget your wireless laptop to sit and constantly reload slashdot while you're supposed to be working. Also you can work on your 'blog' on how stressful work is.

Games (1)

nanodude (826755) | more than 9 years ago | (#11925757)

Show them some nice, high-end appropriate games that they could possibly make in their future.

Just don't brint Doom 3 or Far Cry ...

Basic on an Apple IIE (1)

mboom (206404) | more than 9 years ago | (#11925759)

I fell in love with programming watching a math teacher work with his trusty Apple II E running BASIC. What fascinated me was how he could get this machine to do anything. The biggest thing is to show how you can combine ideas to make new ideas. Something like LOGO hooked up to a robot would fascinate kids.

An aside: When did people in the field get so cynical. The field has changed don't be soo gloom and doom.

Small Language (0)

Anonymous Coward | more than 9 years ago | (#11925763)

You could make up a simple programming language and write an interpreter for it and let people play around with it.

Something really simple that rewards the user with "cool" stuff with just a few lines of code.

Hello World! (1)

micromegas (536234) | more than 9 years ago | (#11925768)

Laptop, Projector, Qbasic talk about "programming" as if it were what is going on under the hood of the car. YOu can prepare in advance some simple qbasic programs and show them how to write a graphical hellow world prgm. They'll eat it up!

What got me hooked... (1)

agraupe (769778) | more than 9 years ago | (#11925775)

when I was around that age was HyperCard. I'm not sure if it's still made, or if there is a reasonable facsimile for Windows. Also, I would suggest LOGO, as it is simple and easy to see results. But HyperCard is the best bet, because it is fairly easy to understand, and, like LOGO, it is easy to see the results.

Of course, you could take the coward's way out and show them Half-Life 2, and say, "if you're a programmer, you can make games like this!"

Re:What got me hooked... (1)

ecotax (303198) | more than 9 years ago | (#11925950)

'm not sure [Hypercard] it's still made, or if there is a reasonable facsimile for Windows.

Hypercard itself has been discontinued, but not after most Hypercard users had switched to Supercard [] anyhow I guess.

Fireman! (2, Funny)

yotto (590067) | more than 9 years ago | (#11925782)

If you want to get the kids interested in your job, pretend to be a fireman.

Simulation (1)

Detritus (11846) | more than 9 years ago | (#11925784)

I'd show them a simple simulation. Something with some easy to understand graphics and controls.

Watch Uncle Bill open the valve that feeds water into the methyl-isocyanate tank. Can you say "RUN!!!"?

It's not what you show, it's how you show it. (3, Insightful)

Qbertino (265505) | more than 9 years ago | (#11925788)

I don't know how long or indepth this fair thing is, so you might have to adjust.
You should completely splitt between what you do on your job and what computers can do. Prepare a show-and-tell only lecture and pratice to explain things in a way kids of this age will find interessting. Maybe tell a story or two of interessting tidbits of your profession in general. Keep in mind that they (children) have a different sense of humor and less concepts of apstraction ... which doesn't mean their to stupid to understand the interessting parts of what you do! In fact, 9 year olds can be even more on top of current scientific/technical things than the usual grown-up. It's just all about explaining it in a way that it doesn't bore them to death.
The other thing is a practical one, which lot have provided suggestions to allready. I'd like to point out that you might want to explain to someone who isn't the usual future geek and all into gameboy and electronic toys allready the nature of computers and how to program them. I'd suggest a simple program that displays the fascination of automation. Maybe a very simple, tile based turtle program enviroment with your own simple set of commands (go, stop, on, off, forward, backward, left, right, north, south, east, west,... you get the point). It should be good enough to display the basic concept of computers (programmability and automation) but be easy enough to do in a time where a group of kids each can get their own shot and everybody can watch without getting bored. Both units, the show and tell and the little programming part shouldn't take any longer than 30-45 minutes each for a group of 10 children. Anyone more curious should have a chance to ask you more questions though.

My 2 cents from a geek who's been a teacher for some time aswell.

K5 career fair? (0)

Anonymous Coward | more than 9 years ago | (#11925792)

Let me handle this appropriately:

7 comments, no stories? -1, nullo. And buy an ad.


how about a conversation program (1)

truth_is_midway (867357) | more than 9 years ago | (#11925797)

I think you want to write a program which shows the power of computer as well as appealing to kids. Moreover, it should show that there is lot of thing to be done in computers. In such a case, I would like to write an automatic kid-conversor. Code a couple of sentences and contexts, so that the program is able to reply pretty well for average kid but the samrt ones would discover the flaws.

Demo Artificial Intelligence (1)

Mentifex (187202) | more than 9 years ago | (#11925803)

Artificial intelligence in action [] might make one of several excellent demos that you could show.

AI in JavaScript [] for MSIE-5 would even let the kids print out transcripts of their interaction with the AI Mind.

Dynamic webpage (1)

kooganani (646567) | more than 9 years ago | (#11925820)

I've been thinking about this, because I need to do the same kind of demo for a girl scout troop. I think the best thing would be to build a dynamic web page. Run Apache, perl, and a browser on your laptop. It would be easy to make dramatic-looking changes that would grab the kids' attention, and they will probably be familiar with the interface. While many of us had those transendental moments with a Trash-80 or a PDP-8, a lot of the kids won't end up being computer programmers. I think a less technical demo that outputs to something other than a text terminal would be more approachable to more of them.

It's a simple demonstration... (1)

Rick Zeman (15628) | more than 9 years ago | (#11925827)

Show 'em how to read slashdot!

Mindrover! (1)

VexSky (811169) | more than 9 years ago | (#11925838)

Bring a copy of Mindrover! [] Familiarize yourself with ICE first, and download some rovers.
Not only could the studens program the rovers, they could wire them using the built-in system.
You might be able to find Mindriver in some ancient bargain bins, or you'll be able to order it from Cognitoy.
I played this and thought about it all the time during elementary, and I'm a coder now, so who knows? ;)

Short of that, get a copy of something like Unreal Tournament 2k4 and show them how to build a level and make a weapon or something.

Just remember, even if 'you' aren't only coding, doesn't mean you aren't a software engineer. Be creative, they'll surprise you.

Teach them something they can at least think of using to their enjoyment, and they probably will.

Just some tips (2, Insightful)

StupidHaiku (867362) | more than 9 years ago | (#11925840)

Everyone else will probably have better ideas about how to demonstrate software engineering than i do, but as an Elementary Ed. major, my quick advice to you is be excited about what youre showing them. Kids are like little radars when it comes to attitude, and youll rub off on them if you look passionate. Have fun :)

easy (1)

roman_mir (125474) | more than 9 years ago | (#11925841)

I have a friend who worked on a porn-site. Are you catching my drift? ;)

Anyway, where I am finishing my latest contract right now, I could show the kids what it really means for some people to work in IT industry. You know, a guy walks into the doors of the company as a junior developer, spends a year kissing up, licking ass, sucking dick whatever it takes. The guy becomes a 'team lead', and is given powers of basically a project manager for multiple projects. Well, it's easy enough since most people in that dep't are contractors and he is a perm. Now he is the one who approves the hiring of contractors, obviously he has a couple of small shops who he hires from and they pay him per person per hour (under the table.) Now he doesn't have to be a programmer anymore, just a 'team lead'-'manager' and he makes all the money anyway.

So there you go, kids, become junior programmers, find yourself a company like that, take over and collect the green.

It is a very good business plan indeed.

AppleScript (1)

nigham (792777) | more than 9 years ago | (#11925842)

Show them an Apple. And show them the cool stuff. Some ideas: Solid software like "delicious library", which can scan in a bar-code via a webcam of your book or DVD, connect to the net and download the image and relevant details.

And how about Bluetooth with a Sony Ericcson phone being used to act as a remote control and running iTunes on a powerbook from the back of the room!

Beakman's World (5, Insightful)

wowbagger (69688) | more than 9 years ago | (#11925843)

Beakman's World did a pretty good demonstration about this, and you may be able to do an adaptation of that approach:

You need things:
  1. A collection of Nerf balls (or other soft small throwable objects).
  2. A hoop of some sort.
  3. A whiteboard and dry-erase markers.
  4. A person to play the CPU.
  5. A person to play the Engineer.

On the whiteboard you write the Requirements:
Design a program to get the CPU to throw a ball through the hoop.

The CPU is only allowed to execute instructions that are written on a whiteboard by the Engineer.

The CPU is to be as literal as possible when interpreting the instructions - so if the instructions are:
  1. Throw ball at hoop

Then the CPU should pantomime throwing something, because the Program does not include the instruction "Pick up the ball".

Start with just the "Requirements" on the whiteboard. As the kids come up, you explain the rules, and let them tell you what instructions to write down.

You can even have a bit more fun - if a kid starts suggesting your standard juvenile crap ("Have him scratch his butt <snicker>") you can pull a Donald - "You have been caught goofing off at work - YOU'RE FIRED!".

If you are real meanie, you can even do more of the experience:

  • The PHB, who randomly changes the spec
  • The Hardware Engineer, who designs the hardware ("OOPS! - the CPU cannot pick up the balls because the arm is too short! Hardware Revision!")
  • the Vendor ("Oh No! The balls have gone End-Of-Life, and we have to find a replacement!")
  • The Marketing Guy ("I can't sell this doody - make it sing too!")
  • The Auditor ("You have failed to use the proper font for your program - your ISO-9000 certification is revoked - unless you want to hire me as a consultant to help you be in compliance....")

what u do (0)

Anonymous Coward | more than 9 years ago | (#11925850)

mostly what u do is bat off liars and the ignorant from selling lots of expensive worthless junk to the government and/or your company.

Mecca for geeks (1)

AverageMidget (855521) | more than 9 years ago | (#11925854)

I think most have passed over a major part of this article. Cliff has a kid! That means he's..."done It".

*blushes and giggles wildly*

Squeak is *built* for this. (1)

Cerebus (10185) | more than 9 years ago | (#11925857)

They know what a computer is... (2, Insightful)

tomhath (637240) | more than 9 years ago | (#11925858)

Keep in mind that these kids have been around computers and game consoles all of their lives. It will be very difficult to impress them by showing them something on the screen, they've seen it all. What impressed you wasn't running a program; it was having the ability to change the instructions so the computer does something it didn't do before.

On a slightly related note, I knew a kid who, after watching a man drive a big truck up to his parents' house and operate a bunch of complicated machinery, told everyone that he wanted to pump out septic tanks for a living.

Bring a pillow ... (1)

ElDuderino44137 (660751) | more than 9 years ago | (#11925861)

... and demonstrate how you cry silently into it each night.

TPS reports (1)

ogonek (833611) | more than 9 years ago | (#11925868)

Show them how you make your TPS reports, and hand out memos about the cover sheet.

Simple Paper Turing Machine (5, Interesting)

DrJimbo (594231) | more than 9 years ago | (#11925871)

When I was a young kid, very many years ago, I was introduced to computers and programming in a summer school for bright students.

We were each given (or made, I don't remember) a long strip of paper about an inch or two wide, with lines making it into a long row of squares, like a single row from a page of graph paper. Each square was like a memory location. We were also given a paper clip that acted like the instruction pointer.

There was a simple instruction set, I think they associated numbers with instructions, like move forward or backward so many squares and simple arithmetic. The whole class together worked through a simple program.

There were some downsides to this. Some of the kids were totally lost on what we were trying to do. So we had to go real slow which then made it very boring for me. But the upside was that when it was over, I understood how computers worked and that simple model has helped my throughout my life as a programmer.

The key is to be really prepared and work it all out ahead of time. Make sure you have the instruction set and the simple programs all worked out ahead of time. You might want to practice it a bit. Keep it simple. Treat it like a game with rules. Forget about being true to Turing, instead focus on giving the kids something they can do and understand.

Not all of the kids will "get it". But those that do will really understand what programming is all about. Especially when you combine the simple Turing machine with gee-whiz-bang stuff on your laptop.

Do to them? (1)

Wolfbone (668810) | more than 9 years ago | (#11925877)

" What would be the best way to illustrate what a software engineer does to a group of primary school kids?"

Reprogram them.

Here's my list (1)

NitsujTPU (19263) | more than 9 years ago | (#11925884)

Kids will like
1) Coffee
2) High-resolution displays
3) Violent video games

Tell them that you get to drink coffee, look at high-resolution displays, and make video games.

JASON Project (3, Interesting)

Liquid-Gecka (319494) | more than 9 years ago | (#11925889)

The Computer Science Club at Boise State University just did a presentation for ~6th graders. We presented on the inner workings of AI by showing them the complete production of a evaluation tree using a java program we wrote.

Here [] is the download page for it. (I know I know! The site is default template. We just setup the new software last weekend so give us a break =)

Not sure if this helps younger kids get fired up but I did work for 6th graders. =) Its also fun to watch it generate and draw the tree.

This is what got me hooked.. (0)

Anonymous Coward | more than 9 years ago | (#11925896)

Pseudo code along the lines of:
loop start
randomly print yes or no
loop end

Then get people to play 20 questions with the computer. You can type their questions in and out pops the answers. I was completely fooled by a 10 line basic program and spent the rest of the day designed code -- even though I'd never used a computer.

Sick bastard (3, Funny)

bungley (768242) | more than 9 years ago | (#11925901)

They're only young, at least give them a chance to have a life when they grow up. In fact, it's probably your moral obligation to scare them off software engineering -- I wish someone did it to me.

Show them Squeak! (2, Informative)

Nagus (146351) | more than 9 years ago | (#11925905)

Squeak [] is an environment that is meant, among other things, to be used to teach children about programming and computers.

It's difficult to explain what it does. If I understand correctly, it is at the same time a "personal 3D environment" which can be shared, a customizable programming environment, a kind of window manager, and a teaching tool.

The special thing about it is that any part of the environment can be edited on the fly, and reprogrammed/modified. This was demonstrated by Alan Kay at his Turing Award Lecture last year. There is a stream of the lecture [] , although it doesn't work for me right now. The most impressive parts of the demo were near the end, so you might want to watch the parts in reverse order (or watch all of it, it was really good).

There are some examples [] of simple apps that can be created in the Squeak environment on the website, these should be just the right thing to impress the kids.

Teach Them To Count In Binary (1)

Ginnungagap42 (817075) | more than 9 years ago | (#11925916)

Seriously. I did the same thing for my oldest daughter's class when she was in the 2d Grade. I brought a laptop with Borland's C++ Builder, and had a short looping "Hello Class" type C program. I talked about binary and used light switches as an analogy (on, off) and let the kids look at the code, alter the code by typing in their names in place of "Class", let them recompile and run the program.

The trick is to keep it simple, but not too simple. By the end of the class, I had at least three kids that could predict what the next binary number was going to be, and they all liked seeing their names appear on the screen after they got to "code". Make it fun, and the kids will love it.

Jobsless/Homeless Techheads (1)

OSXexpert (859428) | more than 9 years ago | (#11925935)

Wonder what the fair will offer for those kids whose parents are unemployed, homeless or generally in fear of losing their jobs? I hope the fair is fair, and covers both sides of the ups and downs of a job fair.

Lego Mindstorms (1)

2nesser (538763) | more than 9 years ago | (#11925951)

For my thesis project we are using lego mindstorms to build a maze travelling robot.

The lego RCX Invention system is really cool, but somewhat pricy. The default lego programming language is a drag and drop, connect the boxes type of graphical languages so kids could play with it all day after you do a quick presentation.

If you wanted to get more control check out BrickOS (C compiler) or Lejos (Java compiler).


Don't use 1980s metaphors (1, Insightful)

Anonymous Coward | more than 9 years ago | (#11925964)

- Don't use BASIC
- Don't use LOGO
- Don't use computer games

Are there any Software Engineers out there that use BASIC or LOGO? Don't use 1980s metaphors. And, how many jobs are there that program games compared to the vast majority of corporate programmers.

IMO, show them real stuff, like behind the scenes of an eCommerce site to buy books or buy music online. Or show them conceptually how messenging applications work. Some software engineer had to have architected the application.

You have to use alot of coloured diagrams to get the picture across; heck show them a real UML diagram; these are dumb enough. :wq!

Modify a popular web page (1)

cwalck (867365) | more than 9 years ago | (#11925977)

How about modifying one of the kiddies favorite web pages? Save a copy of a page from a Spongebob or Disney-related site, make some changes (font, color, etc.), and viola! It's not programming per se but I think they'll be able to wrap their brains around it.

Demonstrate computer logic (2, Interesting)

meckardt (113120) | more than 9 years ago | (#11925981)

Here's one that my wife uses (she's also a geek):

Decorate sugar cookies. Have kids give instructions. Do EXACTLY what they say. Gets the point across quickly how you have to be exact when you tell a computer what you want it to do.

You can't be a software engineer (0)

Anonymous Coward | more than 9 years ago | (#11925985)

Your grammar and spelling are too good. Eveybody knows software engineers can't spell worth crap.

For the past few years... (4, Insightful)

mrsbrisby (60242) | more than 9 years ago | (#11925986)

I've actually done this at the local schools.

It's a great deal of fun, and believe it or not, it won't bore them. Adults fear engineers (especially software engineers) because they think what they're doing is something that they cannot do.

As a result, they actively ignore your attempts to educate them. They think it's just out of reach and would rather appear rude and bored than stupid.

Of course, kids don't know this yet. They're fully willing. They most certainly will understand graphs, functions, tries, and so on. They'll understand it because [as we know] it's not hard, and they're not yet programmed to avoid it.

Show them LOGO; Show them C; Show them the inside of what they think a computer is, then smash open the hard drive and toss the platters around.

They'll love it.

Show them what it means to hack, and how much enjoyment it can bring. Show them your adhoc EIDE hotplug system (so they can try it at home) - show them anything you can. They most certainly will follow.

I must say, there's nothing quite like a third-grader asking why we "don't just all use assymetric cryptography all the time", or how the world let Ben Franklen get away with messing up the plus-minus on battery schematics.

The teachers monitoring you will roll their eyes, but the kids _will_ get it.

Are you a SW Engineer or a Developer??? (2, Informative)

losman (840619) | more than 9 years ago | (#11925988)

There are people who build the bridges and there are those who engineer them. What are you? There is a big difference here and unless you are going in to talk about Engineering then say you are a developer.

I've got my BS in CompSci and just my thesis away from an MS in SW Engineering, there is a big difference. My advice, tell them you write programs. Convey that programs run stuff like the bank machines, coke machines and games. Explain that programs are all around us.
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?