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.)