CS’s rising popularity poses pressing questions

Sitting in a brimming Hewlett 200 this past fall quarter, Janet An ’16 looked around the second largest classroom on campus minutes before Associate Professor of Computer Science Mehran Sahami ’92 M.S. ’93 Ph.D. ’99 began his CS106A lecture.

Every seat in the room was occupied, and a line of students stood along the walls while others sat in the aisles. Just as Sahami was about to speak, a fire marshal entered the classroom and ordered people who were not seated to leave.

“I definitely felt a little overwhelmed since you see people sitting all the way down the stairs and corridors and basically everywhere you could fit a human body,” An said. “But it felt really cool to be a part of something so big. Knowing that [computer science] is becoming such an important part of campus and a field with so many possibilities, it was exciting to get involved in the community early.”

While An said that the fire hazard incident was joked about for weeks afterward, it serves as a somewhat ominous illustration of the problems associated with a significant trend that has irrevocably shaped Stanford’s perception—the rise of the Computer Science Department.

A department under pressure

Enrollment in CS106A: Programming Methodology, the department’s most popular class, has steadily increased over the past four years, reaching a record 1,817 students in the 2012-2013 academic year.

The number of students declaring a computer science major also rose substantially over that time period, with a projected 273 computer science declarations this academic year topping last year’s record-breaking figure of 246. Even graduate students have become involved, employing computer science skills for tasks as diverse as writing scripts to analyzing DNA base-pair dislocations or building models to represent market simulations.

While more students have benefited from an exposure to programming, Department of Computer Science Chair Jennifer Widom said the department has been hard-pressed to match the growth in student interest with faculty members and administrative resources.

“The department is actually under a serious amount of stress. We have faculty teaching classes with over 600 students quarter after quarter,” Widom said. “You might see Keith [Schwarz ’10 M.S. ’11] or Mehran up there smiling, but behind the scenes they’re working really hard. We are almost in crisis mode trying to deal with all these students.”

Schwarz, a lecturer who was hired in 2011, taught a total of 830 students during winter quarter in CS106A and CS103, the largest number of students any individual professor taught on campus.

Schwarz described the administrative issues involved in teaching so many students as taxing. He estimated that five percent of students had some type of administrative problem such as a scheduling problem or illness, which resulted in approximately 41 students needing special accommodations.

“I will try to meet with people, and I want to help out, but it gets to a point where I just can’t,” Schwarz said. “And it’s pretty terrible to have to tell someone, ‘I know you’re struggling and I really want to help out, but I just can’t.’ It’s not personal. I just hit the physical limit of what I’m capable of doing, and there’s no more time in my day.”

Fluctuations in popularity

While some computer science classes have experienced enrollment spikes, the trend is not universal. Other introductory classes, such as CS101: Introduction to Computing Principles and CS105: Introduction to Computers, have seen a substantial decline in enrollment since 2008.

According to Sahami, diverging enrollments in introductory classes can be attributed to interest in exploring higher-level computing. While CS106A leads to CS106B: Programming Abstractions, CS101 and CS105 are considered terminal classes in HTML and CSS.

Interest in the department itself has also has fluctuated over the years. Computer science reached a then-record 171 major declarations during the dot-com bubble of the late ’90s, only to plummet after the bubble burst, seeing just 71 declarations in 2006.

The most recent surge in the department’s popularity occurred after Sahami and a faculty curriculum committee redesigned the major in 2009. According to Sahami, curricular adjustments were made to underscore the growing synergy between computer science and other fields.

Major changes included a refocusing of the core to six classes—three theoretical and three with an emphasis on programming and systems—and the creation of a track system that gives students the ability to specialize in a certain area.

The department is still undergoing changes, as next year’s introductory classes will be likely be split into two lectures per class. Instead of having one 600-person CS106A class, both a morning and an afternoon section will be offered.

Schwarz said that the department also hopes to hire additional staff in order to teach more students.

“If we use last quarter as a data point, then yes, things are looking a bit strained here,” Schwarz said. “However, I don’t think we are hitting a breaking point where it’s like, things will actually start to disintegrate. It’s not like if you add one more person into a class, everything breaks.”

Though Schwarz said that the department is not yet facing a crisis, he noted that a continued growth at current levels would become unsustainable over a long period of time.

“The classes are still operational and going really well. If things continue to grow at this rate, then things are going to have to change,” he said. “I don’t anticipate next year being something where all hell breaks loose. We’re looking at this year and thinking, ‘Okay, we’re going to double up on these classes and it’s going to be okay.’”

Looking toward the future

Earlier this year, Professor of Computer Science Eric Roberts, the department’s associate director, proposed a plan to implement a formalized double major program with less stringent computer science requirements in which students obtain degrees in computer science and another subject.

Although it will take more than a year for the proposal to take full form, faculty members described the proposal as an opportunity to make the largest department on campus more accessible and flexible to students.

