A masters of science degree in computer science can mean two very different things:

The research MS where the student works closely with an advisor on a research project that culminates in a thesis and ideally a few papers. This kind of student is generally paid as a TA or RA and can be expected to be a significantly stronger writer, researcher, and public speaker after finishing the program. Most of these students have a bachelors degree in CS. It is understood that any strong research MS student will be encouraged to pursue a PhD. The coursework-only MS is best viewed as an extension of the undergraduate degree. The student pays tuition and does not work closely with a professor. A significant number of these students do not have a BS degree in CS, but rather are using the MS as an opportunity to get up to speed and to become credentialed in a field that has strong job opportunities. These students emerge from the program knowing more than they did before, but they do not generally get much training in public speaking or writing and they do not generally leave the program with the added degree of maturity that we see in MS students who have finished a thesis. It is not expected that these students will continue on for a PhD.

Some CS departments specialize in one of these, others (such as mine) support both.

Anyway, here’s the thing, folks. The large number of coursework-only MS degrees that we are collectively granting is eroding whatever prestige and credentialing value was previously associated with an MS. To put it bluntly, people have caught on. For example, see this short essay by Aline Lerner (or, see it at Forbes if Quora’s stupid modal popup annoys you). The punchline is:

Whereas MS degrees used to be a means for departments to begin vetting future PhD students, I believe that the purpose has, in some ways, shifted to be a cash cow for the university in question.

The thesis is that job applicants with MS degrees are often weaker than those with BS degrees. I see similar effects here at Utah where I’m often the instructor for a mixed graduate and undergraduate operating systems course. The best MS students and the best undergrads are extremely strong. However, the median-quality MS student is weaker than the median-quality undergrad. A lot of this is caused by the MS students who don’t have a CS background: they simply are not ready for a serious upper-division CS class. I used to really hate that we mix the grads and undergrads in a single course but at some level it’s not that bad since it avoids the problem Aline alludes to where the grad-level course can easily end up being weaker than the undergrad version because it (often mistakenly) assumes that the students already understand the fundamentals.

The “cash cow” comment refers to programs where the revenue from an MS program exceed the costs. University finances are hard to untangle but it sounds perfectly plausible that many course-based MS programs are indeed being used as cash cows. Of course the extra money does not turn into profits; rather, it is used to shore up financial weaknesses elsewhere. The problem with the cash cow model is that it creates an incentive to maximize the number of students in the program, and this is clearly not always in the students’ best interests.

Last week, while talking to an undergrad who intends to pursue an MS, I realized that probably none of what we’re talking about here is apparent to the average student applying to MS programs. So I advised her to use the following strategy:

Get some solid research experience as an undergrad. Apply to a large number of MS programs. Throw away every acceptance letter that doesn’t offer funding, and consider throwing away each one that offers just a TA. Choose an appropriate school from the remaining acceptance letters.

This will, I think, give her good odds of landing at a place where she can get some real advising rather than just taking more classes.

Of course I can’t foresee how this all will play out, but it is certainly interesting that Udacity and Georgia Tech are making a grab for a much larger share of the course-only MS market with their recently-announced $7000 online MSCS. If this works out for them, it’s going to cause a real thinning out of the cash cows.

UPDATE:

There’s lots of good discussion on HN and I want to respond to, and add, a few points:

A number of people have mentioned situations in which a course-based MS makes sense: (1) your employer values it and (2) the classes are useful. Of course these are absolutely valid reasons to get a course-based MS, provided that the value exceeds the costs in terms of your time and money.

Wilfra mentions “disdain for people who don’t have a BS CS who want to get an MS CS.” It was certainly not my intent to express disdain for people who follow this path! Many people pull it off admirably. However, it is a difficult path to follow because it skips all of the introductory programming classes. This ends up getting some people in over their heads. There are many ways to avoid that problem such as programming on your own, taking MOOCs, etc.

At many institutions, the responsibility for not getting in over one’s head is placed largely on the students. While this is in some ways admirable, it does lead to some amount of unnecessary suffering.

One way to understand an MS program is to see how carefully it is firewalled off from the BS and PhD programs. The more isolated it is, the more likely it is to be a cash cow program. Also, the more degrees are granted each year, the more likely it is to be a cash cow.

Matt Welsh notes in comment 12 that international students often use an MS program as a gateway to getting a PhD in the USA. Also, it is used as a step towards working here.

Thanks for the discussion.