I wrote a post just about a year ago on how “Hackers and Hombrewers are NOT Pirates.” Like most of what I post to the web, it serves little more than to remind me later of the evolution of my thoughts on particularly relevant research interests. Like beer. Recently however, there has been a resurgence of commentary/thought on the decline of computer science programs. Though I now consider myself primarily a “historically inclined cultural anthropologist who studies cooperative work, with game development and the game industry as my primary lens,” I began my secondary education as a computer science and mathematics major with women’s studies and sociology as the instruments that later led me to graduate school.
What follows is my analysis of recent reports on how, “Lack of Programming Skills Puts U.S. Security at Risk,” and the “gender gap in perception of computer science,” [the actual report] are a product of a continual assault on the “hacker,” “the tinkerer,” and “hobbyist” more generally in our culture. To which I first say, “serves us right, what you reap, you sow.” Having gotten that off my chest, I’ll attempt to be a bit more constructive with what follows…
The problem is really two fold. One, perhaps most directly is indexed by Douglas Rushkoff, that:
“In a computing marketplace where altering one’s iPhone will ‘brick’ its functionality and where user improvement to programs is treated as an intellectual-property violation, it’s no wonder we have adopted the attitude that our technology is finished and inviolable from the minute it has been purchased.”
Is that we are both culturally and legally discouraged from tinkering or hacking our devices. I actually index some of these ideas as rooted in the history of the videogame industry, in an upcoming article in the IEEE Annals of the History of Computing. This should actually worry us more than simply the realm of computer science. These issues are crucial for other areas as well, and foundational to the videogame industry. When I write in my TWC Essay that, “The importance of, the desire for, or the drive to understand underlying systems and structures has become fundamental to creative collaborative practice.” This fundamental drive is being subverted by things like the DMCA and our desire for smooth technologies that encourage us to not play. So, that is certainly part of it.
The second aspect I think speaks more clearly to the decline of CS and interest by students. It is the “boring” or “nerd” factor. Now, admittedly, I am a died in the wool nerd. I don’t fight that. I continually geek out, but that is the product of interest and passion.
For example, boys tended to use words such as “design,” “games,” “video,” etc., with more frequency than girls. By contrast, the secondary words used by the girls tended to take on a more negative tone—with “boring,” “hard,” and “nerd” being used more frequently.
I’m just going to come out and call a spade a spade. Yes, Fibonacci is a useful tool for teaching recursion. Yes, palindromes are a useful way to teach the utility of stacks. Yes, string parsing and number crunching are the primary things one does in computer science, but these are means to an end. These things are f-ing boring to an incoming student. Most don’t see the link between these concepts and their application. Remember, so many college students have not been taught to think in the US educational system. They’ve been taught to memorize and there is no way to memorize the solution to a complex problem or design. So much of CS is design and problem solving, it is thinking about elegance and functionality. It is in short, interesting. But instead most CS programs start with teaching the uninteresting parts instead of giving students a glimpse of the possibilities.
“[O]ne needs to look at other factors that are turning off these young people. Why isn’t a high school interest in computer science translating into enrollment in college computer science classes?”
I taught a class full of men and women in a non-programming class to use Löve to create interactive graphics and even a few games emerged. They all got into it. Into programming. When they wanted to do things beyond their skills I then started telling them about data structures, string parsing, and number crunching. Start with the fun. That is what drives students away and gets nerds like me labeled such.
All of those other disciplines that students pursue have geeks that live within them. The geeks and nerds are those that geek out, that find passion and interest burried within the often tragically boring ways in which concepts are taught.
However, time and again, especially in the context of technology, we are encouraged or legally forced to not ask questions and look for the underlying systems and structures that make things work. Could you imagine if a student in med school when asking about how a particular device functioned, lets say a dializer for example, if the teacher responded with, “well, that is covered by the DMCA, so I don’t know and we cannot find out. Just assume that dirty blood goes in and clean comes out alright?”
Tragically, my favorite computer company seems to be one of the most guilty parties in this regard. Batteries sealed in laptops and non-user replacable hard drives in “pro” laptops. Tower macs are of course much more “openable,” but the laptop is on the rise. Even my favorite cell phone is marred by the fact that it is so thoroughly closed. The software APIs are open but I cannot even interface with it without the use of its dock.