Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Education

How Do You Explain Software Development To 2nd Graders? 430

First time accepted submitter zimania writes "At the start of every school year, my kids' teachers invariably ask if any parents have any special skills they can present to the students. As a software engineer, I'd like to give a presentation to the classes about developing software. The tricky part is making a presentation fun, inspirational, and easy enough for 2nd and 4th graders to grasp. Has anybody been brave enough to attempted such a thing? Are there kid-tested prepackaged presentations freely available? Would it be best to present the development of a simple game? Web page? Any advice is welcome."
This discussion has been archived. No new comments can be posted.

How Do You Explain Software Development To 2nd Graders?

Comments Filter:
  • by dacut ( 243842 ) on Friday September 02, 2011 @12:32AM (#37282738)

    One of the most engaging presentations I've seen on this was the making of a peanut butter and jelly sandwich where the students write out the instructions and you execute them -- very literally, as a computer would do -- illustrating the attention to detail and error checking required for programming.

    I recall seeing the knife go through the lids for the peanut butter and jelly jars, the jars being placed directly on slices of bread, peanut butter being spread on the bread wrapper, etc.

    This would be something to incorporate into a larger talk, probably at the end (to keep their attention going).

  • Re:Easy! (Score:5, Insightful)

    by Required Snark ( 1702878 ) on Friday September 02, 2011 @02:11AM (#37283200)
    You can also do the inverse: you act as the computer, the kids act as the programmer. You start with a simple task: making a peanut butter and jelly sandwich. The sandwich components are the props.

    First have the kids define the steps for making the sandwich. Write them on the board. Then "execute" making the sandwich. They will make a bunch of typical mistakes. For example, they will forget steps like taking the bread out of the bag, opening the jam and peanut jars, etc. So as you go through the steps, you stop when there is an obviously wrong action. Each mistake is recorded as a change to the "program" on the board.

    This shows how simple the steps have to be, and also shows how programming is about breaking down complex activities into very simple steps. It also shows debugging.

    And at the end, you can eat the sandwich!!!

  • Re:Easy! (Score:4, Insightful)

    by bzipitidoo ( 647217 ) <bzipitidoo@yahoo.com> on Friday September 02, 2011 @02:59AM (#37283384) Journal

    I tried out Scalable Vector Graphics on a 2nd grader. Whipped up a little text file and loaded it in Firefox. She and her father complained that SVG was too hard.

    And I see their point. SVG is much inferior to LOGO. SVG has a turtle of sorts. Problem is, the SVG turtle remembers position only, no orientation. For instance, could not draw a 5 pointed star by ordering it to rotate 288 degrees and drawing a line 5 times, had to calculate the x,y coordinates.

    The so called human readable XML style syntax was another impediment. We could use a big revamp of HTML. Reduce the verbosity and cut down the excessive structure. It wouldn't be backward compatible like HTML5 is, but web pages sure would be a lot smaller and more readable. And maybe a 2nd grader wouldn't have such a rough time with it.

  • by Half-pint HAL ( 718102 ) on Friday September 02, 2011 @03:06AM (#37283410)

    This information is available on wikipedia.

    Is it more effort for 10,000 non-US-based geeks to look up Wikipedia, or 1 US-based OP to mention an internationally recognisable age in his question...?

  • by dudpixel ( 1429789 ) on Friday September 02, 2011 @03:26AM (#37283474)

    This might be true if your first introduction to code was your first day at uni.

    Many software engineers started out as kids coding their own games and learning stuff on their own.
    The software development doesn't stop with your job.

    I always have several projects on the go at home. These days they're mostly geared towards earning a second income, and some have been successful.
    But to see my life as a software engineer as purely what I do for my employment - that would make me cry.

    My job just pays the bills - yes I write code for a living and I do enjoy my job (as much as that is even possible), but none of it compares to the stuff I tinker with in my own time. Software engineering is a way of life, not just something you do for a job.

"More software projects have gone awry for lack of calendar time than for all other causes combined." -- Fred Brooks, Jr., _The Mythical Man Month_

Working...