Please give me ideas for a programming demo for fourth graders.
June 15, 2017 2:10 PM   Subscribe

I'm giving a 'this is my job' talk for my 9yo son's 4th grade class in two weeks. I want to do it on programming (with python), what should I show them?

I'm a web developer, but instead of focusing on that I thought I'd show them programming in general. (I have thought about showing how to make a basic website, but I think it would be too abstract.)
I don't want to teach them programming, kind of a stretch in the 15 minutes I have, but I would like them to come away with the idea that programming is cool, fun, etc.
So, it should be fairly visual but something where they can at least understand what a variable is and what happens when you change it.
I use Python mostly, so that's what I'd like to show.
posted by signal to Computers & Internet (16 answers total) 5 users marked this as a favorite
 
This may not fit the bill, but may be a resource for you: Computer Science Unplugged is a free computer science program for elementary ages. It has various activities, none of which use a computer. In the first one, you use printed cards to learn about binary numbers, and learn to translate binary and decimal numbers. My kids loved it. Heck, I'd had binary numbers explained to me a thousand times and never understood them as well as after that activity. It might not be as fancy and "programming" focused as you're thinking, but it does a great very basic intro to the fundamentals of computer science.
posted by Orlop at 2:16 PM on June 15, 2017 [2 favorites]


Google's Made With Code project has some neat little tools that help kids visualize how changing code changes the way something works or looks. Here's one with a little make your own emoji character thing, they had one a few years ago where you could 3D print your own bracelet. They're neat.

Something they could see that would be tangible to them, where they can see how manipulating variables makes actual changes, will make programming more real and interesting to them.
posted by phunniemee at 2:17 PM on June 15, 2017 [3 favorites]


Simon? (80s memory game)
Video demo

Stick ugly details in a library, show basic logic
posted by th5 at 2:24 PM on June 15, 2017


Best answer: I would do something very visual and more simple than you're planning. You have 15 minutes. Students are 9. A colour is a variable. Personally I would do something simple and graphic in HTML5 and have a colour chart. Let a couple of kids pick the colour of the walking robot's head, someone else can choose the body, someone else can change the background colour, etc.

At this age and in this time frame, you want to introduce one concept and let them learn about it experientially.
posted by DarlingBri at 2:28 PM on June 15, 2017


You could try doing a live demo in MIT's Scratch, which was developed to teach kids the concepts of programming in an exciting and easy way. You could work with the class to "program" a couple sprites to do whatever they want the sprites to do.
posted by amohield at 2:36 PM on June 15, 2017


You can program an Amazon Echo with python and do a little quiz. Or teach the kids a basic sorting method and have them act it out.
posted by mattamatic at 2:36 PM on June 15, 2017


I wouldn't get into the details of programming languages in such a short time period.

Instead teach them that computers do exactly what they are told: have them come up with a list of instructions for making a PB & J sandwich, then you follow the instructions to the letter. E.g. if they didn't tell you to take the lid off the peanut butter jar before sticking the knife in, you futilely jab the knife on the lid.
posted by monotreme at 3:03 PM on June 15, 2017 [5 favorites]


One of my favorite demos was where you pretend to be a robot, and the kids give you instructions on how to make a peanut butter and jelly sandwich, and you do exactly what they tell you. You start out by saying you need to define the variables; pick up each object and they tell you what the name is ("knife" is easy, but do you call the next object "jar" or "jelly" or "jellyjar").
Then you demonstrate how you need to break tasks down. "open the jar" "I don't know how to do that" "turn the lid" (whole jar turns) and eventually you get to "hold the jar in your left hand and turn the lid to the left with your right hand". and how leaving out a detail (take the clip off the bag) can make the instructions (open the bag) fail and that's what debugging is.
Then you can talk about wanting a library of different actions, like "openjar" or "spread"

The only thing is, this sounds really quick, but if you really do it right (the pickier you are, the more it teaches real programming concepts) it takes more than 15 minutes.
posted by aimedwander at 3:06 PM on June 15, 2017 [3 favorites]


What DarlingBri said.

In fact, her link to codepen.io might be all you need. Ask them to pick one of the examples, drill into the source, and start messing with it real time. You want their takeaway to be how you've got the keys to the kingdom, and they could, too. 15 minutes is more than enough time to get them to help you to mod one of those examples quite heavily and show them how little is standing between you (or them) and doing this stuff for themselves.
posted by NoRelationToLea at 3:18 PM on June 15, 2017


Two things from my spouse's experience:

- The PB&J Thing works only pick something else because many schools do not allow peanuts in the classroom. I believe he went with pouring a glass of water from a closed water bottle.
- He also asked the kids to give him a list of things that were computers at the start of his talk and at the end. His talk was design to help them understand that computers are many many different things. I don't know why but the kids loved this, he reported.
posted by CMcG at 4:02 PM on June 15, 2017 [3 favorites]


Python has the turtle library built in-- which is pretty perfect for showing codes having a direct action. There are lots of nice examples online showing various pleasing patterns you can direct the turtle to draw.
posted by Static Vagabond at 5:05 PM on June 15, 2017 [1 favorite]


15 minutes with a room full of nine year olds is nit enough time to teach them any actual code. Just do a real quick graphics demo.

Or if you're familiar with minecraft, maybe show some logic gates with red stone.
posted by empath at 6:56 PM on June 15, 2017


And actually, teaching some quick HTML might not be bad. It's pretty easy to grasp tags, and stuff, I think, and it has the advantage of being related to your actual job.
posted by empath at 6:58 PM on June 15, 2017


One of my favorite demos was where you pretend to be a robot, and the kids give you instructions on how to make a peanut butter and jelly sandwich, and you do exactly what they tell you.

Use sunflower butter!!

I do this every year when I teach kids coding and it's their favorite lesson ever. I tell the kids I'm a computer and will follow all of their directions -- I'm only as smart as my code, and they're the coders. Just use sunflower nut butter--I've never once had a kid with a sunflower seed allergy.

Be dramatic. When they say open the bread, tear it open and fling bread everywhere. When they say spread the jelly, use your hand. Have fun with it--it's a great lesson in how code is smart and computers only react to a smart code.

15 minutes will be enough time to have fun and teach them something.
posted by yes I said yes I will Yes at 3:28 AM on June 16, 2017 [3 favorites]


So how did it go?!?!
posted by DarlingBri at 8:16 PM on June 26, 2017


Response by poster: In the end, I decided to something simple, and just made a basic presentation as a single webpage, including a few bouncing robots from DarlingBri's link. I basically said: "I make websites, I use HTML to do it, this is called coding and coding is how every website, game, app, etc. is made, and it's easy and you can learn how to do it".

I used Bracket's realtime update view so I had the code on half the screen and the website on the other half, and I showed them that you could change the code and the website updated. I also had them call out color names and I changed the background and text colors, etc. This was a hit. There where a lot of 'oh, that's how it works' sounds.

All in all, it went swimmingly, my son was happy and the kids asked a lot of smart questions at the end.

Thanks for all the answers.
posted by signal at 2:25 PM on June 27, 2017 [1 favorite]


« Older Best Legal Coverage of Trump & Investigations   |   Be smart from the very beginning, new e-mail... Newer »
This thread is closed to new comments.