The Merlin

January 11, 2012

Python Computer Games with Annabelle, part 1

Filed under: Computer Science — Tags: , , — Matt @ 10:24 pm

Several times this year I’ve been dismayed to hearĀ Annabelle say that she thinks she’s not very good at math. After asking her why she thinks this is I’ve learned that she worries that she has not memorized math facts as well as other kids in the class, and that she has to count on her fingers. While rote arithmetic is not something I’m interested in drilling the kids on, there’s something to be said for getting this out of the way so that the child can take the facts for granted. Doing this has been made less painful (it seems to me) by the availability of computer games that drill them.

Watching how kids interact with these math websites, though, it’s not been clear to me whether the appeal of the games is only due to the splashy action that is layered on top of the basic drilling, or if there might not be an intrinsic satisfaction to getting the answers right. It occurred to me that there might be an extra layer of satisfaction that would accrue from using a math facts drilling game that the child has written herself. Even if the game was a simple terminal text interaction, the fact that the program behaves as the child designed it to should make playing it that much more fun.

I proposed to both girls that together we develop a series of quiz-like games, andĀ that the normal limits that we parents put on screen time would not apply for games that they wrote themselves. This seemed to be a fun idea, although we all realize that it may take a long time to develop such a game, and that by the time we’re done (or before then) interest may wane substantially.

My main goal is to get across at least some basic concepts of computer science. I’d like to do this over many very short sessions, so that the girls’ attention spans are not taxed and that the project remains fun. I’ll be developing the sessions in parallel for both Fiona (5th grade) and Annabelle (2nd grade), and there will be, obviously, some important differences in approach. The content presented by the quiz program will vary as well: Annabelle wants to learn her times tables, while Fiona has been working on State Capitals. But the core of the program we develop should be the same for all kids regardless of age. A secondary goal is to entice the kid into using a simple quiz program to drill themselves on elements of their schoolwork. Since the project to make a quiz game in Python from scratch will take some time, I set a modest immediate goal of having Annabelle understand what a computer program looks like, and how it can be modified to run in a way more to her liking. (more…)

Blog at WordPress.com.