Eric Roberts, a professor of computer science at Stanford and someone who spends a lot of time and energy thinking about, improving, and researching CS education practices, wrote a guest post at the Computing Education blog addressing the wildly increasing enrollments in university-level CS courses. The post is very interesting and thought-provoking, but I’ll admit I started reading it with a bit of unease.
The demand for CS courses today is interesting, because as Roberts points out, it’s not just in the Intro course. It starts there, for sure (Stanford, like us, is seeing record enrollments in Intro CS), which makes sense—the economy is not all that hot right now, students want to make themselves more marketable, and finally people are realizing that knowing at least a bit about technology is a Good Thing. But that doesn’t explain all the demand, because the record enrollments extend “up the stack”, as it were, into the upper-level courses:
What my colleagues and I are seeing today is entirely different [from what we saw during the dot-com bubble in the late 90s]. The students who are now inflating the ranks of CS106A are, it seems, deciding to take a computer science course as a way of bolstering their credentials before they emerge into a weak economy. Most have majors in other areas but recognize, probably correctly, that having programming skills will likely increase their chances of gaining employment in their own field. A surprising number of those students, however, once they get into our introductory courses fall completely in love with the material and continue on to double the size of the downstream courses in the curriculum.
This explains what we are seeing here, too—our 300 level courses often have enrollments in the high 20s, and one of our 300 level courses this spring (Data Mining) actually filled to capacity before registration ended! And this is translating into majors—32 so far in the sophomore class, with more expected due to double majors. Our students are falling in love with CS!
So how do we keep the love alive? How do we make sure that this is not another bubble? How do we sustain the interest in CS and, at the same time, support these larger numbers of students, so that they get the quality CS education they deserve?
And this is where the “nervous” part I mentioned comes in. As Roberts points out in the post, the computing field saw a similar rise in demand in the early 1980s, followed by a precipitous drop in interest. In a 1999 SIGCSE essay, Roberts discusses a bit of what happened:
At some point in the 1980s, these strategies [to deal with the demand] proved insufficient, forcing departments to restrict demand by imposing limits on enrollment. Some institutions attained these limits by setting strict quotas on the number of students who could major in computer science or by requiring extraordinarily high GPAs to declare computer science as a major. Others achieved the same effect without formal limitations, simply by making the introductory courses so difficult that relatively few students would continue in the field.
Students in the mid 1980s did not decide not to major in computer science but were instead prohibited from doing so by departments that lacked the resources to accommodate them. Given the pressures departments faced at the time, these restrictions may well have been necessary. Moreover, they did, in the end, mitigate the crisis. They did so, however, at an enormous cost. At a time when industry needed more people to sustain its momentum, universities were forced to cut back. The flow of students collapsed, and industry was faced with a shrinking labor pool. Given the complexity of any economic system, it is usually impossible to prove causality, but I have believed for some time that the crisis in academic computer science during the 1980s contributed significantly to the industrial decline at the end of the decade.
The paper goes on to discuss why this is bad for various constituencies, but the biggest deleterious effect?
Enrollment limitation will almost certainly have a disastrous effect on the diversity of the undergraduate computer science population. Students from weaker school systems and those who have not had the opportunity to work with computers at home will have much more trouble with introductory courses designed to act as filters for a limited- admission major. Similarly, studies have documented the fact that women are likely to underrate their own abilities with respect to their male counterparts . Faced with a highly competitive admissions process, women are more likely to choose other options in selecting a major. From 1986 to 1991, the number of men graduating with bachelor’s degrees in computer science dropped by 34 percent, while the number of women declined by 51 percent . (emphasis mine)
And this is why I am nervous. I am hoping that we’ve learned our lessons from the 1980s and that we, as a CS education community, will find more productive and positive ways to deal with the demands on our limited department resources than imposing quotas and re-adopting the “weed-out” mentality that I hated so much as an engineering major. It is more important than ever, at this point, that we continue the practices that attract all comers to our major, and that we continue to refine our practices in retaining a diverse population in our classes and in the CS major. It is most important that we do this in times of wealth, so that we can be proactive instead of reactive and build upon the strength of our numbers.
I hope the CS field is up to the challenge!