Slashdot Mirror


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?"

310 comments

  1. Don't shower for 2 weeks by Anonymous Coward · · Score: 0

    So they can feel the atmosphere.

  2. Realistic? by RobertTaylor · · Score: 5, Funny

    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'...

    1. Re:Realistic? by Anonymous Coward · · Score: 2, Funny

      For the sake of your children in school don't go

    2. Re:Realistic? by sgant · · Score: 5, Funny

      Also, don't bathe for a few days beforehand, make sure your hair is as messy as possible.

      Don't sleep for 2 days beforehand either.

      Oh, and at every opportunity keep asking to borrow a few bucks from each of the kids.

      When a parent or school official comes by make sure you start shuffling papers and typing on a keyboard to show that "I'm doing something". Then when they walk away just mumble under your breath "damn Suits".

      In fact, mumble under your breath quite a bit, and don't forget your red Swingline stapler...because they switched from the Swingline to the Boston stapler, but I kept my Swingline stapler because it didn't bind up as much, and I kept the staples for the Swingline stapler and it's not okay because if they take my stapler then I'll set the building on fire...

      --

      "Leo Fender was in a 'state of grace' when he designed the Stratocaster." -- Paul Reed Smith
    3. Re:Realistic? by Seumas · · Score: 2, Interesting

      Speaking of realistic - isn't it a little _un_realistic to be conducting a career fair for kindergartners through fifth graders?! Christ, let 'em be kids for a little bit. Next thing you know, they'll have to pick "vocations" in junior high. That's how schools in this city started to go about a decade and a half ago. You picked "constellations" of vocations to go into. Yeah, that's great. Rather than gearing kids toward college, they geared them toward "writing" or "car mechanics" and such. Might as well start spitting out the little vocational drones early.

    4. Re:Realistic? by drsquare · · Score: 2, Insightful

      Vocational drones? Better that than a load of college drones. At lease with a vocation they can learn some skills and make money, rather than getting into massive debt just to end up with a piece of paper that's effectively worthless as every other fucker has one.

      As for computer programming, not much point getting into that. The market's saturated, and it's shrinking rather than growing, with jobs all going to India. Everyone and his dog has a computer science degree, but you can never find a decent tradesman when you want one.

      Also, there is no such thing as 'software engineering'. Calling something engineering doesn't make it so. Professionaly, the word 'engineer' has a precise legal definition, and calling yourself one when you are not is illegal.

    5. Re:Realistic? by endx7 · · Score: 1, Interesting

      Also, there is no such thing as 'software engineering'. Calling something engineering doesn't make it so. Professionaly, the word 'engineer' has a precise legal definition, and calling yourself one when you are not is illegal.

      In Texas at least it is quite legal, as determined by the Texas Board of Professional Engineers. It may be legal in other states....I don't know, I just googled it real quickly. In addition, the US Dept. of Labor says there is such a thing as a Computer Software Engineer. In addition, some universities are starting to offer Software Engineering majors.

      Me, I'm just a programmer.

    6. Re:Realistic? by Toresica · · Score: 1, Insightful

      Professionaly, the word 'engineer' has a precise legal definition, and calling yourself one when you are not is illegal.

      In Texas at least it is quite legal, as determined by the Texas Board of Professional Engineers.


      Not in Ontario. To call yourself an engineer, you can either
      a) Maintain an engine b) Have a degree in engineering (and do a few other things) and become a member of the Professional Engineers of Ontario.

      However, if you graduate with a degree in Software Engineering (something my university offers), you can become a member of the PEO.

    7. Re:Realistic? by LifesABeach · · Score: 0, Redundant

      Bring a cubical for display, tell everyone the hours of time spent sitting in there.

      Try to explain what the 'Big Blue Room' is.

    8. Re:Realistic? by JohnsonWax · · Score: 3, Insightful

      Actually there is a such thing as software engineering with a precise legal definition currently recognized by Texas.

      The problem is that the term is terribly misused. The first comment I read here involved endless coffee and coding - that's not software engineering.

      Analogy:
      Software engineering:coding::Civil engineering:plumbing

      Another analogy:
      Computer Science:software engineering::Physics:civil engineering

      The problem is that software engineering is such an embryonic field right now - there are effectively no widely recognized standards of practice, no standardized testing, etc. for it to come to the same level as most other engineering disciplines.

      The coders aren't doing much to change this, nor are the true computer scientists. Ultimately, CS will have to contract to a more self-contracted science, coding will revert to a trade, and software engineering will somehow emerge in the middle.

      It's not MS/Oracle/etc. that need software engineering, nor are they driving it. It's coming out of Boeing and other large traditional engineering firms dealing more and more with code that DO take responsibility for their work (that's one of the first tenets of a professional engineer) and have no comfortable way now of determining if the work of their individual engineers is good or not.

      Bottom line, from the perspective of a professional engineering firm, MS and all other software firms that follow their model of deniability of responsibility are absolute train-wrecks. At some point, a MS buffer overflow or some other dipshit problem will cause a major direct and obvious financial or human life crisis and the Congressional hearings will begin. Software engineering as a widely recognized discipline will be the result.

    9. Re:Realistic? by iocat · · Score: 1

      I just changed the oil in my pontiac... I guess that would enable me to call myself an engineer in Canada.

      --

      Dude, I think I can see my house from here.

    10. Re:Realistic? by kchoboter · · Score: 1

      yah, the interesting thing is.. if you are in any other type of engineering (computer, electrical, mechanincal, mechatronics, enviromental, chemical, geological, civil... etc) you get a Bachelors of Applied Science, in Honours ___ Engineering

      but if you are in Software engineering (which at my university - waterloo http://www.uwaterloo.ca/ (which im going to guess you are at as well), which is a joint engineering / math program you recieve a Bachelors of Software Engineering.

      licensing is something in and of itself
      see http://www.ccpe.ca/e/index.cfm, http://www.peo.on.ca/, and http://www.ccpe.ca/e/index.cfm

      --
      4B4556494E
  3. The Tandy COCO Guy! by filmmaker · · Score: 5, Interesting

    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?)

    1. Re:The Tandy COCO Guy! by AndroidCat · · Score: 1

      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.

      --
      One line blog. I hear that they're called Twitters now.
    2. Re:The Tandy COCO Guy! by Anonymous Coward · · Score: 0

      WHAT IS WRONG WITH YOU????

      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)

    3. Re:The Tandy COCO Guy! by kfg · · Score: 2, Insightful

      ". . .have them see very basic principles in BASIC. . ."

      Nooooooooooooooo!

      ". . .since it was possible to "know everything" about the system, down to the bit."

      Now this is where the truth lies, at bit level. I like to start, not with a computer at all, but with a bag full of Othello chips (or something similar) and demonstrate in a very clear, graphical and hands on sort of way exactly what is going on inside of the little computer brain, and then show how these arrangments of binary numbers represented in physical medium can be at control of the programer to create whatever it is you wish to have appear on your computer's monitor.

      Like, a game, which also gives a chance to demonstrate the importance of getting a good foundation in mathematics and physics if you want to do really cool shit with a computer, and, let's face, it, games are what's going to get the kids exited, not the commandline or beowulf clusters.

      KFG

    4. Re:The Tandy COCO Guy! by filmmaker · · Score: 1

      I kind of agree about BASIC. At the very least, I understand what motivates you to post that.

      On the other hand, though, it seems like BASIC is a perfect choice for a K-5'er since it's relatively clean, and it great for very, very simple stuff, like demonstrating what a variable is. Or showing a simple for loop. Those concepts that are so elementary as to be transparent to you are the very ones that the COCO books showed me so well, and for which BASIC was a great platform for learning.

    5. Re:The Tandy COCO Guy! by battjt · · Score: 2, Insightful

      Basic is so far removed from the hardware that it is difficult to explain. I've found C easier to teach than more abstract languages. Try explaining how a GUI button works in the context of "a computer is just bits right?"

      On the other hand it is soooo hard to show accomplishment anymore. When I was a youngster, printing my name 8 billion times on the screen was fun.

      10 print "Joe was here. ";
      20 goto 10

      Now, the student expects to integrate video before the end of class.

      I realize that you could teach the students an IO package (Java Swing, MFC, GTK, etc.), but then we are back to the point where the student isn't really learning what is going on, only the magic of the IO package.

      For instance, 20 years ago, my grandmother took two college courses in Pascal, but it didn't really help her use a computer. At the end of the classes, she understood Pascal (actually top grade in the class), but not computers or programming. Her comfort level hadn't changed.

      I think assembler may be more exciting than BASIC. I was very excited to learn VAX assembly after only having programmed a TS1000 and a C64. I was able to guess at how the whole computer worked, because I understood the building blocks.

      All that said, I'm a lousy teacher.
      Joe

      --
      Joe Batt Solid Design
    6. Re:The Tandy COCO Guy! by kfg · · Score: 1

      I too learned much of my BASIC on a COCO, from the very same books (although I had a solid grounding in APL before that time; and had seen enough FORTRAN to send me screaming from the room) and I've still got, and even occasionally use, a Color Micro, but I prefer, as per my above post, to begin at a much lower level to take all the magic and mysticism out of computing by demonstrating what simple, brain dead and fully understandable machine it really is.

      And when approaching the level of actually working with a teaching language I find that Python has all of the postitive benefits of BASIC, none of its drawbacks; and several of its own virtues, including being a language that one can pursue to a high level of real world use, no matter what language you end up doing most of your work in.

      KFG

    7. Re:The Tandy COCO Guy! by Y2 · · Score: 3, Insightful
      My recommendation for the kids is to have them see very basic principles in BASIC ...

      GAAAaaahhhhhh!

      Quick - learn smalltalk and tote along some toys from Squeakland.

      The next generation will thank you someday ...

      --
      "But all your emitter and collector are belong to me!"
    8. Re:The Tandy COCO Guy! by filmmaker · · Score: 1

      Nice post KFG.

      I suppose I do show my age when suggesting BASIC -- like it's still the only game in town, as is was to me at age seven when I flipped on the CoCo. Another poster has recommended Smalltalk. Python seems like a great language for learning. I learned on Pascal and FORTRAN in intro comp. sci. courses, then took algorithms and data structures within C++ as the language. Pascal alone is a big step up from BASIC, but Python is an even better choice.

      The original point I made was that it doesn't matter, and I'm not sure BASIC is harmful, but it is antiquated and clumsy by comparison to more modern scriping languages.

    9. Re:The Tandy COCO Guy! by kfg · · Score: 2, Interesting

      As I suppose I'm showing mine by pointing out that my first high level language was APL, also implying that I was already of an advanced enough age at the time to be allowed to touch a mainframe terminal.

      I considered mentioning Smalltalk/Squeak, which I'm kinda fond of just messing about with myself, but I find one of the positive virtues of Python as a teaching language is the fact that it isn't a "pure" OO language. You can bend it to your will, rather than having to bend to its "vision" of what computer languages "should" be, so you can teach (and use) procedural and functional approachs just as readily as the OO approach, without having to learn a wholly new syntax and grammar just to learn a new conceptual architecture.

      I'm afraid I have some issues with OO as "the one true way" of programming, so I don't like using a pure OO language for teaching, prefering to introduce OO down the line as one methodology which proves useful in dealing with certain programming problems, like, say, modeling objects.

      KFG

    10. Re:The Tandy COCO Guy! by phiz187 · · Score: 1

      Basic is so far removed from the hardware that it is difficult to explain. I've found C easier to teach than more abstract languages. Try explaining how a GUI button works in the context of "a computer is just bits right?"

      K-5 that is ages 5 through 10. I think some abstraction is definitly in order here.

      I volunteered to read to a 2nd grade class (figure about 7 yr olds) for National Day of Reading. The kids were bright and inquisitive, but then I had to explain that as a Photonics major I work with lasers, and what lasers were.

      These concepts are just too much at that developmental stage. Find something fun with just a little bit of insight into what the job entails.

      -PHiZ

      --
      Pretend I said something meaningful or insightful here.
    11. Re:The Tandy COCO Guy! by Anonymous Coward · · Score: 0
      (this is a joke directly aimed at the OO,Java,C++ crowd. of wich 90% of all software was NOT WRITTEN WITH)

      Thank you, it's been real depressing reading all the job ads for J2EE, .NET, C#, C++, JAVA, and thinking WTF.

      I had a couple of Acorn systems, and a COCO II as a kid. The learning curve seemed a lot flater back then. I think it would still be valuable today to get kids to work on these kinds of systems to get a solid foundation. Hell you could probably make a COCO and package it like those retro TV joystick games that appear for $20 this Christmas. Perhaps the TI graphing calculators are today equivalent.

      When I started play with BASIC and computers, I dumped all my Lego and Meccano. The realization is that programming is just like building things with Lego, just that you get a kit with an infinte number of pieces, in the right colours, and if you need some custom piece you can just invent them. Everything beyond the original investment is 'Free'. Software engineering is about creativity. My first computer was the best investment my parents ever made.

    12. Re:The Tandy COCO Guy! by djaxl · · Score: 1

      If you're gonna go with BASIC, might I suggest VBScript or JavaScript or ActionScript (Flash). Of course, others might suggest Java or SVG. Or, Lisp, SmallTalk, ML, or Ruby. JavaScript and VBScript at least you can develop without having to download any compilers. If you were leaning towards Java, Python is another good choice in that direction.

    13. Re:The Tandy COCO Guy! by MightyMartian · · Score: 1
      OS/9 Level 2 was an awesome OS, probably the best 8 bit operating system ever made. I still have the source somewhere of a half-finished accounting package written in Basic-09.

      But even the older Coco1&2 manuals were pretty good. If there was one thing Tandy/Radio Shack was good at was writing manuals. I cut my earliest programming teeth on the little cousin of the CoCos, the MC-10, which had a 6803 processor and a chiclet keyboard. I had the 16k expansion pack for a whopping 20k of RAM. Moving up to a modded Coco1 and then a Coco3 was a major upgrade.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    14. Re:The Tandy COCO Guy! by AndroidCat · · Score: 1

      You mean like this MC-10? :^) There's a wiki for OS-9.

      --
      One line blog. I hear that they're called Twitters now.
    15. Re:The Tandy COCO Guy! by budgenator · · Score: 2, Insightful

      how about logo and turtle graphics, [sarcastic humor]if they are that's going to be obsolete in five years, shouldn't it be lisp based? [/sacrastic humor] the logo/turtle graphics was designed for K-5 er's. Imagine them trying to explain recursive programming to their parents; especialy when they really get it.

      --
      Apocalypse Cancelled, Sorry, No Ticket Refunds
    16. Re:The Tandy COCO Guy! by MightyMartian · · Score: 1
      You mean like this MC-10? :^)

      That's the machine. My first computer, which was bought for me when I was in grade 6. I had used Apples at school, and my uncle had a Commodore 64, but this baby is still sitting in my closet, and still worked a couple of years ago.

      There's a wiki for OS-9.

      Well, so far as I know OS9 is still in active development. It was, so far as I understand it, originally designed for embedded systems using the 6809 processor, but there were ports done to the 68k chips, and (I think) to the x86 processors as well. I know a few guys that hacked their Coco3s to 2mb, had hard drives plugged into it, and it was pretty powerful considering that it was all 8bit.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    17. Re:The Tandy COCO Guy! by Anonymous Coward · · Score: 0

      You had to explain to seven years old what lasers are? Sheesh, don't they have decent scifi cartoons anymore? @_@;

    18. Re:The Tandy COCO Guy! by tonsofpcs · · Score: 1

      Actually one of the two 'demo' disks that came with some of the Apple II computers included a interactive demo of Apple Logo that teaches very well. Get an Apple //C (with that little monitor) and the disk, or just an emulator on a notebook (make sure to put stickers on the keys that are changed so the kids aren't too confused).

    19. Re:The Tandy COCO Guy! by bhtooefr · · Score: 1

      Gotta agree with you there...

      However, one thing to think of - little kids will almost certainly have web browsers and Notepad (or the Mac equivalent) at home. JavaScript (although it's a BITCH to debug) could do the job...

      Then again, Python IS Free (but (IIRC), the Python-2.4.msi on my UFD is about 12-13MB).

  4. Truth in education... by kclittle · · Score: 5, Funny
    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.

    --
    Generally, bash is superior to python in those environments where python is not installed.
  5. My first suggestion... by EmagGeek · · Score: 4, Funny

    A basic understanding of how to speak Hindi...

    1. Re:My first suggestion... by anonicon · · Score: 1

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

    2. Re:My first suggestion... by Flyingcats · · Score: 0

      what's that...

      --
      www.iSoftNews.com - Latest software news,fre
    3. Re:My first suggestion... by goodzilla · · Score: 0

      true true

    4. Re:My first suggestion... by Anonymous Coward · · Score: 0

      Outsourcing

    5. Re:My first suggestion... by smchris · · Score: 1


      Also useful for the K-5 kids who don't like science. Careers Teaching English as a Second Language in India -- but more likely teaching people in Lesotho and Cambodia to sound Nebraskan by the time these kids get out of school.

    6. Re:My first suggestion... by 1u3hr · · Score: 1
      but more likely teaching people in Lesotho and Cambodia to sound Nebraskan by the time these kids get out of school.

      Or teaching Nebraskans how to sound Lesothan by then.

    7. Re:My first suggestion... by Tablizer · · Score: 1

      They can put the Software Engineering booth right next to the India booth.

    8. Re:My first suggestion... by Anonymous Coward · · Score: 0

      You'll get along much better in India speaking english than hindi.

  6. Graphical stuff it the way to go by barcodez · · Score: 4, Interesting

    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.

    --

    ----
    1. Re:Graphical stuff it the way to go by anonicon · · Score: 1

      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.

    2. Re:Graphical stuff it the way to go by Chemisor · · Score: 4, Insightful

      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.

    3. Re:Graphical stuff it the way to go by kryptkpr · · Score: 4, Interesting

      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.

      --
      DJ kRYPT's Free MP3s!
    4. Re:Graphical stuff it the way to go by Wm_K · · Score: 2, Interesting

      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.

    5. Re:Graphical stuff it the way to go by Anonymous Coward · · Score: 0

      In the late 70s I ran a high school computer lab. We used to have "fairs" or open houses for the K-8 schools in our district. I agree that graphical stuff and games seemed to hold the most appeal for the younger students. I don't recall any as young as K-5 getting involved in programming, although a number of our 6-8 students enjoyed doing some elementary Logo programming (very graphical in nature).

      With the younger kids, in order to do something graphical in nature without having to write a bunch of code, you might do something as simple as allowing them to change the length/width/speed settings for the Beziers screen saver and let them see the results.

      If possible, provide a mouse (easier for most kids than a touch pad or pointing stick), an external keyboard (you never know what's on those young hands, and you may not want whatever it is on your laptop keyboard), and a separate monitor (bigger display, and you can protect your laptop by leaving it closed).

    6. Re:Graphical stuff it the way to go by Anonymous Coward · · Score: 0

      I actually did a science project in middle school with that idea but with the purpose of seeing what adding additional points would do. The results were interesting and created cool looking fractals.

      Everyone was super impressed too (this was in the early '90s). I put the three points of a triangle on a blank sheet of paper and told the judge to pick a point anywhere on the page. Then roll a die. If it was 1 or 2, put a new dot halfway between your point and the top dot. If you rolled a 3 or 4, between the 2nd dot of the triangle and so forth. Then, using the dot they just drew, roll the die again and repeat the above (just like explained in the first post ;). To everyone seemed pretty random at first, but doing it a few thousand times showed something different! Adding more points (squares, pentagons, etc) made things even more interesting.

      It was easy to explain, code, and the result of letting the computer play the "game" put it all together. My little QuickBasic program scored a second place at state competition.

      Something like this might be a good way to show kids computers can solve large problems, but only if they are programmed correctly - and that's where the software engineer steps in! And those problems can be anything they can imagine..

    7. Re:Graphical stuff it the way to go by dcclark · · Score: 1

      On the other hand, it was a BASIC Sierpinski Gasket generator that first got me seriously interested in mathematics, and computational mathematics in particular.

      Sierpinski gaskets are particularly good for this situation. Think of it this way: it's Pretty Pictures, combined with a really easy explanation ("You draw a triangle, put down your pencil, and roll this die. If it's 1 or 2, go halfway to this corner. If it's 3 or 4 (etc.) Then do it again. See what picture you get."), and simple code where you can point out "Here's where I go halfway to a corner. What if I went 1/4 of the way there? Give it a try!" Or, "here's what it looks like if every time you go to the top, you make a green point, every time you go left, you make a blue point..."

      So yes, fractals could make a very good choice. It'll keep attention for a bit, and maybe even get some kids interested.

    8. Re:Graphical stuff it the way to go by Anonymous Coward · · Score: 0

      In a more general form: Pick N points. Pick one extra point to start at. (They can be anywhere.) At each iteration, choose one of the N points at random, and move N-2/N-1 of the way between the current position and that point. This forms the new current position. Plot it and repeat a few thousand times...

      i.e.: N=3 points: 1/2 the distance. N=4 points, 2/3 the distance. N=5 points 3/4 the distance. Etc.

      Produces the best visuals for odd numbers of points (values of N). Even numbers resemble the Cantor set.

      Try Google'ing for "Iterated Function Sets".

      -- Too lazy to look up my slashdot account/password.

    9. Re:Graphical stuff it the way to go by gurnemanz · · Score: 1

      I think this is on the right track. I would recommend LOGO turtle graphics, starting with a simple command set to draw shapes on the screen. Start with a rectangle which can be drawn with: Forward (FD) 10, Right (RT) 90, FD 10, RT 90, etc. Before doing this let the kids actually be the turtle in the classroom, and get them up and walking around. Then introduce more abstract commands like Repeat 4 [FD 10, RT 90]. Now we're getting somewhere. Introduce variables for the size of the rectangle. Then move on to other shapes like cirles and heaven forfend, flowers. Then you can graduate to LEGO-LOGO for embedded programming.

  7. Remind me of the MS joke by JamesP · · Score: 0

    "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)

    www.python.org has all you need.

    --
    how long until /. fixes commenting on Chrome?
    1. Re:Remind me of the MS joke by Anonymous Coward · · Score: 0

      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.

    2. Re:Remind me of the MS joke by Anonymous Coward · · Score: 0

      and what about the dumb ones?

  8. cubicles by PoopJuggler · · Score: 2, Funny

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

    1. Re:cubicles by Not+Public · · Score: 2, Insightful

      ... pssst...

      they already do it..

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

    2. Re:cubicles by operagost · · Score: 1

      They don't even get the box!

      --

      Gamingmuseum.com: Give your 3D accelerator a rest.
  9. Games by BridgeBum · · Score: 4, Interesting

    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. :-)

    --
    My UID is the product of 2 primes.
    1. Re:Games by Bri3D · · Score: 1

      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.

    2. Re:Games by bladesjester · · Score: 2, Informative

      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.
    3. Re:Games by PintoPiman · · Score: 1
      My first exposure to computers was in the fifth grade, and it was exactly as parent described: MS-DOS used to ship with a QBasic interpreter and two demo games - "Gorillaz" and "Nibbles."

      I immediately fell in love with coding when I began "hacking" nibbles - changing snake colors, adding players, building new levels, etc.

      At the time, I had an old IBM XT box with no hard disk, two 5.25" drives and a graphics-incapable monitor. I remember getting to middle school and literally picking a 286 off of the curb. It had a built-in monitor that could display 320x240 monochrome. I was thrilled at the opportunity to finally run Gorillaz!

      I don't know if today's kids would share the excitement that I did; Nibbles is less on par with the gameplay experience to which they are currently accustomed. Nonetheless, BASIC is a simple interpreted language and honestly, it was the spark that kindled the desire of many a current 20-something developer like me. It's a great way to get a feel for the ability to directly affect the behavior of your computer.

    4. Re:Games by Anonymous Coward · · Score: 0

      The best thing I ever did with Nibbles was turn it into 3 player lightcycle (4 was too crowded and the screen was too small). My friends loved me for that.

  10. Show them how you spend your free time... by Anonymous Coward · · Score: 5, Funny

    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!

  11. Start with Basic by EdZ · · Score: 5, Insightful

    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.

    1. Re:Start with Basic by moofdaddy · · Score: 1

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

      --
      Be better in bed. Wikiafterdark!
    2. Re:Start with Basic by Anonymous Coward · · Score: 0

      And lets not forget

      20 GOTO 10

      The infinite loop! Kids understand that.

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

    3. Re:Start with Basic by fermion · · Score: 1
      Some coding might be nice, but find out what they kids have done already. Many elementary schools have significant computer labs and the kids have some notable experience. For instance I have seen first grader students learning the various physical parts of the computer and what they are used for. Fifth grader students are learning the office applicatins. It could be that they have also had some programming.

      Atthat age the kiddos have a hard time understanding anything that they cannot touch. I did basic on a teletype in sixth grade, and even though it was fun, it was the applications in high school that realy got me hooked. I was able to get hooked because i knew that is was possible for me to do complex things, even though i did not understand what those complex things were.

      --
      "She's a scientist and a lesbian. She's not going to let it slide." Orphan Black
    4. Re:Start with Basic by MntlChaos · · Score: 1
      Better yet, have them do it html and you can cut it down to one line.
      <?xml version="1.0" ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transition al.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title> Hello World</title></head><body><p>Hello, World!</p></body></html>

      Yeah, I suppose you COULD do it in one line, but I'd rather do the 2 lines of BASIC :-)
    5. Re:Start with Basic by ggvaidya · · Score: 1

      My favourite "first program" is the one my mum used to teach me programming: the computer would ask you what your name is, and on being told, would say hello to you. It's a nice three line program, uses both input and ouput, and atleast as a kid I got a kick out of the fact that the computer could remember my name. Of course, back then, we had a ZX Spectrum Plus, so kids today might not be quite as shocked ...

  12. My suggestion: by TeleoMan · · Score: 1

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

    --
    $6.21 is the number of the beast before sales tax. Meh.
  13. Other parents by Anonymous Coward · · Score: 1, Informative

    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 :)

  14. Simple by stinkydog · · Score: 3, Funny

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

    SD

    --
    âoeWho knew something as harmless as willful ignorance could end up having real consequences?â
  15. That's scary sounding. by Anonymous Coward · · Score: 4, Funny

    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.

  16. Question. by gerardlt · · Score: 5, Funny
    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?

    --
    /* This sig is disabled. Press CTRL-W to enable. Thankyou */
    1. Re:Question. by Tablizer · · Score: 1

      Michael Jackson is a programmer?

    2. Re:Question. by krymsin01 · · Score: 1

      That's simple. Tape them together to make a large cat!

      --
      stuff
  17. Early Programming Memories by bigtallmofo · · Score: 4, Informative

    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.
  18. Umm... Logo? by Racher · · Score: 2, Informative

    This seems obvious to me... Logo Primer

    1. Re:Umm... Logo? by DRWeasle · · Score: 2, Informative

      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

  19. Robot arm and LOGO on a laptop. by Speare · · Score: 5, Interesting
    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.

    --
    [ .sig file not found ]
    1. Re:Robot arm and LOGO on a laptop. by Anonymous Coward · · Score: 0

      Show them Lego Mindstorms...

    2. Re:Robot arm and LOGO on a laptop. by Speare · · Score: 2, Insightful

      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.

      --
      [ .sig file not found ]
    3. Re:Robot arm and LOGO on a laptop. by Ed+Avis · · Score: 1

      I imagine Squeak would be a good language for demonstrating to children.

      --
      -- Ed Avis ed@membled.com
    4. Re:Robot arm and LOGO on a laptop. by Anonymous Coward · · Score: 0

      There's no point to the demonstration if it's not clear how the hardware had to be built in a generic way, and the software merely runs on the hardware.

      Seriously. Forgetting to teach about the hardware is how we're in the position we're in now.

    5. Re:Robot arm and LOGO on a laptop. by waterford0069 · · Score: 1
      Well, here is the history of logo.

      As far as I'm concernet, I think it was over used in class rooms. Particluarily by teachers who don't understand that it was really only meant as a jumping off point, not the end goal (and a "proof of concept" that childeren could wrap their heads around the concepts of programming a compuer).

      So use it that way in your demonstration:

      1. Here's the how the turtle moves
      2. Here's is how I get the turtle to do this complex task "foo" (whew, that was a lot of work to do every time I want the turtle to do "foo")
      3. Here's how I avoid all that work every time (show them the program listing)
      4. Run the program serveral time to show them how easy it is now (alla George Jetson - button pusher)
      5. Show them a more complex task like that

      In reallity, you'll have to use the techniques that a teacher uses to teach their elementary students. Learning on the edge of what they already know.:

      1. Have a brain storming session. What do they already know about Software Engineers and Programmers
      2. Show them some open-sourced video game running (As a teaser)
      3. Show them logo (as above)
      4. Let them ask questions
      5. Show them the open-sourced video game again, and show them the code behind it
      6. And if it's not toooo borring, show them what you are working on right now at work - with your boss's permission of course
    6. Re:Robot arm and LOGO on a laptop. by Anonymous Coward · · Score: 0

      As someone who had to program a robot arm for 40 hours a week, I can tell you that robot arms are extremely boring. It's unlikely that they would ever have to do that unless they had an abet approved (not software) engineering degree.

    7. Re:Robot arm and LOGO on a laptop. by Speare · · Score: 1

      A job fair for schoolers is one job, one parent. Let some hardware mommy explain the hardware aspects. The poster is asking about demonstrating *his* job: Software Engineering.

      --
      [ .sig file not found ]
  20. There was a dilbert about this by acomj · · Score: 5, Funny

    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.

    1. Re:There was a dilbert about this by Anonymous Coward · · Score: 0

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

      Bravo! Hear, Hear!

      I'm so tire of these damn work-for-free interns who think they're getting their 'big-break' because a company got them to work for nothing. SUCKERS! Fortunately, most of them have no talent.

  21. Shiny! by moop2000 · · Score: 1

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

    1. Re:Shiny! by CaptainCheese · · Score: 1

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

      --
      -- .sigs are a waste of data...turn them off...
  22. how about video games... by Anonymous Coward · · Score: 0

    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.

  23. The best way to illustrate... by MondoMor · · Score: 5, Funny
    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.
  24. Something else... by andy55 · · Score: 2, Interesting


    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.

  25. Debugging by Etherwalk · · Score: 1

    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.

  26. Hi Kids ... by Anonymous Coward · · Score: 0

    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 ...

  27. Use a globe... by JRHelgeson · · Score: 1

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

    --
    Good security is based upon reality and common sense. Common sense is a function of having common knowledge.
  28. Build a rube goldberg contraption by bigweenie · · Score: 1

    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.

  29. Bring 8 Indians with you... by Anonymous Coward · · Score: 0

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

  30. Bi- or Dual-Sex Examples by anonicon · · Score: 3, Insightful

    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.

    1. Re:Bi- or Dual-Sex Examples by anonicon · · Score: 1

      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."

    2. Re:Bi- or Dual-Sex Examples by iamacat · · Score: 2, Insightful

      Demoing Madden 2004 might work for the boys, but will probably be a bore to the girls.

      Not really. Girls will enjoy a sports game or FPS as long as screens are not two yucky and somone teaches them how to play. What's not going to happen is them spending long hours alone to learn the controls or to beat some 1331 d00d on server stats page. They have better things to do with their free time, like grooming or talking on the phone with girlfriends. /me affraid of being beaten by political correctness sticks

    3. Re:Bi- or Dual-Sex Examples by ScottSpeaks! · · Score: 1

      It's been my experience that guys vastly overestimate girls' interest in seeing sports on a screen. But let's set aside the Mars/Venus stereotypes and simply acknowledge that a large chunk of the kids (probably mostly girls, but that's not the point) will find something like a football, racing, or shooter game actively disinteresting. You may not be able to find a demonstration subject that'll interest everyone, but try not to pick one that's going to turn a lot of them off.

    4. Re:Bi- or Dual-Sex Examples by __int64 · · Score: 1

      The parent gave me a good idea, bring 2 laptops, network then with crossover or adhoc wifi, tell kids about the basic network.

      Then prewrite a simple python chat program or networked tictactoe ( 200 lines). Briefly review the script, make sure they understand YOU wrote it and it's not just the computer. Kids this age have a hard time understanding the abstraction between hardware and software. This is your goal, teach them of this, get them to understand the idea that everything the computer does must be programmed by somone, and someone has written every single program they use on their computer. This is what should spark the intrest, that they can make a computer do anything they want to though code.

      Then let them have a go at it. Perhaps show them how to change the color and fonts in the code, ect.

    5. Re:Bi- or Dual-Sex Examples by Anonymous Coward · · Score: 0

      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.

      Um. I'm glad I didn't take the same classes as that particular adult.

    6. Re:Bi- or Dual-Sex Examples by dsoltesz · · Score: 1
      Correct! Unless the girls are required to attend the demo, they won't go near it with football being displayed. The girls who may enjoy those games, aside from the ones actually into football, are in it for the social interaction with friends, brothers, cousins, etc., not the game itself. Soccer might be a bit more of a draw.

      anonicon was right on track with the music, IM, web track. Blogging (what we chicks used to call "keeping a diary" except we didn't let everyone read it, thank god), "stuff" databases (i.e. music, photos), art (Photoshop, Illustrator, Bryce), would probably also be good choices. Computer games that might be less gender specific would include any Sims game (espcially The Sims), puzzles (Tetris), Neopets, etc. Girls' motivations are more complex (or at least massively different) than boys', and highly focused on social interactions, aesthetics, etc.

      I'd stay away from FPS, mainly because it could seriously ruffle the feathers of parents and teachers. Way too many of "those" people are anti-gun, anti-violence, and so forth, and simply will not understand what you're trying to convey. Out of a school setting, I'd go with Lara Croft for both genders - despite the big tits, girls seem to be able to relate to a female heroine, and enjoy solving the puzzles.

      Another tip for getting the girls' attention is to do this activity as a team with a female software engineer (or any other computer geek chick you can round up). Personally, I feel very strongly that kids should see that, yes, there are women in these fields and, yes, some of us are total geeks who enjoy sitting up 'til 4AM fraggin' our buddies just as much as we like shoe shopping.

    7. Re:Bi- or Dual-Sex Examples by iamacat · · Score: 1

      Unless the girls are required to attend the demo, they won't go near it with football being displayed.

      Do you think that's maybe too inflexible on part of these girls? I am not exactly crazy about yoga, sentimental movies or Lara Croft (prefer Heather from Silent Hill 3!), but I tried these things at least once. And my girlfriend played Hexen II and sword-fighting arcades and enjoyed them, even though she might not do that every day.

      Another tip for getting the girls' attention is to do this activity as a team with a female software engineer (or any other computer geek chick you can round up).

      Again, why is that so important? I learned cooking exclusively from women, but I never had any concerns that I shouldn't cook, or can not cook well. Maybe it's better to learn to be able to relate to people of opposite gender and appreciate/share their activities. After all, that's more important for life's happiness than programming skills.

    8. Re:Bi- or Dual-Sex Examples by ScottSpeaks! · · Score: 1
      Do you think that's maybe too inflexible on part of these girls?

      So what? The whole point of this is to try to meet these young people "where they live" and show them how software engineering might actually appeal to them, rather than lecturing them pedantically about how their tastes and preferences are incorrect and more close-minded than yours.

  31. Unrealistic by Col.+Bloodnok · · Score: 4, Funny

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

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

  32. Well, here's a few hints... by Anonymous Coward · · Score: 0

    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.

  33. My invaluable contribution by Nine+Tenths+of+The+W · · Score: 2, Funny

    ." 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.

    --
    Slashdot: News for Nerds, Stuff that matters only to them
  34. Towers of Hanoi by arrowman · · Score: 2, Interesting

    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.

  35. Make it applicable to their life NOW by Coderifous · · Score: 2, Funny

    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.

  36. Lego by improfane · · Score: 0

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

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

    --
    Slashdot needs Geekcode | Can anyone recommend any good SCIFI? My tastes: Foundation, Startide Rising, CITY, Ringworld,
  37. be truthful by Anonymous Coward · · Score: 0
    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.

  38. Games by nanodude · · Score: 1

    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 ...

  39. Basic on an Apple IIE by mboom · · Score: 1

    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.

  40. Small Language by Anonymous Coward · · Score: 0

    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.

  41. Hello World! by micromegas · · Score: 1

    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!

  42. What got me hooked... by agraupe · · Score: 1
    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!"

    1. Re:What got me hooked... by ecotax · · Score: 1

      '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.

      --
      "Money is a sign of poverty." - Iain Banks
  43. Fireman! by yotto · · Score: 2, Funny

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

  44. Simulation by Detritus · · Score: 1
    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!!!"?

    --
    Mea navis aericumbens anguillis abundat
  45. It's not what you show, it's how you show it. by Qbertino · · Score: 3, Insightful

    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.

    --
    We suffer more in our imagination than in reality. - Seneca
    1. Re:It's not what you show, it's how you show it. by Anonymous Coward · · Score: 0
      • 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 [note: this could easily be a typo] parts of what you do!
      • which lot have provided suggestions to allready.
      • My 2 cents from a geek who's been a teacher for some time aswell.
      WTF!? You're seriously a teacher? Granted, there are many facets to being a teacher, and it doesn't take perfect grammar or great spelling to make a positive change in a child's life, but shit!

      Your post makes a good argument for homeschooling. I had better command of spelling and grammar when I was in grade school, and the reason for this was that I read a lot. A poorly read teacher isn't desirable.
    2. Re:It's not what you show, it's how you show it. by Anonymous Coward · · Score: 0

      please, please, please...for the love of God, tell me you weren't an English teacher!
      Let's look at part of just one sentence:
      "less concepts of apstraction ... which doesn't mean their to stupid to understand the interessting parts of what you do!"

      okay, here goes: it's "abstraction," not "apstraction."
      where's the comma before "which?"
      "their" is the wrong form. you should have used "they're."
      "to" is the wrong form. you should have used "too."
      and, finally, interesting has only one "s" in it.
      5 glaring errors in 19 words -- wow, that's just amazing.
      on behalf of America's children, please accept my thanks for quitting the education field.

    3. Re:It's not what you show, it's how you show it. by Anonymous Coward · · Score: 0

      [My english is better than most other people's german, so please point out mistakes politely. Thank you.]

      "split" instead of "splitt"
      "abstraction" not "apstraction"
      "interesting" not "interessting"
      "they're" not "their" (in bold)
      "too" not "to" (in bold)
      "already" not "allready".

      You're quite correct though, your English is better than my German. (Aber Sie sind ganz richtig. Ihren Englisch ist besser als mein Deutsch).

    4. Re:It's not what you show, it's how you show it. by Anonymous Coward · · Score: 0

      good LORD did you HAVE to bold the spot with the most mistakes?

      "their to stupid"? apparently you're too stupid to know the difference.

  46. K5 career fair? by Anonymous Coward · · Score: 0
    Let me handle this appropriately:

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

    ~~~

  47. how about a conversation program by truth_is_midway · · Score: 1

    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.

  48. Demo Artificial Intelligence by Mentifex · · Score: 0

    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.

  49. Dynamic webpage by kooganani · · Score: 1

    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.

  50. It's a simple demonstration... by Rick+Zeman · · Score: 1

    Show 'em how to read slashdot!

  51. Mindrover! by VexSky · · Score: 1

    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.

  52. Just some tips by StupidHaiku · · Score: 2, Insightful

    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 :)

  53. easy by roman_mir · · Score: 1

    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.

  54. AppleScript by nigham · · Score: 1

    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!

    --
    I don't want to read /. I want to go home and re-think my life.
  55. Beakman's World by wowbagger · · Score: 5, Insightful
    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....")

    1. Re:Beakman's World by Ramses0 · · Score: 1

      I agree with the parent poster about doing something non-computer related. If you wanted to be more interactive, you might do the standard "make a peanut butter and jelly sandwich" ... (WITH PLASTIC KNIVES, otherwise the retarded teacher-drones will freak out).

      Have little boxes drawn on a piece of poster board labeled box 1, 2, etc), and put the jelly, bread, etc in each of the different boxes.

      Have 2-3 kids writing down instructions, and another take the instructions one at a time and read / execute them.

      If you must involve computers, you might show Guido Van Robot, a python version of classic "karel the robot" that I learned in the beginning of pascal. :^)

      Good luck!

      --Robert

    2. Re:Beakman's World by waffffffle · · Score: 2, Insightful

      Along the same lines, back in college this girl was telling me how she taught computer science concepts to little kids (I forgot what age). She was the computer and her task was to make a peanut butter and jelly sandwich. She stood up in the front of the classroom and took instructions from the students. When they told her to "put the peanut butter on the bread" she picked up the jar of peanut butter and sat it on top of the loaf of bread. She also at one point dunked her hand into the jar of peanut butter I think. This kind of activity seems best if you have an entire class of kids to watch you for a period of time, but if this is a fair then it might not work.

    3. Re:Beakman's World by bigmess · · Score: 1

      Honestly this is a great example. It's abstract enough not to bog down the kids, while at the same time showing the basics of computing.

    4. Re:Beakman's World by eric_n_dfw · · Score: 1

      Unfortunately, many schools won't let you bring peanut-anything in due to possible peanut alergys. I'd check with the school nurse/office beforehand. (no I'm not kidding - my son's preschool has a blanket ban on it)

    5. Re:Beakman's World by bvk · · Score: 1

      Actually, I'm scheduled to do a demo just like this on Friday for my son's 2nd-grade class. Except I'm using bagels, cream cheese, and jelly (due to a no-peanuts policy in the school because of allergy issues).
      I thought I was bright in coming up with this myself, but maybe I read about it somewhere long ago and just forgot.
      I think it should be quite a bit of fun. Kids find it funny when adults do goofy things, and this way they get to be in control, too. It should get across the idea of just how specific you need to be in programming, and will introduce the concepts of testing and debugging, too. It makes clear that you have to spend quite a bit of time on your program, but once you do, you can run it over and over again. And at the end, they can eat the "output".

      I'm also going to bring in some old CPUs with the top lifted so you can see the actual chip inside, and some old hard drives in varying sizes to show how they work and how the information is getting more and more dense. Most kids like to see the guts of stuff, and hands-on is a lot more fun than just pictures or lecturing.

  56. what u do by Anonymous Coward · · Score: 0

    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.

  57. Mecca for geeks by AverageMidget · · Score: 1

    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*

  58. Squeak is *built* for this. by Cerebus · · Score: 1

    http://www.squeakland.org
    http://www.squeak.org

    --
    -- Cerebus
  59. They know what a computer is... by tomhath · · Score: 2, Insightful
    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.

  60. Bring a pillow ... by ElDuderino44137 · · Score: 1

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

  61. TPS reports by ogonek · · Score: 1

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

  62. Simple Paper Turing Machine by DrJimbo · · Score: 5, Interesting

    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.

    --
    We don't see the world as it is, we see it as we are.
    -- Anais Nin
    1. Re:Simple Paper Turing Machine by Al+Dimond · · Score: 1

      An instruction set like move backward and forward so many squares...

      For some reason, this reminds me of Brainfuck.

      Brainfuck would probably not be the best teaching example for young'uns.

    2. Re:Simple Paper Turing Machine by haagmm · · Score: 0

      This came up a few years ago in My Computer Science Theory Course. Programing in Brainfuck is quite similar to programing on a Turing Machine because Brainfuck was Designed to be as small as possible yet be Turing Complete. So since a Turing Machine is the BASIS for Turing Completeness, it is the simplist incarnation thereof.

  63. Agreed by gr8_phk · · Score: 2, Insightful

    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.

  64. Do to them? by Wolfbone · · Score: 1

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

    Reprogram them.

  65. Here's my list by NitsujTPU · · Score: 1

    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.

  66. JASON Project by Liquid-Gecka · · Score: 3, Interesting

    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.

  67. This is what got me hooked.. by Anonymous Coward · · Score: 0
    Pseudo code along the lines of:
    loop start
    getline
    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.

  68. Sick bastard by bungley · · Score: 3, Funny

    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.

    1. Re:Sick bastard by Forbman · · Score: 1

      So, what exactly...do you do?

      I take the design specifications from the customer and give them to the engineers. You don't want the customers talking to the engineers. I have people skills!

    2. Re:Sick bastard by zerOnIne · · Score: 1

      So then, go do something else with your life! There are at least 3.14 bazillion job descriptions in the world. Go try another one.

      --
      09
  69. Show them Squeak! by Nagus · · Score: 2, Informative

    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!
  70. Teach Them To Count In Binary by Ginnungagap42 · · Score: 1

    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.

  71. Jobsless/Homeless Techheads by OSXexpert · · Score: 1

    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.

    --
    --- Old Time NeXThead
  72. StarLogo: agent-based and looks COOL. by gyg · · Score: 2, Informative

    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.

  73. Mindstorm by alder · · Score: 2, Interesting

    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 ;-)

  74. Lego Mindstorms by 2nesser · · Score: 1

    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).

    Cheers,
    Chris

  75. Don't use 1980s metaphors by Anonymous Coward · · Score: 1, Insightful

    - 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!

    1. Re:Don't use 1980s metaphors by John+Miles · · Score: 1

      Are there any Software Engineers out there that use BASIC

      Yep, a vast proportion of corporate applications are still written in (Visual) BASIC.

      BASIC will not die until Bill Gates does.

      --
      Dahlmann tightly grips the knife, which he may have no idea how to use, and steps out into the plain.
  76. Modify a popular web page by cwalck · · Score: 1

    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.

  77. Demonstrate computer logic by meckardt · · Score: 2, Interesting

    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.

  78. You can't be a software engineer by Anonymous Coward · · Score: 0

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

  79. For the past few years... by mrsbrisby · · Score: 4, Insightful

    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.

    1. Re:For the past few years... by Scorchio · · Score: 1

      smash open the hard drive and toss the platters around

      If you're planning this, make sure you know a quick way of smashing that particular drive. I tried smashing an old broken drive in a moment of tin-foil-hat-wearing privacy fear. Ten minutes later, a screwdriver, claw hammer and concrete patio left me with an intact, although somewhat dented drive. This kind of display, while reasonably accurate, would not provide a good impression of a software engineer's life.

  80. Are you a SW Engineer or a Developer??? by losman · · Score: 2, Informative

    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
  81. I would highly recommend recommending Python by SnowCrashed · · Score: 1

    I remember back when my elementary school had a job fair (I'm currently a senior in High School, so this wasn't too awfully long ago). There was a programmer that attended it, however, he really didn't do things in a child friendly manner. He showed us examples in Visual Basic, a "paint" type program if I remember correctly. While I was already interested in computers, I don't his presentation really drew in many others. If I were you, I would start by showing them simple games, and I would highly recommend Python as a language for them to start with. It's syntax is so clean and readable that it should be something that they have a good chance of being able to pick up on if they have an interest. I would highly recommend the book "Python Programming for the Absolute Beginner" as a starting point. For anyone with experience, it is a nice brisk read that will get you up to speed, and for the beginner it covers damn near everything you would want to know. Also, the majority of the author's examples in the book are games, which helps with motivation. While the majority of this book is command line apps/games, it does go into TKinter and PyGame in the later chapters.

  82. Show them they can be in control by vrimj · · Score: 2, Insightful

    Kids get computers, they use them from a young age. They might not know the details, but they don't know the details on how the dishwasher works either.
    What you bring to the table is something else. Programming opens up the possiblity of control, something that kids don't get much of.
    I think your on the right track, show them that they can make the computer do what they want. This is what made programming compelling to me as a child.
    As to how, I know it is not as powerful as some other choices, but have you considered just using HTML? I know it isn't a programming language in the strictest sense, but it doesn't take much to show the basics and it is both usable and useful. It would not convey much programming, but it would convey the basic idea, computers obey coded commands that you give in a special way.

    1. Re:Show them they can be in control by Doctor+O · · Score: 1
      As to how, I know it is not as powerful as some other choices, but have you considered just using HTML? I know it isn't a programming language in the strictest sense

      While I agree with your post, I have to point out that HTML is no programming language at all, not even in the loosest sense. No loops, no conditionals (if, while...), no way of storing values, let alone compute them. HTML describes the structure of a document, nothing more, nothing less.

      (To be fair, this is mistaken all the time, I even had a question that said 'which of these is a programming language' with the possibilities a) RAM b) EPROM c) FIFO d) HTML in my final exams. Pointing out that none of the options were correct, I was told 'check the one that's the least wrong'. Duh.)
      --
      Who is General Failure and why is he reading my hard disk?
  83. Go Go Bad Games!!! by Anonymous Coward · · Score: 0

    I have to go with the basic game idea from up there. One easy game idea might just be an old turn based fighting engine from a game like Final Fantasy 1 (before the time meters appeared). Pretty basic, the kids would see it's a video game at least.

  84. Video Games by nurd68 · · Score: 1

    That's what got me into computers.

    Show them TuxRacer or something, and explain that it was made by a bunch of people like you.

  85. Hands On Activities. by coyforce · · Score: 1

    Last week I went to one of these job fairs here at a local school. I thought that I would have a pretty good booth because I went in uniform with a lot of really cool tools (Air Force Meterologist), but all they cared about is what they could touch. I had some really cool videos and .avi clips hooked up via laptop and projector, but that was almost more trouble than it was worth.

    You will have a hard time with the kids because here they let about 30 kids in the room at a time with very short attention spans. For your booth, it would seem that you should be one on one to really explain your job.

    On another note, I found that the 3rd graders were interested for about 20 seconds and the 5th graders were too busy trying to impress each other. The 4th graders were the best group.

    Good Luck!

  86. Simple. by Anonymous Coward · · Score: 1, Insightful
    1) Teach them to learn the local employment laws so they know how many weeks they have to work to be eligible for unemployment benefits (only works in civilized countries)


    2) Teach them how the local unemployment system works, do they need to call in, fill in a card, what?


    3) Teach them about the cult, err universities, that will suck the money right out of their pockets with a vacuum cleaner, in exchange for reading 150$ textbooks with a disgruntled professor.


    4) Teach them that about 90% of what they paid to learn in the cult will be a) useless, b) forgotten in two years as all you can get are entry-level jobs so when you *do* get a good job, you have to learn over again at your own expense anyways.


    5) Teach them that working in a field that involves cheap commodities like computers and software and is saturated with cults and people, will mean they have to compete every day for the rest of their lives to fight for crumbs.


    6) Teach them to interpret HR "requirements" like "5 years experience for 1 year old software": it means HR lives on Mercury, where the year is 88 Earth days.


    7) Teach them how to make a CV that's full of lies that can't be contradicted (because everyone else does, because of #6 and #5).


    8) Teach them how to suck up in interviews, and how to handle the pseudo-scientific clap-trap like graphology and personality tests that pervade the HR field.


    9) Teach them to leave computers at home and get a real job, like starting their own business.

  87. Think games or simple devices by Anonymous Coward · · Score: 0

    Hi,

    I've done this twice for my daughter's classes. One thing to remember is they are kids just learning basic math and science, so logo or general programming doesn't go over well.

    Instead, tell them that you write instructions to the computer to make it do things. For the K-2 group, pretend to be a robot and have the kids tell you how to walk across the room and pick up a book. Tell them you only have a few instructions like 'lift up left foot' , 'put down left foot', 'bend over' etc. It was a great amount of fun having the kids trying to tell you how to walk. When what they asked didn't make sense, answer "I don't understand that"

    For the other kids, talk more about how something like a video game controller works. Not to the electricity level, more about how 'X' and 'A' together are commands to jump etc.

    Good luck and have fun.

    Chris

  88. Horses by AtomicSnarl · · Score: 1

    One of the first programs I learned and understood was an Apple ][ basic program called Horses. The horses were shape tables with assigned colors to various parts (body, head, legs), and the shapes were set to move about the screen using a simple edge reflection algorithm -- the bouncing ball sort of thing.

    Try setting up a simple Visual Basic (insert preferred demo language flames here) program for this, using small animal icons for actors.

    First, one critter moving x-axis. Then add a line for y-axis. (You can change things!)
    Discussion - bounce speed/distance; change demo code (Need for learning Math)
    Discussion - random angle; introduce x/y modifieres (Computer can do what you tell it)
    Discussion - icon displays; change critter (Behold the Power of Coding! Muwhahaha...)
    Discussion - multiple actors; add critters (Shows code modularity and reuse)
    Question - What would you like to see the animals do? Discuss and code.

    Fish, meet hook.

    --
    Pacifist paratroopers yell, "Ghandi!" when they jump.
  89. Suggestions... by chris_eineke · · Score: 2, Insightful

    I have seen other slashdotters making the suggestion to bring a robot arm and then letting the kids interact with that arm using a programming language (i.e. LOGO-based).

    I don't think that this will make the right impression on kids. Robotics is only one of several interesting hardware/software/compsci fields, but are you using a robot arm on your job every day? Though so...

    (If you do, let me know. I for one welcome our robot-arm wielding software overlords!)

    Don't get me wrong; I'm not saying you should pull up vim and code in C! Rather something with a nice "whoa! factor" that is still applicable to your job?

    Bring a couple of devices, an iPod, a serial adapter, a mouse, and have a couple of demos ready. Explain how MP3s work. Something tangible is much more interesting!

    I guess what I'm trying to say is that you shouldn't give the kids a wrong impression about your work. Be honest. Those little buggers know when you are lying to them.

    --
    "All you have to do is be fragile and grateful. So stay the underdog." Chuck Palahniuk, Choke
  90. What you Want is Say "Hello, [insert child's name] by WebHostingGuy · · Score: 1
    You don't have to be complex. What you want to do is show them how to print Hello.

    Make a simple program which does this:

    Child types in name

    Computer says "Hello Emily, How are you?

    Child types Fine

    Compter says "What is your favorite subject?"

    Child selects from list

    Computer prints/shows picture of subject with text over it saying "Emily loves Math"

    Don't underestimate this simple solution. What you want to show the kids is what you do on their level. They will never be able to understand complex algorithms and the reason why you use C over Perl over ASP.NET. But if you show them something which uses their name and interacts with them they will love it. You can then explain you make these sorts of things at your work.

    --
    Quality Hosting e3 Servers
  91. You don't need to show them what you do by varmittang · · Score: 1

    You can show them what a software engineer can do. I would show them some code, then show them a game and say that that code made that game. Try to associate something kids know already with what you do, and I think games is the way to do it.

    --
    -----BEGIN PGP SIGNATURE-----
    12345
    -----END PGP SIGNATURE-----
  92. Karel the Robot by argent · · Score: 1

    Get a copy of Karel the Robot or some similar programmable robot package.

  93. Where would they get BASIC? by Chemisor · · Score: 1

    Back in the days of DOS, everyone had qbasic on the machine. These days qbasic is no longer included with Windows, although there used to be some dostools (?) package you could get with all the old stuff. So where would kids get any programming tool on their computer? No basic, and, hell, even no 'debug'! (remember that? :) Looks like the next generation is not expected to program anything. Perhaps we could petition Microsoft to start shipping some type of compiler/interpreter with Windows?

    1. Re:Where would they get BASIC? by andalay · · Score: 1

      Or use _any_ distribution of linux and get a whole suite for free.

    2. Re:Where would they get BASIC? by Gilgaron · · Score: 1

      I don't know about elementary schools, but in high school when we started learning to use graphing calculators, we used TI models that have BASIC for writing your own programs. It was easy enough for me to teach myself, and many of my friends also benefitted from a much more streamlined way of going about doing classwork.

      I know they made an attachment that sat on an overhead projector to display the calculator's screen, so that might be useful for demonstrating programming, too. If the elementary doesn't have any, perhaps the local high school does.

  94. Progammability by ecotax · · Score: 1

    I would focus on explaining them what programmability is. Lego Mindstorms has already been mentioned and is indeed a very nice way of demonstrating this. A somewhat simpler idea, maybe more suitable for younger kids, is using a programmable car. My kids had one a few years ago, it was called a "Turbo Z RoughRider" (sorry, couldn't find a better link). It had some buttons on top you could use to enter a simple program, like 'fast forward, fast forward, turn right, turn right, turn on lights, backward, stop" and then run that. Much more fun than a car with a remote control, if you like programming, and a very good way to demonstrate what it means for a thing to be programmable.

    --
    "Money is a sign of poverty." - Iain Banks
  95. Guido van Robot by webmaven · · Score: 1

    Guido van Robot is a kid-friendly procedural programming environment written in Python. It is partly written by students for students, and features a grid-like world with a 'robot' icon (a triangle that has the letter 'G' in it) that can move around, walls, and 'beepers' that can be picked up or dropped.

    Interestingly enough, this setup is actually Turing-complete.

    --
    The real Webmaven is user ID 27463. I don't rate an imposter, because my ID is such a lame-ass high number.
  96. last refuge of the honest by 10am-bedtime · · Score: 1

    tell them that your job is the last refuge for the honest, in today's world full of deception and corruption, that writing programs is the oasis of sanity in a world gone bad. the computer (and the computer programs you write):

    • cannot be lied to
    • will not lie to you (unless you add that capability)
    • make plain your mistakes (unless you choose not to see)

    tell them what you do can be applied to how you do it. as you write programs (and fail to write programs), you can improve your craft and (given a certain approach and a little luck), you can write programs to improve your craft. this is like "go go gadget grow" for your soul.

    tell them no other job has this potential.

  97. It's not all programming by Derkec · · Score: 1

    Typing on a computer isn't all that exciting and isn't all we do. I would tell them that you first spend time talking to people who need their computer to help them with their jobs. Then you need to draw pictures, like a brick and mortar architect, to plan your program. The you need to give the computer lots of simple instructions to build what you drew.

    If you're going to have some code with you, you could make it something interpretted and graphical. If you're a java guy, beanshell might be the way to go.

    Still, I would put make sure to acknowledge that most software guys don't spend 8 (10) hours a day in front of a computer hacking away. Most of us work in teams were talking to one another is an important aspect of what we do.

  98. Now, now ... by ggvaidya · · Score: 5, Funny

    They won't *all* end up EA employees ...

  99. A Classic Game (easy to understand) by Prien715 · · Score: 4, Interesting

    When I was little, I remember my first program was the old guess a number game. You know, the computer picks a number between 1 and 100 and you try to guess it. (It tells you higher or lower). I remember actually being able to understand it and thus this is may be appropriate for younger audiences. If you'd like to modify the program, you can change the bounds (from guess between 1 and 100 to guess between 1 and 1000). I also think you could write this in 10-20 lines of code (very very short!)

    Lastly, you could discuss the strategy of the game and how to win the most quickly (ask the question "Using this strategy how many turns would it take at most to win?"). You can call the strategy an "algorithm" and you've taught them more CS than they'll learn for the next 5 years.

    --
    -- Political fascism requires a Fuhrer.
    1. Re:A Classic Game (easy to understand) by anatoxindustx · · Score: 1

      I remember way back when I was learning Basic I created a russian roulette game. You have a six shooter. How many bullets do you want in the gun? Bam you are dead or Yeah, you live. Do you want to play again? That was a fun game.

    2. Re:A Classic Game (easy to understand) by Sam+Nitzberg · · Score: 1

      The game is called NIM. You can do a quick google:

      http://www.google.com/search?hl=en&lr=&q=nim+gam e+ in+BASIC

      I'm also pretty sure that you can pretty quickly turn up source code.

      Also, if I remember, the optimal strategy (or play characteristics) are well-defined recursively. You can also present the notion of a seemingly simple problem having a precise mathematical-solution.

      You might even like to go with Towers of hanoi, a code example, and a mention of recursion. The kids will not have seen recursion before - but - a few might latch onto the notion, and want to learn more about the math.

  100. Karel the Robot by Troy · · Score: 1

    I have to make a major plug for Karel the Robot, which is the software package I use to teach logical thinking and basic OO design to my intro students. Karel is highly graphical, object oriented and (more or less...mostly less) language agnostic. I'm not sure what language you'd use, but there is a VERY easy to learn Java Karel library here.

    In fact, I have an idea for your presentation. As part of my unit on looping and recursion, I've written a set of classes that generates a maze that Karel has to traverse. You could use that, write a little program to have Karel find his way through the maze. You can them show them graphically how the maze is generated and how the robot works its way through the maze, finally showing them the code. If you're is interested in doing something like this, reply here and I'll post the code to my website.

    -Troy

  101. Will Code for Food? by stevew · · Score: 1

    Just get a sign and hang it around your neck.

    "Will Code for Food - my job went to Bangalore!" ;-)

    --
    Have you compiled your kernel today??
  102. Demo for a K-5 Career Fair by Jazmarz · · Score: 2, Informative

    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".

    1. Re:Demo for a K-5 Career Fair by Anonymous Coward · · Score: 0

      This Canadian site of Adventures in Science and Technology - Computer Science has three write-ups (an easy-to-read intro on compsci, a blurb about artificial intelligence with a link to an online ELIZA-type AI pyscho-proggie, and a nice inspirational entitled: "James Gosling, Computer Programmer"). Plus, there's some ideas for projects (Beware, the site loads fairly slowly).

    2. Re:Demo for a K-5 Career Fair by Anonymous Coward · · Score: 0

      Oops, the URL http://collections.ic.gc.ca/science/english/compsc i/index.html is http://collections.ic.gc.ca/science/english/compsc i/index.html

  103. Robotics by SwedishChef · · Score: 1

    The Lego robots are incredibly useful for demonstrating how programs are written so if you can get a few take them along. Kids can take turns programming the robots to do simple tasks and then they can all watch the results.

    --
    No one ever had to evacuate a city because the solar panels broke!
  104. US Dept. Labor Occupational Outlook by qwasty · · Score: 1

    http://www.bls.gov/oco/ocos267.htm

    As many of the people who read slashdot know, the software industry in the USA (and I'm guessing Europe too) has suffered from ousourcing. I've read the US Department of Labor's Occupational outlook handbook for it, and one thing I've noticed is that it's always written in a dry, politically neutral style, which leaves the MEANING of the information up for interpretation by the (hopefully skeptical) reader. If you don't read between the lines, you'll not get an accurate picture of a career field from the handbook. I recommend actually talking to both happy people and disgruntled people in a career field before deciding whether it's what you want. That said, read on for info on software engineering from the handbook:

    Computer software engineers are projected to be one of the fastest growing occupations over the 2002-12 period.

    Computer software engineers held about 675,000 jobs in 2002. About 394,000 were computer applications software engineers, and about 281,000 were computer systems software engineers.

    What they don't say is how many of those jobs are held by Americans, in the USA. IIRC, those figures come from employers, and so if an American company hires 500 software engineers, but they're all from India, the USA government will still proudly announce the addition of 500 new jobs to the US economy, when in fact, those jobs are actually overseas, and they're actually hurting the USA economy by removing money from it. Welcome to the world of political spin, and half-truths.

    An increasing number of computer software engineers are employed on a temporary or contract basis, with many being self-employed, working independently as consultants.

    What they don't say is how many of those jobs will remain in the country that created them.

    As many of the people reading this will probably already know, in the software industry, "consultant" or "self-employed" typically means "unemployed" or "underemployed". Companies iin the USA aren't willing to hire permanent employees, so the easiest way to get at least SOME work, is to be an independent contractor or consultant that can be easily dumped when you've worked yourself out of a job. Of course, it's not always like that, but it's like that often enough to make people think "unemployed" when someone says "I'm a consultant" at social gatherings.

    Also note that those who the government considers self-employed are counted as employed, even if they haven't earned a check in a year, and unemployed people who NEVER find a job in their field are counted as employed as soon as they're no longer eligible for unemployment benefits.

    Job growth will not be as rapid as during the previous decade however, as the software industry begins to mature and as routine software engineering work is increasingly outsourced overseas.

    As with other information technology jobs, employment growth of computer software engineers may be tempered somewhat by an increase in contracting out of software development abroad. Firms may look to cut costs by shifting operations to foreign countries with highly educated workers who have strong technical skills.

    The truth comes out, at least a little. Remember, these are bureacrats and politicians writing this, so when they use words like "tempered", what they mean is "holy crap, this is important, read this section twice!". You should probably also take a look at Tomorrow's Jobs to get an overview of the entire USA economy. Notice that even though the USA has been in it's worst economic condition since the 1980's, everything is rosy in nearly every sector, according to the goverment.

    I'm not a software engineer, and I could be biased in some ways, so here's a little about me. I work in manufacturing, which has been suffering longer than any other sector from outsourcing. The only sector that's decli

  105. Three words... by aggressivepedestrian · · Score: 1

    Grand Theft Auto

  106. Nucleur power station control software by zenst · · Score: 1

    Show the kids a nucleur power station's control software in action. Has loads of prety lights and colours and the kids just love playing with all the control's, levers and switch's. Garanteed to be a blast. :D

  107. Why not by randalware · · Score: 1



    Legos !

    The programmable Lego kits are kid magnets.

    I.E. "toys"

    Have something that runs around avoid edges while searching
    for a loose block. Anything mildly interesting with a a bit
    of logic.

    Have the program printed out (big letters) and a few xerox
    copies. (show support for open source)
    Include build instructions & equipment list with supplies.

    A computer with the IDE for a visual demo would be a plus.

    --
    This is my opinion based on what little I know and understand of the rumors and lies Thanks, Randal
  108. Make the math fun and interesting by ddewey · · Score: 2, Funny
    Although the code is reasonably simple, it is very mathematical, and that is not something modern children can understand.

    Modern children can understand math quite well, they just need to be shown how fun and interesting it can be. I think this could be a great opportunity to do just that. Generate a fractal such as the Mandelbrot Set where a very simple mathematical formula produces beautiful images. Kids could experiment with zooming in to find interesting regions of the set. More advanced kids could try changing the formula slightly to produce new interesting fractals (for example, z=z^3+c instead of z=z^2+c).

    To make the code simpler and more clear to beginners you would probably want to use a programming language that supports complex variables and has simple graphing commands.

  109. Talk to them about video games! by SaXisT4LiF · · Score: 1

    While I was studying Math in college, one of my old high school teachers asked me to give a guest lecture to help encourage her students to continue their education. I was interested in computer graphics at the time, so I brought in my laptop and showed them a simple video game I had been toying with. It was a great success. I captivated their interest pretty quickly by bringing in something they normally associate with "play" rather than "school", and they had plenty of questions for me. The laptop was great because it provides an interactive visual aid, although I'd suggest bringing a joystick if you plan on having them play. That way you can have the computer in front of you at all times. Some topics could discuss which could be tailored for K-5:
    *Math
    *Physics
    *Logic
    *Art
    *Engineering

    --
    Fight or flight its all the same
    Live to die another day

    --Ryan
  110. Autopilot by vikingpower · · Score: 1

    Here is an idea: I was once asked to do the same thing for 1st-year high-schoolers, in France, i.e. kids of about 12 or 13 years old. I then worked on the central calculator of a not-to-be-named airplane, written in some Object-Oriented language. Boring to death, no ?

    Until I got the idea: I had a friend create a simple graphical demo of the plane in full flight, with a few clickable parts ( cockpit open/close, gear down/up etc. ), running in one of two halves of a split screen. In the other half I had the ( heavily modified ) source code of the cockpit-opener etc. etc. scrolling along. The kid would get a warning while e.g. attempting to put the landing gear in "down" position at a non-landing speed etc. etc.

    They loved it.

    The only problem I had was this: they went on and on asking about games. Most kids thought that software engineering is about coding games. When I told them the contrary, all but one boy and one girl remained interested, the girl asking some fairly intelligent questions for her level, like "If you modify this line of code, does it still run ? How do you know ?" etc. etc.

    I went home with a good feeling, that day.

    --
    Religous speak to God. Insane are spoken to by God. When all shut up, one can finally hear Shostakovich in peace
    1. Re:Autopilot by andreyw · · Score: 1

      Could you just clarify your last paragraph? Did you mean that all but one girl and boy became uninterested, OR that everyone BUT the two students became uninterested? I'm confused because you follow that sentence with the phrase "...girl asking some fairly intelligent questions..." - so the girl was interested then?

    2. Re:Autopilot by vikingpower · · Score: 1

      Sorry. The "all but..." can be confusing for non-native English speakers, I would have done better not to use that paradigm.

      What I meant was, of course: all became uninterested, EXCEPT one boy and one girl. And yes, it was her asking the questions.

      There.

      --
      Religous speak to God. Insane are spoken to by God. When all shut up, one can finally hear Shostakovich in peace
  111. Tell them to stay away! by Anonymous Coward · · Score: 0

    Do them and us a favor and tell them not to go into software engineering. There is no future in it for them, and if any more people try to go into it there will be no future in it for the rest of us either.

  112. from your target audience by TLouden · · Score: 1

    I got into SE at the end of grade school/begining of middle school. I kind of hate to say it but games are going to be one of the most interesting things that you can show them. That's why I went into the field, though not why I stayed. There is also a free game where the players use java to program virtual robots for combat. I can't remember the name but somebody else might find it and post a link. If you had some prebuilt robots for the kid where they could change them slightly with your help that might get them interested.

    --
    -Tim Louden
    1. Re:from your target audience by ebonyaltair · · Score: 1

      You might look into the Lego Mindstorms. They are programmable using a graphical interface (drag'n'drop, I think), and are aimed at kids.

      The official Lego website.

    2. Re:from your target audience by TLouden · · Score: 1

      O yea, those are fun too. Great for all ages and the school can even create a team for a NASA sponsored FIRST Lego League.

      --
      -Tim Louden
  113. CeeBot: Have fun programming by Sartian · · Score: 1

    I recently bought a copy of CeeBot http://www.ceebot.com/ceebot/index-e.php for my nephew and it was very very cool. You write code that is very java-like that control an on-screen robot. The product has a great interface and is a great way to introduce kids to programming while keeping their interest with the nice 3D graphics.

    You can also download the demo which is probably fine for the purposes you want it for.

    Great product, great for kids. I myself started out programming on the C64 and loved that I knew intimately how the machine worked. Unfortunately, its hard to provide a similar experience now-a-days and I looked around for a long time for something like CeeBot that would provide similar magic to my first experience with computers.

    Another cool product is MindRover (another robot programming game) but it gets pretty complicated pretty quickly.

    Good luck!

    -Michael

  114. Infinite LEGO bricks by Peter+La+Casse · · Score: 1
    An analogy to programming that really grabbed my attention when I was young and mushy-minded was this: programming is like building something out of LEGO bricks, but you never run out of the pieces that you need.

    A visual illustration might be to have a small number of LEGO bricks in a box (but not enough to build much), and then a screen displaying a basic program of some kind that lets you show how easy it is to make new variables or something.

    Having the basic program actually do something useful would be good, I think. "Hello world" only goes so far; showing how a computer program can do arithmetic (which elementary school age kids can relate to) might be interesting enough to get their attention.

    Choosing a programming language to demonstrate that is accessible to the kids to download and play with at home would be nice too. Insert (Python) programming (Python) language (Python) advocacy (Python) here (Python).

  115. Fight Invisibility by Coppit · · Score: 4, Informative
    Software is pretty invisible. The trick is to get across the idea of molding a program, without boring them with for loops and batch-oriented demos.

    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.

  116. Squeak! by krasni_bor · · Score: 2, Informative
  117. Why not What by Darth_Burrito · · Score: 1

    All of the comments seem to be advocating showing the kids what you do. Instead of boring them with technical details or demonstrations they can't understand, why not focus on why you do what you do.

    For example, one driving motivator for a lot of people is this notion that they are building something that benefits a large number of people.

    Kids, have any of you ever built a castle out of legos or a boat using capsella blocks? It's pretty fun isn't it? Ever show what you made to your friends or parents? Did they like it?

    Software development is a little bit like that. We build things, complicated things, things that can help people. Sometimes the things we build are used by hundreds of people where we work. Sometimes they are used all over the world.

    There's a man living half way around the world in Hong Kong. His name is Alan Knowles. I've never met him before, but he built a piece of software that I use everyday.

    What is it, what did Alan build? He built a program that helps other people build better programs. You might say he built a new, better kind of lego.

    Thousands of people all over the world use and enjoy the program Alan built. They use his program to build even more programs that benefit hundreds or thousands of people. If Alan's program is used by a thousand software developers, and each of them uses it to create a program that is used by a thousand people, then Alan's program benefits a million people. That's more people than live in (insert localization).

    Imagine if the castle you built out of legos could be enjoyed by so many.

  118. LEGO Mindstorm by Anonymous Coward · · Score: 0

    I've never used LEGO Mindstorm myself, but my roommate last year had to use it for an engineering project.

    Write some nice and simple for it (with functions like TurnLeft() and GoFaster()) and let the kids play around with that stuff.

  119. knoppix games by spaceman375 · · Score: 1
    Give them something useful to take home so they can delve deeper into whatever inspired them. A knoppix games CD is perfect - they'll be able to experiment and muck it up all they want without worrying about hurting their parent's computer. There's still plenty of programming tools on the cd for a kid to play with. Or check out the other education and k-12 oriented live cds on the live cd list http://www.frozentech.com/content/livecd.php?showo nly=&sort=Purpose

    We don't need no stinking sig

    --
    On the one hand you take life too seriously, and on the other, you do not take playful existence seriously enough. Seth
  120. Demo Squeak by Anonymous Coward · · Score: 0

    If you want to convince kids that computers can be fun, and show them a little programming. Download Squeak (http://www.squeak.org/). It is a Smalltalk environment geared towards kids. You don't have to know any Smalltalk to use it.

    One of the fun things that you can do is draw a car with their paint program, move it as an object with the mouse, and change its settings so that it drives by itself. Very fun environment for kids. I'll actually be using it in a K-5 demo next month.

  121. Don't forget by Anonymous Coward · · Score: 1

    Constantly intimidate them and lower their morale by saying that their jobs may be going to India or China.

  122. Lego Mindstorms? by debuglife · · Score: 1

    Maybe program a Lego Mindstorms RCX brick and have kids program it...and watch it do cool things.

    Getting an Mindstorms set shouldn't be a problem. Why, even a local toy store that stocks it should we willing to loan you one. Your stall might just trigger a few purchases.

    Plus, you are sure to have a lot of fun yourself.

  123. Games and things they know. by Mortamer2k · · Score: 1

    I would say show them stuff that they already use. Not sure how in depth it would have to be but you could talk about game creation for example, or mention something like peercasting. Say how they could be the "god" of the game and create their own monsters and even have their own online tv station and be famous.

  124. The Robot Chef by sam_van · · Score: 1
    A couple of years ago, a computer engineering buddy and I were asked to do a career day demo for a bunch of elementary school students. Besides telling them a little bit about what we did designing chips, we did a great and very well-received programming demo.

    We broke the class out into groups of 4 or 5 students and had them each write a "program" on paper for a robot (me) to make a peanut butter and jelly sandwich. My partner read me each of the sets of instructions, resulting in peanut butter on my head, bread-jar-bread sandwiches, etc. The kids were howling, and in the end we collectively wrote a more successful sandwich program.

    We got great feedback from teachers and students, as well as some very insightful questions from the kids.

    And it was fun spreading myself with PB&J!

    --
    Thinking of starting a business in Minnesota? Me too! mnsmall.biz
  125. Do your best imitation of... by Anonymous Coward · · Score: 0

    ...being "offshored".

  126. Processing by dnixon112 · · Score: 1

    Processing is a great way to learn how to code. It is java IDE, but designed for graphically oriented people who are learning how to program. The gui is very simple and to compile a display is very easy. Check it out, it's designed for people to learn how to program with.

  127. Don't do what I did by swinefc · · Score: 1

    Just make sure you encourage them. A friend's son (11ish) was interested in how to program games. Thinking along the same lines I wanted to keep his interest, but messed up by wanting to present a true to life view. So, I told him about teams and specializations. I told him that for a game like Doom3 there are many many people and it takes years to create.

    He wasn't crying when we were done, but I think basket weaving was a more attractive career choice.

  128. One word by RattRigg · · Score: 1

    Mindstorm

    --
    I started with nothing and I still have most of it.
  129. TurtleJava by David+Horn · · Score: 1

    My first year programming professor (Peter Millican) wrote this program to introduce us to Java (and those who had never programmed before to programming).

    http://www.comp.leeds.ac.uk/se15/TurtleJava/turt le java.htm

    The advantage of using Turtle is that you can actually see what's happening. ie, forward(20), blot, etc.

    It's simple, easy to illustrate, and you can do some cool things with recursion. If you download it, go to the help menu and choose some of the code examples.

    I think primary school kids would be bored rigid with a "Hello World" program. With this, they can draw faces and see the computer actually "doing something."

    --
    PocketGamer.org - For the gamer on the go!
  130. Are you not entertained? by crlove · · Score: 1

    I just don't think kids will understand/care too much about how software is written. Just tell them you write software. Tell them software includes the programs they do homework with and games. Then rip open a computer and let them see the inside. You know their parents aren't letting them do that at home.

  131. Build a 3D environment interactively by wurp · · Score: 1
    You can build a 3D environment interactively in Squeak, then program it to do stuff. This takes all of maybe 10 or 20 minutes, once you get the hang of it, and it shouldn't take you more than an hour at home to get the hang of it.

    See the Wonderland 3D Fishbowl Tutorial for Squeak. You really owe it to yourself.

    I should point out that I had an issue with an exception when I tried to "pop" the 2D fish I drew into a 3D shape. If you have the same issue, I can send you the solution upon request. If I remember correctly, someone forgot to "^ self" at the end of one of their methods in a recent code update. Email me at bobbymartin2@NgOmSaPiAlM.com (extract the upper case letters to get a valid email address).

  132. Cool Hack Tricks by HooliganIntellectual · · Score: 0

    Hack into Lizzy McGuire's bank account. Not only would that help you relate to the young ones, but it would get the girls interested in programming.

  133. Grab Their Attention and Imagination by Anonymous Coward · · Score: 0

    I guarantee that if you show up with a talking doll or moving toy or two, and show them how to break into them and change the programming to do other cool stuff, you'll have them hooked.

  134. show how to make a video game by peter303 · · Score: 1

    Don't go into coding, but how you design the elements, the action sequences, etc. Then tell them how you have fit these into the *limits* of a computer. Then show them how other [ interactive ] applications, e.g. a text-editor- resemble video games. Kids relate to video games.

  135. Computer Science Unplugged by jkhuggins · · Score: 1

    Get a copy of Computer Science Unplugged:

    http://unplugged.canterbury.ac.nz/

    It's a great book which takes modern CS concepts and translates them into activities for young people.

    --
    Jim Huggins, Kettering University, Flint, MI
  136. software engineering as it is today by DuctTape · · Score: 1
    Have them sit around while you tell them you want something that does, um, something, but you're not going to tell them what it is. Have them work on it for three months. Then tell the kids it's not what you wanted at all. You wanted it in mauve. They don't know what mauve is? Tough noogies.

    Then tell them that if they were real software engineers, they'd be able to figure out what you want through osmosis. Berate them, and give them only a token bonus at the year-end review (no raise).

    Then bring in a contractor that the boss likes. The contractor stays late after everybody but the boss goes home. Then the boss tells the contractor what he wants done differently. Then when everybody comes back the next day, all the code's been changed by the contractor, and there's no documentation except for the smug contractor that tells you that the boss came in late and wanted things changed.

    Then the next thing you know, the contractor is the kids' project manager. Oh, did I forget to mention that he doesn't speak English very well? And that a month later he goes back home to India. Along with the project knowledge that the boss has been giving him. Berate the kids again since they haven't been keeping up with the code changes.

    Make sure somewhere in here that you choose one of the kids that doesn't know very much to be in charge of the design, and if one of the other kids has a better idea, ignore it. Better yet, say that their design isn't like the original design, so they can't do it.

    Then refuse to release the product because it's not good enough yet. Make the kids put in every change suggested by potential customers' brothers' hairdressers' uncles. Make the kids stay late at night to get this done because it's their fault that it's late. Berate the kids some more. If any of the complain or cry, fire them. Hold their stock options over their heads, and threaten to take them away if they say anything bad about the company. Reduce everybody's pay because they haven't put a product out yet.

    Did I forget anything?

    DT

    --
    Is this thing on? Hello?
  137. Back in the day by Sheik+Yerbouti · · Score: 1

    Way back in the day many moons ago had to be like 77 or 78. I was exposed to my first computer. I was fortunate enough to live near the Tandy HQ (the Tandy Center) and our class got to go on a field trip to the Tanday center. There I saw an early TRS 80 green screen. Actually rows and rows of them. The showed us the BASIC print name over and over loop wich was cool at the time. But the thing that really got my imagination going was the dancing demon. The dancing demon was a little basic program that had a little demon that danced. Keep in mind these were green screened TRS 80s so the demon part took some imagination to see. But he was fun to watch and you could change his dance steps by typing in specific commands it was really cool. After that I wanted a computer more than anything I could think of. Maybe some good old fashioned demos would arouse kids these days especially an interactive demo. I mean demos from the PC demo scene (mucho eye and ear candy). Also eliza the computer psychologist program always freaks people out or even a good 20 questions program AI stuff is cool too.

  138. Easy! by CrazyTalk · · Score: 1

    The best way to illustrate what a software engineer does to a group of primary school kids? Take 'em on a field trip to India!

  139. Homeworkotron 1.0 by Hinhule · · Score: 0

    Make a program that'll solve their math homework. That'll get them interested.

    You can probably charge them their lunch money too ;)

  140. Chip under a microscope by Anonymous Coward · · Score: 0

    Slightly off-topic because you said Software Engineering, but it might be close enough. Get hold of the oldest CPU you can find. (New ones are too damn small!) Hack the top off (or the bottom?) and stick it under a microscope. Hopefully the school will have a good powerful one.

  141. LOGO Programming language by dliliedahl · · Score: 1

    This is a language that can be easily learned by 5th graders, and is meant for educational purposes. Highly recommended and you can learn it in a few minutes:

    http://www.softronix.com/logo.html

  142. Wow, I could actually do that by Anonymous Coward · · Score: 0

    "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)"

    Hey, I've got a Micro PDP-11/73 here that I could lug into my daughter's kindergarten class. It's running RSX-11M rather than RSTS/E, but the kids probably won't notice such subtle details.

  143. Possibly something web-based.... by SwedeGeek · · Score: 1

    This might be a bit above K-5 level, but something through a web browser would seem likely to be more familiar to the majority of kids. If you use a Perl/PHP/Python-type scripting language, you could show them how one little update can make a huge change in the way the "program" operates. You could change a background color or an image and that would probably be enough to pique their interest. Obviously, this can be done with other languages, but it may be more tangible to the kids if it's through a web browser... maybe.

    By the way, you do realize these are kindergarten through 5th grade kids, don't you?? And lots of them! May God have mercy on your soul! Good luck!!!

  144. Know your audience! by Money+for+Nothin' · · Score: 1

    You're doing a K-5 presentation. Think about that range for a moment.

    In Kindergarten, children cannot even yet add 1+1 (at least at my public elementary school we could not). On the other hand, 5th graders who've paid some attention to their study can handle the 4 basic arithmetic operations (add, subtract, multiply, divide).

    There is no way you can illustrate a loop to a Kindergarten child using any sort of the simple arithmetic that for() and while() loops use. But to the 5th grader, you could.

    Moreover, there are issues of attention spans. The attention span of the Kindergartener is much much shorter than that of the 5th grader (which in turn is still nowhere near as large as a high school kid's).

    Hence, to the Kindergartener, you'd need some other sort of presentation; one that is extremely-simple, like a game, or a 3D graphics program. Don't expect to show them code, because in K-1 or so, many students still cannot read -- certainly they can't read complex texts like code (in any language, even BASIC, and obviously not ASM!).

    You may have more luck with the 3rd-5th graders though. They can read and perform basic arithmetic, so they could probably understand BASIC if you showed them an extremely short (< 10 lines) program. But you're still going to have to show them that "code can do cool things!" Do as much graphics as you can in as few lines of code as you can, and show them that.

    The first "programming" I ever did was on Hypercard on the Mac way back in 6th grade, around 12 years ago. Consider the simplicity of Hypercard, and the fact that that too will confuse many 6th grade students when they first see it...

    Otherwise, I sarcastically echo the other comments about "teach them Hindi" and "juice them up on coffee and yell 'code faster!' at them" and "don't shower, don't shave", etc. :-)

  145. Kids... by Hard_Code · · Score: 1

    "...and look, this is Slashdot..."

    --

    It's 10 PM. Do you know if you're un-American?
  146. Jurtle by Anonymous Coward · · Score: 0

    You should show them Jurtle:

    http://otherwise.com/Jurtle.html

    It's a great way to show basic programming concepts with some instant gratification that makes it interesting.

    jeff

  147. Robocode Java Tank Game by Dzerzhinski · · Score: 1

    Robocode is a little game where you write a java applet to control a tank. Then you can run it against other automaton tanks and see who wins. I think it was designed as an educational tool.

    --
    Never trust a physicist further than his DeBroglie wavelength.
  148. An AI works nice. by Anonymous Coward · · Score: 0

    I work as a CS Instructor at a local tech college and we regularly get tour groups that range from K-12. One of the things that the kids really like is AI. Get a program like Hal (www.zabaware.com). Just be careful, if the student have a habit of cussing him out, he will reciprocate.

  149. Crocodile ICT may be just the ticket by DaveR · · Score: 1

    Crocodile ICT

    "A powerful tool for teaching control and programming. Use a simple flowchart interface to write programs which control either human characters or on-screen animations, making complex programming concepts easily accessible to all."
    No 'coding' needed; drag and drop action blocks; make loops, conditionals, etc.

    http://www.crocodile-clips.com/crocodile/ict/index .htm

    Until recently the beta was available free; now you can download a demo. For your special event, maybe they'll send you a copy of the beta.

  150. How's this different . . . by eyeruh · · Score: 1

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

    How's this different from trying to explain to a group of managers what a software engineers 'does'?

  151. Here's a guaranteed to work solution for you by 44BSD · · Score: 1

    Why don't you show them a computer animation of somebody cool, like an astronaut, firefighter, or football player?

  152. Logo but you might want not to by Coeurderoy · · Score: 1

    Three remarks, I had two high level high profile hacker friend discuss this subject (concerning their friend) One of these friend showed to his son cat /dev/hda1 and the child said "coool" and started to learn C. the other showed a clown face blinking written on the Blit (if you do not know dont worry it's old) The child said "ho ha, thanks", and decided to forget about this too hard stuff. Second: LOGO is really cool to show kids why its cool to write programs. Third: DO NOT LIE TO CHILDREN IT is most probably dead for them. They will have an opportunity to work in this domain in 10 or so years. By then if the public is not doing something really drastic patents and patriot act and DCMA etc... will have utterly destroyed IT and made it a real boring subject. On the other hand most probably no interesting scientific subject will remain anyway. So who cares. So do not forget to tell their parents that voting for any incumbent is evil. Cheers

  153. Particle systems by Rich · · Score: 1

    Write a little graphical particle simulation. They're fun to write, easy to understand and produce pretty, moving pictures.

  154. OT: your sig by symbolic · · Score: 1


    Damn funny!!

  155. Tell them that a career in CS is the crappiest by melted · · Score: 1, Flamebait

    Tell them that a career in CS is the crappiest choice they can make. Now that more and more jobs are moving to India, we don't want these kids taking all the remaining jobs from us, "old" people. Even if they're willing to work for a dime a day.

  156. +1, Insightful by ggvaidya · · Score: 1

    I completely agree with you. When I was eleven, I tried learning C. Of course, it took me ages to understand anything major, but even back then I knew I was dealing with something aweseome.

    1. Re:+1, Insightful by rbarreira · · Score: 1

      I could only really understand C when I reached 14. Maybe it was the book's fault, it started explaining C by talking about preprocessor. I would read about terms like "macros" and I wouldn't get what the #define's mean because of that...

      At that age I could only do some basic, because I had the hobby of typing up basic programs from a book when I learned to read... Oh the memories, I could go on forever :)

      --

      The AACS key is NOT 0xF606EEFD628B1CA427BEA93A9CA9773F
  157. What about Linux? by ggvaidya · · Score: 1

    Show them the boot up sequence - I bet you every protogeek in the audience will begin salivating on the spot. Then show them the console - programs like fortune, or the text version of computer games. Explain to them how somebody actually had to sit and write every one of these programs, and that's what you do. Show them "Hello, world" and "what's your name?" as very simple shell scripts. Tell them that's there one rather special program that took a whole lot of people to write ... and then start X with the glitsiest, shiniest, most sparkling window manager you can find. They'll be impressed.

    Double points if you do this on a dilapidated computer, which you open them up and explain how everything goes together. :)

  158. zerg by Lord+Omlette · · Score: 1

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

    Office Space?
    --
    [o]_O
  159. How about HTML by spribyl · · Score: 1

    I know it is not really a programming language but just about every kid knows what the web is these days.

    Install a web server on you laptop and let them create a web page.

    Have show them the raw html and let them make changes.

  160. The Peanut Butter Sandwich by boingyzain · · Score: 0

    In my first Computer Science class, one of the first activities we did involved the teacher acting like a computer, and the students acting like programmers, telling the computer to make a peanut butter sandwich.

    The computer has to take the commands literally. "Pick up the knife" should come before "spread the peanut butter using the knife" etc. Quite a fun game, and it was a hit in my class.

    By the end, the sandwich was kind of gross, but I was hungry so I ate it anyway.

  161. Make sure to engage them by WhyCause · · Score: 1

    I've seen lots of comments regarding the programming language, etc. to use, but none that address the fact that you will be teaching these kids (likely their first exposure) about software engineering.

    If you have the stage to yourself for a period of time, make sure your demo is interesting, but not too distracting. Ask the kids what kind of changes they might make, and implement the quick ones (keep a couple of quick changes in mind and suggest one-number changes in the code if the kids keep asking you to write Halo). Keep moving, keep showing, and keep asking. Frankly, watching someone write code can be like watching grass grow, and keeping the kids involved needs to be your primary motiviation.

    Engineering is about problem solving, so make sure you get the point across that what you are showing them is one of basic tools that can be used to solve problems. Tell them that with some practice, they can make the computer do whatever they want, then show them a more complex example. Gorillaz for QBasic was mentioned; that's a good one, especially if you can hack together a demo mode to run while you talk. Show them, that with enough practice, they can change the banana or gorilla color (ask them for a color, then type in the color code and re-run it). At the very end of your talk, show a screenshot or describe a situation when programming was used to solve problems (I'd suggest describing both a trivial and complex problem, if you have the time).

    If, however, you are going to have a booth, I'd try to hack up a little spirograph-like demo. When the kids come up, let them type in some new numbers, and let them run the program to look at the results. DO NOT set up spinner buttons and drop downs, that's just using a program and they know how to do that. Show them how to tell the computer what to do. They don't like black on white? Show them where to change the colors and let them type. If it breaks, that's OK, just show them how to fix it, and tell them that you break software all the time (it helps if they know that you are fallible as well, and it's not just them). If you equate learning the rules of programming with, for example, learning the rules of phonics (they do still teach that, right?), they'll get a better idea of why they can't just jump right in, and why things break. Have a couple of printouts or things on hand that show them the engineering side of things, not just the programming (you are a software engineer, right).

    The key elements in this are to keep them interested and keep them actively involved. Five minutes can be an eternity to a first-grader, so keep it interesting. Be prepared to move on if you see that you are losing your audience, lest you become the least-favorite presenter (behind even the accountant).

  162. Squeak by AmberBlackCat · · Score: 2, Informative

    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.

  163. My demo for first graders by Flying+Purple+Wombat · · Score: 1

    One day, when my daughter was in first grade, she asked, "Dad, do you do anything cool?" The teacher was inviting parents to talk about their jobs. My daughter agreed that programming is cool, and I got an invitation to give a demo.

    The kids all know what computers are and some of the things you can do with them. I explained that nowadays, computers are in everything - appliances, phones, cars, etc, - computers run the modern world. I told them that programmers tell the computer what to do, and without progams, they just sit there and do nothing.

    For my demo, a student volunteered to be a "robot", and the class had to instruct her to walk across the room and sit in a chair. The kids had fun, and learned that they need to give very detailed instructions to the computer to get it to do anything useful.

    I had dragged in an old PC - there were half a dozen in the classroom, but I couln't use them for the last part of my demo (see below). We fired it up, and wrote a small BASIC program that drew random sized, random colored rectangles on the sreen while making random beeping noises.

    Then the part the kids REALLY liked - we opened up PC, and I explained what all of the parts do. We opened up the hard disk, and booted it for the last time - the platters spinning and the head seeking are fun to watch. After shutting down, we pulled out the video card, modem, mainboard, SIMMS, CPU, drives, etc, and passed them around. We disassembled the mouse and keyboard to see what makes them work. The kids loved this, and I had to give a "don't try this at home, your parents will have a cow" speech.

    K-8 is a wide age range, it will be difficult to do something that will keep all of the kids interested. Lots of good suggestions have been posted, I'm sure you can pick and choose among them to find interesting ideas.

    --
    If God had meant for man to see the sunrise, He would have scheduled it later in the day.
  164. Demonstrate some algorithms by Anonymous Coward · · Score: 0

    For elementary school, demonstrate some of the basic algorithms that software engineers don't even think about any more. I taught my kids binary search in about the third or fourth grade, how to look up words in the dictionary or names in a phone book. It's surprisingly fast.

    Try a cookie recipe or making a peanut butter sandwich as an example of an algorithm.

    Subtrction by addition can be done with ten's complement, not just two's complement. But what it demonstrates is that it's just easier to memorize the subtraction table.

    Things like this will probably more entertaining than trying to explain about code reviews, top-down design, code maintenance or the other things that go into software engineering.

    After all, if software engineering were exciting and interesting, there'd probably be a lot more programs that work right.

  165. let kids try abstraction using squeak by goon · · Score: 1
    squeak

    I stumbled on squeak looking for some smalltalk tools.


    squeak + kid = squeakland

    From there I found squeakland ~ a media authoring tool with browser front end.

    • '... Math and Science literacy has been devalued in our schools, or at best inappropriately taught. And yet it's vital, not just for vocational reasons, but to develop critical thinking skills needed by all world citizens. Based on a constructivist learning model, Squeak school examples show surprising ways of reaching math and science resistance and helping children develop powerful thinking skills. ...' Alan Keys, BACKGROUND ON HOW CHILDREN LEARN

    The people behind squeak are impressive. What is more impressive is the ideas behind how kids learn.


    Modelling the spped of a maggot

    Now I've just got to model the experiment I conducted with the young ones on the speed of maggots wriggling and their weird behaviour when you rotate the surface they are crawling on (they instantly seem to know which way is facing down).

    --
    peterrenshaw ~ Another Scrappy Startup
  166. Why not solve a few bugs and add two features? by Wiseleo · · Score: 1

    Ask them how many are sick and tired of their applications crashing?

    Bring along some cool source that produces beautiful output and add 5 or 6 bugs in it that prevent it from doing what it's supposed to. Also bring along a colorful UML diagram printed on 11x17".

    If you deal with UI at all, have some commented out code that adds interactivity (change some specific attribute before showing graphical output, change same attribute at run-time and redraw etc).

    Don't forget to use breakpoints to illustrate how to stop the computer before it crashes.

    That should generate some nice response, in particular if you take something like Quake and modify it on the fly.

    --
    Leonid S. Knyshov
    Find me on Quora :)
  167. Show them what I saw in the 5th grade. by xMonkey · · Score: 1

    When I was in the 5th grade, 1985 I think (challenger blew up), the public school had a weekly computer class. They showed us LOGO and BASIC.

    After I saw BASIC I begged my mother for a computer and she got me a C64. I've been programming ever since.

    Show them the same thing. The one's that are going to get IT, will get it.

  168. Duh?!?! by Anonymous Coward · · Score: 0

    Get an Xbox or Playstation, set it up, start playing the games and say to the kids, "Who the hell do you think makes this happen?"

    C'mon, people. Get a clue!

  169. Answer... by JustNiz · · Score: 1

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

    Take a big grey cardboard box and sit in it.

  170. DarkBasic... by ovit · · Score: 1

    Its all about video games. Download a copy of DarkBasic and whip up something cool and short...

    tony

  171. BASIC considered harmful by syousef · · Score: 1

    Haven't you heard of the paper, now considered a classic.

    You want to teach kids to code for a career? Here's plan:

    1) Get them interested. Best way is to teach them to program games. There are simple game programming environments. One is Game Maker. http://www.cs.uu.nl/people/markov/gmaker/

    2) Teach them about automating tasks using command scripts and either Javascript of VBScript.

    3) Next teach them about web and database. Start with straight HTML then move to JSP. Help them build something simple. Maybe JSP to pull their favourite sports results out of a table, or a database of their film collection or something. They'll be learning Java.

    4) Now you can get them to go back to something like assembly if appropriate. Teach them how the guts of the machine works and why it works now they've done some simple stuff. Don't bother with BASIC though. This isn't the early 80s, and its so far removed from anything they'll be asked to do when they're older (certainly far removed from most coding professional's day to day experience).

    5) If they're still interested, show them how to make their own GUI etc. and teach them more computer languages so they get a feel for what right tool for the right job means.

    Might take weeks or months but not years to get them to the point where they understand what coding is like. They can then decide if they enjoy the challenges and can deal with the frustrations.

    --
    These posts express my own personal views, not those of my employer
    1. Re:BASIC considered harmful by zonker · · Score: 0

      a few ideas...

      if they have a mac introduce them to applescript as it seems pretty easy to learn. if you haven't upgraded to os x yet (or have classic and can get your hands on a copy), try introducing them to hypercard.

      if they have a pc or mac introduce them to konfabulator or when the new tiger os x comes out, dashboard...

      i mention dashboard and konfabulator because they use javascript, which is very useful to know for other things, and is an easy way to get something really useful done without spending a lot of time to do it.

      however... i'm not sure that when i was 5-10 years old i would have had the patience to sit down and learn most of this stuff. i would probably have just wanted to play games on the computer when i didn't have the opportunity to go outside and play with friends.

      in fact, if i were a parent i would probably encourage this stuff to kids only on rainy days when they can't be doing something more social.

  172. Visual Programming Tools by rev.cpb · · Score: 1

    Consider putting together a MaxMSP patch that does something with a video/audio feed and figure out a way to quickly show them how they can affect change on it. then let a couple play with it a bit and when they are done revert back to your base patch.

    if you're really snazzy have a stack of cd's handy and burn the audio/video stream that the patch is altering so they could see it at home or on the school computers.

    oh, wait, you're a software engineer

  173. LabView by hswerdfe · · Score: 1

    I say show them programming the way they will do it in the future.

    Show them LabVIEW or some other kind of graphical programming experiance.

    its just about telling something how to do something else
    LabVIEW can anwer 2+2=4 and give you a neet little meter to show you the answer.

    then maybee show then the same thing in some Asembly Language

    --
    --meh--
  174. But seriously by lydic · · Score: 1

    I've done this very thing; however, not all kids will be "into" math and logic. Some may be more mechanically inclined. SO, instead of merely talking about software specifically, talk about engineering in general. If you are in a large room (such as a gymnasium) you could point to the roof support structures and ask why that big roof doesn't fall down. Tear apart an old cell phone and talk about the engineering that goes into that simple, ubiquitous, common gadget.

    Engineers included Materials (pick the correct plastic), Mechanical & Human Factors (layout the case for strength and usability), Digital Hardware Engineers (design the microprocessor, keypad, display, etc.), Radio Frequency Hardware Engineer (for the radio transmitter & receiver), Chemical Engineer (to make that long lasting rechargeable battery) and finally the Software Engineer (to make the phone hardware do all of the work).

    This simple exercise will show how much engineering goes into such a simple device, and that there are enough engineering disciplines for everyone's interest.

    BTW, the definition I use for engineering in general is the use of math and science to solve puzzles. A very elementary definition.

  175. Focus on Programming not on Programs by blonde+rser · · Score: 1

    Yes showing games or robotic arms would definitely get the most interest but does it really expose anybody to anything? That would be like a baker bringing in cakes and cookies. It doesn't really reach out to any kids and makes them think "yeah I might like to cook."

    How about this. Have a task that takes some thought to do but at the same time the procedure is straight forward once you've done it a few times. Like maybe taking a list of numbers and writing them out in order. Let kids do this. Let them race even. Then start asking them to explain the steps they were doing to sort the list and try to create the code that does that as they go (using nice long names for methods). Not all the kids will find this entertaining but that's perhaps not the point. There will definitely be some kids who are really excited by the idea that they can put ideas of how to do something into words and shapes. Bring some prepared methods that also work and you can use by hand. If you can come up with a method that looks like it should work but doesn't for what ever reason that would probably be really exciting. Being able to see a list ordered wrong but in a predictable way.

  176. Fight Invisibility-By Scheming. by Anonymous Coward · · Score: 0

    "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."

    I should point out that plt-drscheme has this capability, and maybe isn't as daunting as Smalltalk.

  177. +1, Insightful-Over-exposure. by Anonymous Coward · · Score: 0

    "Of course, it took me ages to understand anything major, but even back then I knew I was dealing with something aweseome."

    Shame you didn't have the "Junior Terrorist, Do-it yourself Biological Warfare, and Easy Bake Oven" kit growing up. You would have redefined "awsome".

    Modern kids now...

  178. Just don't teach them any English... by Anonymous Coward · · Score: 0

    their's, huh...

    Sorry to point out the grammatical mistake.

  179. A simple demonstration by gokeln · · Score: 1

    Show the lil tikes how to remove the IR filter from their webcam...

    Then, for some real engineering maneuvers...

    --

    There's no time to stop for gas, we're already late.
  180. Show them how to train their Indian replacements. by Anonymous Coward · · Score: 0

    Dude, did I steal your career fair?

  181. Games by Palal · · Score: 1

    Show 'em some simple game on one box and the code for that game on another (make it BASIC or something, so it's easier for 'em to understand). Then tell 'em that all computer programs are written like this... etc.

    --
    -Palal
  182. Teach Binary by shallow+monkey · · Score: 1

    Grab a handful (4-5) of "volunteers" and turn them into bits....

    I frequently volunteer for the career day at the local elementary school (since the organizer is my next door neighbor). The 3rd year of doing this I tried to "lighten up" the dull software engineer part a bit to some success.

    I grab 5 kids to be binary and 2 kids to be decimal. In advance I've created a flip slide for the decimal kids that displays the digits 0-9. They sit side by side and we begin counting to 10 with the 10s place child flipping when the ones place prepares to flip their 9 back to 0.

    Once that's done I explain that computers are stupid and can only count to 1 (but very quickly) and we have the 5 bits with their 0/1 page. Quickly the kids see that there is math involved but they also have fun (in an interactive sort of way....)

    Mind you, the school I'm at has me competing with reptologists, airline pilots, and the like. The interactive part helps me keep up. Ahead of that I've generally shown the most eyepopping graphics I can muster (but it's awfully hard to compete with what kids see everyday in front of their home computers/gaming consoles....)

    1. Re:Teach Binary by Anthony · · Score: 1

      I helped my daughter on a talk about computers in primary school. I explained that computers are really dumb. They can't even add up 9+9. She then put a talk together about how programs are needed for the conversion to binary and also displaying the results. The teacher didn't get it and disagreed that computers couldn't add up by themselves and got marked down :(

      --
      Slashdot: Where nerds gather to pool their ignorance
  183. Games of chance by Calroth · · Score: 1

    Most kids of that age understand board games, dice games, card games, etc.

    One of the VIC-20 programs I remember seeing was simple: guess a number from 1 to 6, put a bet down, roll the die, and if it matches, you win money. I remember it because I "hacked" the program to tell you the results of the die throw before you had to guess, so I could make huge amounts of money. It sounds lame, but I was about 8 or 9 at the time, and for someone of that age it was quite a buzz.

    If you want to get a bit more complicated, kids will understand games like craps and roulette, and if they play, they'll get involved, even if they're not geek types (and yeah, even at that age, you know who the class geeks are).

  184. Get their attention. by Anonymous Coward · · Score: 0
    Most of these kids have at least played games on XP boxes at home. Now, show them a LiveCD distro, with some games. OK, OK, so it's not coding, but the Live CD distro got there by coding. The minute you show them some coding, it's Naptime for these kids. Anyway, that's what I would do, right or wrong. I kinda doubt some of the kids would grasp the concept of a different OS on the same box.
    Here's my distro, with a link to a screenshot. It sure looks different from XP, (IceWM), but the Mozilla Firefox result is the same, as you can see.


    Maybe, just maybe, that would get their attention.

  185. why are you all lying to the children??? by Anonymous Coward · · Score: 0

    Im more than stunned that no one has actually offered to demo what software engineers REALLY actually do.

    let me give you my most accurate description of the software engineers/ coders i know:

    1. go to work get coffee and surf over to goatse.cx (or other suitably offensive site).
    2. Grab source and image using chosen broswer/editor.
    3. Rename Code to "cutebunnies.jpg.html" if you want women to see it,,, or "annakournikovabreasts.jpg.html" if you wanna upset the blokes.
    4. Stick it on the local shared drive
    5. Sit back giggling insanely and wait for the screams

    If your going to try to lead a kid down the path of software engineering, at least be honest about what you really do in your job.

  186. ALICE by miyako · · Score: 1

    you might try to introduce the students to something like ALICE which from the site: Alice v2.0b is the next major version of the Alice 3D Authoring system, from the Stage3 Research Group at Carnegie Mellon University. It has been completely rewritten from scratch over the last two years.
    The focus of the Alice project is now to provide the best possible first exposure to programming for students ranging from middle schoolers to college students.

    I remember playing around with it when my cousin wanted me to teach her programing, though she lost interest before I was ever able to demo the program. It seemed pretty interesting, although a little on the slow side, but that was a couple of years ago.

    --
    Famous Last Words: "hmm...wikipedia says it's edible"
  187. Tell them the truth by bsandersen · · Score: 1

    That's the best way to steer kids away from the field and ensure I'll be able to continue working well into my 70's.

  188. After the game by mveloso · · Score: 1

    After they understand the game, you have to start layering it to give them more of an idea (if you can).

    For example, you just figured out how to guess a number. Now you can take that and trigger a robot to move. How would you do that, etc etc.

    It's all about deconstruction and reconstruction. You do have to avoid those two words, though.

  189. Fahgeddaboudit... by jonadab · · Score: 1

    In that age range, your job doesn't have much appeal; no white-collar job
    does unless it has serious celebrity status (e.g., US President). The minute
    you start talking about sitting at a desk, there'll be a mass exodus to the
    booth where one of the other kids' parents is talking about their job at
    McDonald's. Now *that* job is cool.

    If it were a junior high or high school career fair, that would be different;
    those kids (well, some of them) want to do white collar work when they get
    out of school. But in elementary school, they want to be firemen, astronauts,
    athletes, President, ... or sell french fries. Software engineering is BORING
    to them, almost as boring as being a professional student.

    Now, if you were a professional video game reviewer, that would be different.

    --
    Cut that out, or I will ship you to Norilsk in a box.
  190. Coming from a teacher by Anonymous Coward · · Score: 0

    Do something hands on that will illustrate programming with the kids.

    Games work best! It will keep them motivated and the experience fun and worthwhile.

  191. "Chipwits" or "The Incredible Machine" by Anonymous Coward · · Score: 0

    In the mid 80's, a great educational program called "Chipwits" was released for the early Macintosh computer. You assembled flow-diagram pieces to program a robot to traverse a landscape. Chipwits seems to have vanished without trace, but another program "The Incredible Machine" (for Mac or PC) may be similar.

  192. DARPA Challenge & Machine Learning by Mia'cova · · Score: 1

    How about bring along some of the videos from the DARPA Challenge and explain that computer science is about figuring out problems like path-finding and vision and software engineering is about how to build bigger and more complex systems out of all this smaller components. In this case you've got tons of different near-sci-fi parts of the vehicles you could tell the kids about as well as putting it all together into an AI that can drive a 175-mile course. "That's like having your car drive you from here to ____!" There's tons of neat stuff to inspire kids plus tons of video footage to base your presentation on.

    Look around at various machine learning topics. There are many many extremely cool projects described on university webpages.

    I've been interested in computers for a long time but machine learning has been one of few things that has actually made me go "damn! That's cool!" in the last couple years. Uni was getting a little boring until I took a course on it and was absolutely blown away with what we were taught to do.

  193. Robocode by OrangeSpyderMan · · Score: 1

    This will take a little preparation, but I would suggest going with a copy of ROBOCODE and a few starter robots. The great thing about this stuff, is that you can have a battle with some fairly simple robots (which you could code beforehand) and then get the kids to look at the code, give them a simple example of how to change some parameters (one of your stock robots may move very slowly, with long waits, another may turn 405 degrees right, where there may be time to be gained by just turning 45 degrees - seed the examples which is fairly obviously easy to improve) and see if they can come up with a better performing one. You may have to help them with the stricter bits of syntax, but if they can analyse behaviour and use the basics (TurnRight, turnGunRight) to improve that behaviour, your well into the territory of CS and already a step away from just asking them to complete a basic program to say "Hello!", which is less CS and more code-monkey... :-) You've covered analysis, versioning, coding and testing phases! If you could just get them to document it, they'd already be a step ahead of most coders :-)) It's probably more important that they can improve the behaviour to win battles, even if they can't actually write the code - they can always learn to do that later if they're keen.

    --
    Try NetBSD... safe,straightforward,useful.
  194. Parents by BenjyD · · Score: 1

    I have enough trouble explaining what I do to most adults, let alone small children. "Software developer? Is that like a photocopier repair man?" was probably my favourite response.

  195. Simple games? by RangerFish · · Score: 1

    Personally, I'd make a very simple game. Doesn't really matter what language, as long as it's something fairly simple to learn. BASIC is a good one, even though it's not that representative of modern coding. Personally I'd go for Java or C#. Maybe VB. As for what you should program, I think some simple games would be a good way to go - number-guessing games, Tetris, maybe Chess, and if you get adventurous, a Tamigotchi (if that's how you spell it). POVRay was suggested, which is an interesting idea. I always found it a little heavy on the numbers (hey, it's 3D graphics, what did I expect) and kids might get fustrated with it fairly quickly, but it might work.

  196. Lego Mindstorms by AllanL5 · · Score: 1

    The Lego Mindstorm environment is excellent for showing how software can effect physical action in the real world. They have a graphical programming environment easily grasped by 7 years olds. A few point and click actions and you can change the behavior of an attached robot. And an "NQC" simple C text environment is available free. $200 for the box with 'Brick' computer.

  197. This will never be seen, but... by markhb · · Score: 1

    Plan a project to work on during the show. Make it something simple, so the kids can "help" you with it as things go on. Here's a thought: bring a digital camera that you can use to quickly bring photos into your laptop, then let each kid (who doesn't have marshmallow Fluff all over his/her fingers) take a picture, then add a button that brings their photo up in a non-modal window. Use an easy visual environment like Delphi (Kylix, if you're running Linux) or something. All you'll have at the end is a base window with a ton of buttons and a popup window that displays a pic, plus a bunch of pictures of other people's kids which you should probably delete, but it might serve to engage them.

    The kids with marshmallow Fluff on their fingers can be project leads; hand them a stopwatch and have them loudly time how long it takes their peers to type the code in.

    --
    Save Maine's economy: write stuff down. All comments are exclusively my own, not my employer.
  198. BF! by Anonymous Coward · · Score: 0

    I believe that BrainF*ck has the instruction set you are looking for. Though, you [probably cannot tell them the name of the language. :)

  199. Eh... by Anonymous Coward · · Score: 0

    downloading Pr0n?