Over the last two decades, it can be argued, no area of study has seen larger growth in span and general application than computer science. Today, computer science encompasses everything from bio-statistics to computer animation to start-ups. Mehran Sahami, a professor and Associate Chair for Education in Computer Science at Stanford University (where he earned both his undergrad degree and Ph.D.) has loved computers since he was ten years old. I spoke with Professor Sahami about the changes he’s seen in the field since he first started studying computer science, his time working at Google (before the rest of us knew what “googling” was), and whether computer science is for everyone.
How is computer science taught differently today than it was when you were a kid?
Students who take computer science classes are more aware of the uses of computing. When I was a kid, the average person didn’t have a computer in their house, and there certainly was no Internet browsing. Now, it’s such an integral part of what people do on a daily basis. You see students who are consumers of technology coming into those classes. They’re more aware of what’s possible, but the real magic is turning students from consumers of technology to potential producers of technology.
So many high schools today still don’t offer computer science.
One in ten schools have an AP computer science class. But the statistics about which schools offer any computer science class are harder to come by, because the real question is, what do you count as a computer science class? Some schools may have a course in how to use a word processor and a spreadsheet, and call that a computer science class, whereas other schools offer real programming classes and call it a computer science class.
Right. In New York State, computer science isn’t even viewed as an official subject. Do you see this as a problem?
If kids don’t have access to computing education, it’s a serious problem. There are many jobs available in computing—the Bureau of Labor Statistics predicts that we’re under-producing people with computer skills by a factor of three-to-one. So students who don’t have the opportunities to learn about computing to see if this is something they’re interested in, at an early stage, are losing out on the opportunity to pursue these careers, which are in high demand.
You went to undergrad at Stanford, got your Ph.D. there, and now teach there. What was Stanford like when you were a student?
When I was an undergrad in the late ‘80s, early ‘90s, there wasn’t as much general awareness of the kinds of things you can do with computing. There wasn’t the same level of intensity in the high-tech economy that there is now. So the notion of people going to do start-up companies was a very foreign concept. Most people were in computer science not because they were aware of the job opportunities. If anything, they heard stories about IBM having their first layoffs ever, and other negative information. They got into it because they were really interested and loved the technology. At the time, there was one large monolithic set of requirements for everyone doing a computer science major.
If you fast-forward 25 years, the perception and the opportunities have changed. In terms of opportunities, computing is a field that’s gotten much larger. There are many more sub-areas of computer science like graphics and human-computer interaction and computational biology that we want students to get exposure to. The undergraduate program there now, instead of having one set of requirements for everyone, has a set of tracks by area of concentration. There’s a core that all students share, but depending on which track they’re in, they work in different areas. That casts a broader net for students. There may be some students who have a serious interest in a particular area of computing and want to focus on that, so having this flexibility in the program brings in people who might be interested in film and computer-animated movies that wouldn’t necessarily see computer science as the path to there before. Now they can concentrate in graphics, and not only get a rigorous computer science education, but learn about how to do graphics and animations.
So the idea of what is possible has expanded.
It’s expanded, and we also have multi-disciplinary options where there are classes from other fields that can count towards computer science when we think they make sense. For example, we have a track in bio-computation where we actually count a fair amount of chemistry and biology towards a computer science degree. We think that the people who will be leaders in computational biology need not just an understanding of computation, but also need to understand the biology.
In your Tedx Talk at Gunn High School you mention that from 2000 to 2005 the number of students enrolling in computer science dropped significantly. What happened?
The clear factor for this was the dot-com bubble bursting. If you look at the high-tech economy up until that point, starting in 1995 when Netscape has its initial public offering, there is this frenzy around the Internet. The stock market goes crazy, lots of people are doing start-ups, and as a result, a large number of students begin to think of computing as not just something to do because you’re interested in technology, but as something you potentially do to get rich. In mid-2000, the dot-com bubble bursts, the high-tech economy crashes, a lot of the start-ups go out of business, and not only do the students who thought this was the way to get rich leave computing, but even the ones who were interested in technology think that maybe there aren’t any career opportunities. So you couple this economic downfall with the news coming out about the tech jobs moving offshore to China and India, and that further creates this perception in the United States, at least, that there aren’t going to be as many high-tech jobs in the future. That’s a deterrent for students who may have been interested in going into computing.
Was this decline in enrollment a factor behind Stanford’s decision to redesign the computer science curriculum in 2007?
It’s a combination of factors. The drop-off made us aware that there were some larger issues going on. It’s not that we thought our curriculum was broken before, but we wanted to make sure the students saw the breadth of opportunities out there. In the last 20 years, computer had really grown as a discipline but the curriculum had not grown to the same extent. So a primary motivation in revising the curriculum was to have it reflect the diversity of things you can do in computer science, and give students the flexibility to go more deeply in their areas of interest. But if you think of the set of all the areas you can touch on, the net you cast for students is much larger now. You’re not just bringing in students with a very particular, focused interest in building systems; you’re bringing in students interested in computational biology, or psychology and design, how people interact with computers. Same thing with graphics or movies or game-making. At this point we have about ten different tracks in our program. The number of computer science majors we have has tripled in five years since we did the curriculum revision.