introduction to programming
August 9, 2012 11:25 PM   Subscribe

I'm to give a half an hour talk to a group of year 12 (snr high school) students as a really brief introduction to software development. Half an hour isn't a lot of time. Has anyone got an idea of an activity this small group (+/-10) can undertake to get them thinking as programmers? I'm generally casting around for ideas.
posted by mattoxic to Education (11 answers total) 4 users marked this as a favorite
 
Best answer: When I had an introduction to programming class (which was a single class for only an hour) the teacher split us into groups and had us write detailed instructions on how to walk to various places in the building as if we were writing a program. We then traded instructions and "executed" them to see how complete they were. It was a good introduction to the amount of logic and specificity behind programming.
posted by ooklala at 11:34 PM on August 9, 2012 [2 favorites]


Best answer: I used to run workshops for high school students as an intro to computer science/software. One activity we did that went pretty well was giving them an easy problem, like 'sort these playing cards into order and write down the instructions', then having them try and follow each other's instructions as though they were a robot - if the instructions were well written, which is rare, the follower would go through the exact same process as the first student had. More frequently, especially if you get a few contrary-minded kids in the group, someone will have completely failed to sort the cards by following the instructions to the letter. Ask them how closely the actions actually matched what they had in mind when they wrote the instructions, and how they'd change the instructions to get it to work better.

We usually had more time than this, so for a shorter time perhaps you want to be the 'robot', and just pick someone to give you instructions on the spot, or some other variation.

On preview: yea, like ooklala's exercise :)
posted by jacalata at 11:35 PM on August 9, 2012


Best answer: Or, if they'll have computers (or you'll have a projector and can take shouted instructions) introduce them to something like the Blockly Maze, google's visual coding language sample.
posted by jacalata at 11:38 PM on August 9, 2012


Best answer: Doesn't every lesson at this level start with some form of "Hello World"?

Maybe a cliche, but tried and true.
posted by trip and a half at 11:46 PM on August 9, 2012 [1 favorite]


Best answer: Combine these suggestions: Have them do a simple "write out directions for a robot to follow and then have the "robot" follow them" exercise, and then show them a "Hello World" script and explain how it's the same.
posted by erst at 12:13 AM on August 10, 2012 [1 favorite]


Best answer: Pseudocode for musical chairs was an example I remember. Is the music playing? Yes, walk. No? Is the chair occupied? Yes, walk x2. The nice thing about pseudocode is you can start vague and then keep adding parameters, time willing.
posted by hypersloth at 4:49 AM on August 10, 2012 [1 favorite]


Best answer: Bring the makings for Peanut Butter and Jelly sandwiches. Have students write down the instructions for making them. THEN, have them come up and try to make them according to the instructions.

It's a hoot, most of them won't get the lid off of the jar.

That's a great age, so have fun!
posted by Ruthless Bunny at 6:28 AM on August 10, 2012 [2 favorites]


Best answer: hypersloth: "Pseudocode for musical chairs was an example I remember. Is the music playing? Yes, walk. No? Is the chair occupied? Yes, walk x2. The nice thing about pseudocode is you can start vague and then keep adding parameters, time willing."

If you have time, define your terms: what does "music playing" mean? How do you determine if the chair is occupied? What does it mean to "walk"?

If you have a demo computer available, Game Maker is pretty cool and it's easy to get something down-and-dirty created in a few minutes.

Pro Tip: Are these students choosing to attend this talk (like as part of a career day)? If so, they're probably more interested in the topic than your average kid, but be prepared with some kind of response or technique to deal with the smart-aleck who already "knows" everything about "computers" and asks obscure questions designed to trip you up and embarrass you.
posted by SuperSquirrel at 6:57 AM on August 10, 2012


Best answer: Also, maybe suggest they try http://robozzle.com on their own time. It's neat.
posted by hypersloth at 9:13 AM on August 10, 2012


Best answer: Ruthlessbunny has a good one. I did it with younger ESL students when we were talking about computers in their science/math class. It worked really well.
posted by kathrynm at 4:31 PM on August 10, 2012


Response by poster: Thanks heaps everyone. I split the class into Robots, Interpreters and Programmers. The programmers wrote the script, the interpreters - interpreted for the robots. Lots of fun and was an eye-opener for them.

Much appreciated all.
posted by mattoxic at 4:35 PM on August 11, 2012 [1 favorite]


« Older Gifts for Farmers   |   Interesting reusable GPX logs? Newer »
This thread is closed to new comments.