“Maybe it’s what we owe the students,” Widom said. “It’s a great major if students can major in CS and something else, and shouldn’t Stanford be offering its best degrees to its students that we can? We should, so I’m hoping that will come through.”

However, Widom noted that additional provisions to account for continued interest in computer science will force faculty and administrators to consider how the rise of the computer science department will impact Stanford.

“There’s a major question of, what does Stanford want to be? Does Stanford want to be a school comprised 40 percent of engineers and half of those in computer science?” Widom said. “That’s fine if that’s what Stanford wants to be, but Stanford has always been such a broad school. If half the students are majoring in engineering or some large fraction, I just think it will change the character of the University a little bit, and I’m not sure if that’s a good thing.”

While Widom said that she believes the current balance of majors is not unhealthy, Professor of History Jack Rakove was more critical of how many students are majoring in computer science.

“If you’re a humanist, you really worry that we’re churning out a large number of people who don’t really know how to read a book and are historically ignorant of the relationship between present and past,” Rakove said.

Rakove, who has taught humanities and social sciences at Stanford for 33 years, said that he supports technological innovation and doesn’t believe Stanford’s strong engineering presence is necessarily negative. He expressed concern, however, that an emphasis on engineering and computer science detracts from the traditional liberal undergraduate experience.

“The fact remains that some students who come in here and come out spend an awful lot of time programming and doing problem sets and are really in some fundamental sense ignorant about some things they probably ought to know,” he said.

However, Sahami argued that as technology increasingly becomes a significant presence in everyday life, computer science has developed into an integral part of a liberal education.

“It’s somewhat of a misnomer to say that an education in computing is not a liberal education,” Sahami said. “If you think about it, a liberal education is being able to be a well-educated person generally. I think the fact that everyone needs to know something about computing these days makes them a well-rounded person. If you didn’t know anything about computing, that’d be a little bit odd in the 21st century.”

Schwarz agreed that computing skills have become increasingly important and emphasized his hope that “cross talk” between disciplines at Stanford will allow for new computing discoveries that incorporate the wide array of knowledge and expertise on campus.

“It would be fantastic for Stanford to get on the map where there were headlines every week that Stanford scientists do ‘blank’ with computers,” he said. “The story will not be an extremely complex technological solution, but instead an extremely obvious technological solution that nobody thought to try before because nobody actually knew it would work [or] knew how to do it and now all of a sudden they do.”

  • Solution-orientation

    A key point to note here is that this is an emergent phenomemon. It is the convergence of a number of factors that have lead to the rising of C.S., including but not limited to:

    – Larger scale techno-societal trends that are partially defining our generation (i.e. rise of internet, mobile, etc).
    – A recent economic recession and a terrible job market.
    – Age and experience biases in hiring for jobs that are available.
    – A flourishing job market for software engineers.
    – Cutting-edge innovation in curricula design from our CS department.
    – Awesome professors, such as Roberts, Sahami, Widom and Schwarz (among many others).
    – intellectually stimulating content.
    – Positive reinforcement from building stuff almost immediately.
    – High entrepreneurial potential for software-based ventures.
    – A large set of successful role models.

    There are probably myriad other contributing factors. In addition to these, I would add the affirmative argument that computation is an incredible point of leverage for accomplishing many things. There are a number of disciplines that have extremely dense and complicated information with which it is very hard to make progress using older modelling techniques (i.e. developing equations, advanced math, etc). However, by leveraging computationn in addition to the old techniques, we can intelligently handle this volume of information and actually do things with it. That’s why CS is so powerful: like reading and writing, it fundamentally enhances our capabilities in a vast array of tasks we might approach.

    So, since this is a phenomenon that has emerged, and there are strong arguments in favor of the utility of the movement continuing, what shall we do about it? I love Eric Roberts’ solution. Currently the norm is to major in x or y, given the size of (engineering, in particular) majors; if we can change the game by adopting Roberts’ Rules (pun intended) and making the norm x and y by reducing the size of x, then suddenly the game becomes a lot less zero-sum. This is good in other respects since much of the potential of computer science is in applying it to other domains (i.e. biocomputation). I know that I have, in my time at Stanford, majored in C.S. and tried to get a broad range of other inputs including humanities (i.e. SLE) and projects outside of class; the foundation of C.S. has greatly improved the productivity of my endeavors in these areas, yet the applications to these areas themselves are where I’ve made the largest impact. The combination is powerful.

    My 2 cents is that this is a good trend and we should embrace it. Part of embracing it is identifying problems surrounding negative externalities of the trend and creating solutions to mitigate them. I conjecture that Eric Roberts’ solution would be an effective step towards making the rise of computation be seen less in zero-sum terms and more in terms of the incredible contribution it is making to other fields. Let’s put it on the fast track.