Early Encounters with Variables
October 12, 2009 6 Comments
I’m a research data manager: I spend my days working on various levels of the process of converting people’s responses to questions into numbers in the computer. It’s not the career I expected, and it’s not a career most people immediately understand (the scene at my high school reunion: “So Jason is a police officer, and Kyle is a brain surgeon, and Rebecca is a…what did you say, again?”), but I enjoy it. Funny, I thought I didn’t like math! But you see, it’s not really about math; it’s about variables. A recent online mom discussion about whether children should use computers led me to reflect on what I learned about variables at an early age and what my son is beginning to learn now.
My father got one of the first home computers (the original Apple II) when I was four years old. He began letting me use the computer right away, for short periods of time with supervision. He also began right away explaining to me how the computer thinks by following a program. He wrote a program that does mad libs (it asks you questions and uses your answers in a story) and I sat with him helping to decide the details and watching how each answer from the user was encoded in a variable and the computer then plugged in those answers in place of the variables in the story. The way my father explained it is that the variable is like a box: When the computer sees “A$” in the program, it opens up the box labeled “A$” and puts whatever is in there into that spot. He referred to this idea once in a while as I played other games that used variables. Some variables are random: the computer reaches into a box full of words and grabs one, like the grab-a-prize bag at the carnival.
This was extremely educational, and not just for the purposes of learning computer programming. One of the few battery-operated toys I ever got was a Speak & Spell (it tells you a word to spell, you type in the letters, and it tells you if you’re right or need to try again) and within a short while after receiving it at age 6, I realized it was just running a program with variables, and I got all excited and tried to write out the program (but gave up because it was so long and detailed). Same thing when I first saw an ATM at about the same age. As computers have proliferated in our everyday life, I’ve always been aware of the basic way they work, and that makes it a lot easier for me to get along with them and not feel intimidated.
When I was 8, my dad tested the database software he’d written by helping me create a database of my stuffed animals. This required much more thinking on my part than the computer’s! I had to decide what the fields of the database should be, which should be text and which should be coded, and what categories to set up in the coded ones. Thus I learned the difference between a string variable and a categorical variable, and the limitations of each–which was really useful 12 years later when I got a summer job setting up an address database.
I also helped my dad set up the database for my parents’ Christmas-card list and then spent hours poring over the printout, thinking about how important it is to keep all the data in one record associated with each other–because if you mix it up, this street is in the wrong state and those children have the wrong parents and–oh, the humanity! Earlier in life I’d spent hours with other personal data lists (like the school directory or the membership list of my mother’s babysitting co-op) which I now realized were not computerized but simply typewritten by someone who had all that data organized somehow…how? I studied the library card catalog and its cross-referencing and began to realize just how impressive it was that the computer could “pull the cards” of all my stuffed pandas and display them within a minute or so, then “look through all the cards” again and display all the animals whose names began with S, whereas a person physically sorting cards would take a long time.
What can I say? Apparently I was naturally inclined toward data management. I just didn’t know it for a long time. Actually, it took me a while to realize not everyone found these things so enthralling (“You’ve been looking at an address list for two hours?! Um, I’m gonna go jump rope with the normal girls.”) and even longer to realize what an advantage I had with computers because of my early start.
My son is growing up in a world filled with computers. Even many of the machines in our home are partly computerized, such as the CD player and microwave oven, and Nicholas learned to use these at an early age. (No, he is not allowed to use the microwave unsupervised!!) We’ve found many online computer games suitable for preschoolers. So far, Nicholas is just a computer user, but we’re starting to talk about how computer programs work.
Recently he played a pbskids.org game in which a child has lost something and Grover goes looking for it and brings back something that rhymes with the lost thing. In the first round, Nicholas noticed that there was a slight pause in Grover’s speech before he said the name of the object. In the second round, he saw that the game was exactly the same as before but with different objects; he said, “He stops to remember what to say? But no, because that’s not the real Grover, just a computer drawing.” I explained that the computer is following instructions to make the pictures and words happen. Instead of writing a whole set of instructions for each version of the story, the programmer wrote a story with blanks that are filled with these things called variables. A variable is like a box the computer can reach into when it comes to that part of the program. When you click on the thing that rhymes with the lost thing, the computer puts that thing into the box. Then the picture of that thing gets pasted into the space next to the picture of Grover, but he’s not like the real Grover who can see that thing and remember picking it up. The computer plays the recording of Grover’s voice saying, “Here is your” but then it has to reach into the box and take out the recording of Grover’s voice saying, “hat.” So we hear a little pause while the computer reaches into the box.
Although I explained this, it was interesting that Nicholas already had figured out the basic thing that was happening: Grover stops talking for an instant while he thinks about what to say. But it’s jarring that he does, because “the real Grover”, a live person puppeteering Grover, would know what Grover was holding without having to think about it every dang time!
Nicholas has since mentioned that the voicemail lady (he likes to listen in when I check messages) and the automated announcements of bus stops are “like that computer Grover”, and he is exactly right. Variables at work!
P.S. My brother responded to this article, pointing out that variable retrieval may not be the true cause of Grover’s awkward speech:
When people speak, one word runs seamlessly into the next (“hereisyourhat”), so any moment of silence between “your” and “hat,” no matter how short, will sound weird… but when the words are recorded separately, there’s no way to avoid a gap. Voices that are actually computer-generated (from text) rather than composed of recordings can sometimes sound more natural because they can blend words together like real voices do.