Howard sent me a link to a game called Petit Computer with a note that it might be a good choice for Link’s upcoming birthday. I watched the video and it was like being transported back to all the computer avoidance of my childhood. My father was a computer programmer beginning in the days when that meant racks of punch cards. My three brothers and two of my sisters were all interested in the possibilities of programming. For me, programming was something to escape from rather than enjoyable. My response to Howard was that I was not a good judge of whether the game would appeal, because it looked hard and boring to me. I was just self-aware enough to know that not everyone shares my opinion of programming. My family members certainly didn’t. Many of my current friends are excited by the thought of putting together code which turns a pile of organized metal and plastic into a magic generator of games and productivity. I just want to turn on the computer and use it.
I think I was in elementary school the first time I located the blind spots in my eyes. Every eye has them. They are the spot on the retina where the optic nerve attaches. This means that no visual data is collected there. We don’t notice them because our brains fill in the gap with what ever is surrounding that spot. If you put something small enough into exactly the right visual space, it vanishes. I remember holding an optical illusions book close to my nose and moving it back and forth to watch a printed dot disappear into my blind spot and come back again. As long as the dot sat in my blind spot, it was as if it did not exist.
As kids hit their teenage years, they start needing a focus. They need something around which to form an adult identity and a direction to be heading. Children are happy to just be, teens want to be going somewhere. Link struggled last year because he knew that he needed a direction for his life, but the only thing he is really passionate about is video games. I keep trying to introduce him to things ancillary to video games in the hope that something would ignite the same passion. I gave him tools for making videos and video editing. We took him to GenCon. I kept casting around for something, anything, that would help Link find a focus. I never even considered teaching him to program a computer. Programming sat in my blind spot, because I didn’t like it and didn’t know how to make it sound exciting. It did not occur to me that to the right person, programming is exciting all by itself.
“Mom! I want to buy this game.” It was a familiar refrain, one I’ve been hearing all summer. Link has spent most of his lawn mowing money buying games on his 3DS. He researches the games himself, plays demos, and then comes to me for help when he’s ready to buy. The game he had found this time was Petit Computer.
“You really want this one?” I asked.
“Yeah! I can use it to write my own games!” Link’s eyes were bright and excited in the way that he is when he is truly engaged. When Link is talking about something he loves, he meets my eyes and speaks at length. His enthusiasm causes him to forget that words don’t always come easy. At all other times he uses as few words as possible. We bought the game. More than that, we made an appointment with one of his uncles, someone who loves programming, to sit down with Link and teach him enough BASIC to make the game do fun things.
It is like I turned my head and realized that a wonderful possibility was sitting right there in my blind spot. Among the things that Link will be getting for his birthday is a copy of Hello World! Computer Programming for Kids. It is possible that Link will not fall in love with programming, and that is fine. He needs something he is passionate about, not something his mom thinks he should do.
I never wanted to be the parent who tried to push kids into things I wish I could have done. Yet over and over I discover my own interests and biases leaking into their lives. All I can do is make adjustments when I catch myself doing it.
Looking at the page for that book, it might be a good choice but wouldn’t be applicable to the petit computer thing so you might look into something specific to that as well. The language the book uses is an excellent choice for beginners though. I highly recommend Python to anyone starting out on programming on full sized computers (and Pygame for making games with it.) I imagine if you talk to Dave/Chalain though, he’ll add Ruby as another good option.
Yup. I know that the Python book won’t help with BASIC, but I figure it is a second good place to start.
You might look at GameSalad, which has a free version for making games: http://gamesalad.com// Petit Computer would develop true programming skills.
You might also think about Scratch (http://scratch.mit.edu/) and Kodu (http://www.kodugamelab.com/) as other free choices. I have used both with younger kids but I think teens would like it as well.