Software Engineering Demo for a K-5 Career Fair?
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?"
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
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.
I'm a big tall mofo.
This seems obvious to me... Logo Primer
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.
Wenn ist das Nunstruck git und Slotermeyer? Ja!... Beiherhund das Oder die Flipperwaldt gersput!
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.
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.
Q: I am short, useless and provide no value. What am I? A: a sig
I don't think it will be that difficult to find QBasic
Everything I need to know I learned by killing smart people and eating their brains.
I was asked to do something similar for computer science. I came up with this swish presentation. It's good for a 20 minute timeline and students will recognized some of the pictures. I don't think students at that age are thinking too much about career opportunities but it does give them some exposure to careers other than the "guy/lady that hangs around the school fixing computers".
Check out toontalk for a graphical programming environment that looks like legoland.
Also see how the objects-first people are teaching programming nowadays. In the first week of class they have people drawing faces using OO programming, without loops or branches. For example, they have the students create a drawing program using event callbacks.
Squeak!
I suggest showing them Squeak. It's pretty colorful for a programming environment. It also has an implementation of a racecar and a musical keyboard, a mouse face with eyes that follow the cursor and other things that would probably be fun for a short period of time. And while they're playing with all that, maybe you can explain that Software Engineers make this stuff as well as the games on the Xbox, Gameboy, and Playstation.