The Geomblog: Do we really need more students in CS ?

Suresh jumps into the Do we really need more students in CS ? debate. He concludes:

On the one hand, you can make a degree program produce graduates that are more employable, but you veer dangerously close to the ‘vocational training’ edge of the cliff, or you make a degree program more grounded in rigorous training, (essentially what we have now), and continue to lose students to other programs because the CS degree they could get is not ‘marketable’.

Actually, Suresh, I think that this already happened: the CS programs might not become more marketable, but new programs are created.

Solution 1: Offer engineering degrees

The engineering side of computer science has been growing stronger. At least in Canada, there is now a large number of software engineering degrees. Even tiny schools now offer both the CS and software engineering degree. UQÀM has a dual degree (CS and software engineering).

Solution 2: Offer IT degrees

The other solution, at the other hand of the spectrum, is to push IT degrees. Companies will not outsource all critical IT functions: companies will always want to get a competitive edge by using some home grown solution, even if it is built almost entirely from existing software. Even if the grunt work is done in Asia, you need people who can draw a database schema and understand where the data is at all times. You need people who can hook web services together. You need people who can talk effectively about IT to the rest of the company. The guy who aced algorithms but can’t give a good talk or listen to a user, he is useless for such a job.

This is were I haven’t seen much growth. It is plagued by many problems in universities… who want to say he is an “IT professor”? And what does the phrase mean? I don’t know. There are many IT programs out there, some of them very good, but most were built out of scrap from other programs (CS and business), or they feel like it.

So, Suresh, I think you are right. We are at the end of the beginning. New programs, such as IT and software engineering, will grow stronger in the coming years. It seems likely that CS degrees will evolve much like mathematics… attracting students interested in teaching CS or doing research in CS… but I don’t think CS will ever grow back to where it was. CS courses will be service courses for IT and software engineering programs.

(My predictions, as always, are worth the paper they are printed on.)

Published by

Daniel Lemire

A computer science professor at the Université du Québec (TELUQ).

3 thoughts on “The Geomblog: Do we really need more students in CS ?”

  1. The question remains whether universities are the best places to learn about computers. The main CS guy in our group here in Moncton hasn’t gone to the university, and he’s mightily capable. Personal projects, online developer communities, and online learning resources go a long way towards both learning the craft and becoming apt to keep up to date and perform just-in-time learning as is required in a CS-related job.

  2. No doubt you are correct. In fact, I learned pretty much everything I know on my own, and if I relied only on the knowledge I acquired in university courses, I’d be a pretty limited man.

    We can wonder how a prof. who never participated in a major development effort, can actually teach students how to do software engineering? How can you teach something you don’t know.

    This is why medical doctorates are given by doctors and so on. Once you step into vocational training, you go outside the standard university model. It has many consequences… for example, one can be reviewed not only on the basis of his publications, but also on his professional expertise. Did this guy run a $10 million software project or not? Did this guy implement a new knowledge management tool for a large corporation or not?

    That’s why I ask what an “IT professor” is… it is really akin to being a professor in library science, for example.

    Ok, so do you need a M.A. in library science to work in a library… absolutely not. Will you get a librarian job with a large library without a M.A. in library science, doubtful.

    The world is full of overqualified people. You don’t need a Ph.D. to teach a university course… yet, most new instructor positions are now filled with people having a Ph.D.

  3. “The question remains whether universities are the best places to learn about computers.”

    The best place? Maybe not. Certainly, a CS degree isn’t necessary to be a sysadmin. Or an “informal” programmer. Or a systems integrator. CS majors may take those jobs to start out with, because those are the sorts of tasks entrusted to junior people. However, there comes a time in many software projects’ life cycles when one needs to consider issues like computation complexity (it may be when the customers complain that the product is unusably slow). Then the CS degree will matter. If positions like that (and many others; those were just examples) aren’t in someone’s career path, then a CS degree is and over-qualification).

    And that’s why I have no problem with students leaving CS for IT, any more than someone in electrical engineering would worry about those who opt instead to become electricians. Whether IT should be taught in universities is another matter.

Leave a Reply

Your email address will not be published. Required fields are marked *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax