The opportunity for CS in education
My college education was a fairly perfect stereotype: I’m a white woman who studied journalism who married a white man who studied in a STEM field.
Interestingly, while he’s the one who majored in biomedical engineering and computer engineering, I’m the one who wound up in tech. And after all these years, through my work alongside engineering teams at various companies and the four years spent at Stack Overflow (the world’s most pre-eminent destination for software developers online) I have a confession: I don’t know how to code.
Is this a problem? Not for me, at least not anymore. By this point, I’ve learned (mostly) enough about how to talk about technical topics, even if I can’t actually roll up my sleeves and do it myself.
But it does make me wonder what opportunities an early CS education opens up for young people (and in particular, young women) who might not otherwise stumble upon this lottery ticket to an upper middle class income.
Turning back time
I asked my husband once, “How did you first learn to code? Were you taught in high school?”
Definitely not, he said. But he, like many young boys, simply hacked their way in. (Literally, he won an award in middle school for hacking into the computer grading system. They called it the “Computer Safety Award.” How times change…)
I pushed on him more. “So how then?” I wanted to know. “What led you to figure this out on your own? What was your first coding project?”
He thought about it, then started smiling. “I made a cheat to the board game, Clue.”
“Yeah, so you know the game, Clue? How there’s a murderer, a room, and a weapon of murder? It’s really just a game about the process of elimination and diminishing odds. It turns out that if you write down everybody’s answers and everybody’s guesses along the way, you have a pretty good shot at finding the answer and cracking the code before anyone else.”
“So you built an app to help you win Clue?”
“That’s right,” he said, grinning.
“And when did this happen? High school?” I asked.
“No, definitely earlier. More like middle school. Honestly the only reason I taught myself was because I found a problem I wanted to solve. It was a fun project.”
“Wow,” I thought. “I was closer than I thought.”
You see, when I was in middle school, I was obsessed with this computer game version of “Where in the World is Carmen Sandiego?” In it, you played the part of a gumshoe detective looking to identify super-villains who escaped from jail. Your character traveled to places all over and interviewed witnesses asking them for clues about what they say. Each clue gave you another piece of the puzzle, and with enough information, you could create a warrant for arrest for the criminal.
Like Jason, I figured out pretty early on that there was a limited number of options to the game. On any case, there were only 12 or 14 total possible villains, and they each shared unique character traits that helped you identify one from the other.
So every time I received a new piece of information about a villain, I transcribed all of the data into a notebook, creating my own incomplete profiles for each character. That way, even if I didn’t make all of the correct choices in the game, I could still file a warrant for somebody’s arrest with less information than somebody else might need.
I see now that I was essentially building a painful, hand-written script.
Connecting the dots
What makes me annoyed about this story is that I didn’t take it any further. If there had been somebody around me who was a hacker-by-nature type (whether a friend, family member, or teacher), it would have been patently obvious for them to show me how to plug this information into a computer program and build something out of it. If I had a bit more situational awareness into the opportunity with technology, maybe I (like Jason) would have figured this out for myself.
But neither of these things happened. And so, rather than develop a nascent hobby in computer programming, I developed one in writing instead.
Not that this is a problem in the long run. Because like I said, everything is working out fine for me. But it does make me wonder about the opportunity to infuse coding curricula into the classrooms earlier on. If we can teach students about coding when they are first coming up with these questions and problem statements in their head, we can empower them with technology and give them a vocabulary around this whole line of thinking.
It’s impossible to say why, when matched with a similar problem, a boy in Illinois went to a computer to solve that problem, whereas a girl in Pennsylvania stuck to a pencil and paper. I’m sure there are a million reasons.
And I imagine there are a million more stories out there like this one, which is a massive opportunity for CS education today.