- Similar posts for 'python':
- Katie writes: Kids Code!
- Looking back, looking forward
- Your wiki is a dump
- Teaching: The OS Divide
- Beginners: What now?
- 7/14/14 - Flask + git: Easiest workshop ever
- 7/8/14 - Katie writes: Kids Code!
- 2/7/14 - Rune Factory 4: *What* romance options?
- 12/31/13 - Looking back, looking forward
- 12/11/13 - Your wiki is a dump
- 12/4/13 - Review: System76 Galago UltraPro
- 12/2/13 - What I learned from NaNoWriMo 2013
- 11/12/13 - Alt text - doing it right
- 11/4/13 - Teaching: The OS Divide
- 10/28/13 - Nanoblogmo
24 October 2012
Note: I half-wrote this way back, but then had to put the blog on hiatus due to commitments that make me money. I've decided to post this now that schools are back in session, hopefully encouraging others to speak at their kids' schools this year.
I did my first career day at my son's school, and it was a blast.
I'd never done one before, because either the timing was poor, or the stinker would hide the flyer from me. This year, I intercepted it and was able to sign up, much to his horror.
Since I signed up for a whole day, I thought I'd be speaking for the whole day. Imagine my level of peevishness when I found out I was only signed up for three talking slots. Was I not cool enough or something? I pouted with another first-time parent (also in IT), as we waited for our turns.
The cool factor of the other parents was also a bit intimidating. We had:
- A bee keeper
- A mobile vet lab
- A freaking SWAT team
- A mounted policeman
- Loads of firemen
- A Redskins cheerleader
Seriously? I'm going to compete with that? I comforted myself that I was at least a step above the nutritionist.
Talking to the kids
Finally, it was my turn.
We were handed a sheet of things to cover. This sheet was very important, because the kids had to write down certain things about you, like how much you can make in your career, what character traits are important, and how much education you need. You know, the boring stuff. After that, you could ad lib all you wanted.
I was tempted to ad lib all the way through, but the kids stopped me cold. "You're not reading the sheet."
A girl held up her worksheet. It looked like the sheet I'd been handed, except hers was mostly blank. Fine, I read off the sheet, they filled out their paper, and they were happy. Less stressed, they actually paid closer attention to what I had to say after that.
- My spiel was pretty basic:
- I told them I was a developer, a person who makes programs for computers and the Internet. Computers are stupid (the kids loved that I used a 'bad' word, by the way), and we give them instructions to tell them what to do.
- We call those instructions 'code.'
- Many things in our lives are either computers in disguise, or contain computers. Gaming consoles, phones, MP3 players, TVs, and even cars use code.
- Being good at math is a plus, but I know many developers who aren't as good at math who are great developers.
- What you need to be good at is breaking down a problem into parts, and being able to solve those parts.
Oh, and be good at writing and communication, I added. I figured I might as well indoctrinate some of them while I had them, because we totally need more developers who can write coherently.
I also brought up that I was way overdressed for my job, seeing as how I was in jeans and a nice sweater set. I usually wore my pajamas.
My spiel done, I brought up the code for a fairly basic number guessing game.
import random high = 10 secret_num = random.randint(1, high) while 1: guess = input("Give me a number between 1 and %s: " % high) if guess == secret_num: print "You got it!" break elif guess > secret_num: print "That's too high. Try again!" else: print "That's too low. Try again!"
I walked them through it, and surprisingly, the kids got it right off the bat. We messed around with it, raising the upper limit, changing the inputs, adding how many times the class had guessed. They really, really understood it. They knew what to change, and they knew what the outcome would be.
This should be a lesson to educators: You don't need to start kids off on some fake programming language like Scratch. We have something they can understand and actually use later.
I then brought up my roguelike, toyed around with it, and showed them how much more code was involved. They began to understand that you can do a lot with a little code, but sometimes you need a bunch of code to do something bigger.
Lastly, I made my Mac speak. This, hands-down, was the best trick, and it was one I didn't add until a few minutes before I started my talks. You'd think a bunch of kids who had consoles and computers at home that spouted voice acting all the time wouldn't be into this, but they were amazed. I got requests to do everyone's names, get the computer to sass me, and get it to say bits of songs that I wasn't cool enough to recognize.
There was a time set aside for questions, and I got hammered.
- Common questions:
- Do you know anyone who makes video games? (Yes, I know people at EA and BioWare, and a few indie developers. The kids flipped out over this)
- Can I play your game on my XBox/PS3/DS? (No, and then I explained how distribution channels worked, and how it was very expensive to develop for consoles)
- How long does it take for you to make a website? (It varies. I've put one up in an hour, I've had them take me a few weeks. One took a group of us a year to make)
- What games do you play? (I'd list off all the titles I could think of, much to the dismay of the teachers. I think they wanted me to decry all games as evil. The kids, however, were stunned that I played many of the games that they did.)
- Can you hack our teacher's computer? (Uh, no. That's illegal.)
What surprised me
The kids repeat questions. Over and over and over again. Not variations on a question: the same exact question. I would just repeat myself until the teacher intervened.
Every kid has a smart phone. I guess my son wasn't being dramatic when he said he was the only one without one.
I should have reviewed what kids call numbers before I went in. They don't call them integers and floats. They call them whole numbers and decimal numbers. I'd recommend asking the teacher before you go in, since this could vary by district.
One kid asked me if I knew anyone who worked on Grand Theft Auto. "That's rated M. What do you know about that series?" "Um..."
The kids were shocked that me, an old person, played as many video games as I do. They were also shocked that I knew what all the systems were, and that I would actually choose not to buy one.
They were really, really good at the number guessing game. Like, almost perfect. I've known adults who couldn't do the guessing game in the minimum amount of moves.
Not everyone presenting was a parent of a child there. Some had children who graduated long ago, others were friends of a teacher. Some had approached the school and had a standing agreement. I had always assumed that the adults at career day were parents to a child there, but most weren't.
So, should you do a career day?
You absolutely should. I was up against a SWAT team and a vet, and I ended up being one of the more popular presentations. It takes barely any prep: I wrote the number guessing game while I was waiting. They already had the format they needed, and it wasn't anything I had to think terribly hard about.
Getting kids excited about programming today means that one day, you're more likely to have competent juniors. If you plan on being in the workforce eleven years from now, the fifth grader you talk to today is your new hire in the future.