As the author of the original weblog entry, I just thought I'd put some additional comments here, and respond to some of the criticisms (and hate email!) I've had.
I think one of the main criticisms is that I've confused Computer Science with Software Engineering. And I did a little, and just gloss over the differences. But as I hinted at in the original post, my main worry is that - at least, here in the UK - the majority of 'computing' courses on offer are Computer Science, which may not fairly reflect the current and emerging IT job market. Maybe I'm wrong.
Many have also pointed out, correctly, that University is mainly about 'how to learn', 'how to work', and so on, and not about particular skills. I concede this point, but the bottom line is that the act of going to college/university teaches you most of this, not a particular course. So, they have to teach you _some_ specific skills in a computing (I won't say Computer Science!) course, and my personal opinion is that these could be better aligned with (what I perceive to be) the job market.
My original passing comment on XML has also been taken a bit too seriously! OK, so XML may not be around in "20 years", but so will most of the specifics that you're taught - this is I.T., where technologies change on a weekly basis. Who's to say that the Bayesian Network and Computer Vision techniques won't also be outdated in 10 years?
Many of these skills could be learnt on the job, but for most small/medium sized companies (which perhaps make up a fair proportion of the market?), a 3 month induction/training course isn't viable - we need graduates who can come in and hit the ground running. It's a shame, because - as someone has said - students can't be geared up for every type of IT job out there.
Just a small couple of justifications on some of my choices... Code Reading: absolutely, I stand by this. How much of a daily 'programmers' job (whether in web, software, science, or whatever) is taken up with code maintenance - 50%? 70%? The ability to read code is therefore just as important as the ability to write code. Nutrition? Ok, I put a question mark after it in the original post, as it was just a minor thought... But concentration is important for programmers, and a fast food and soda diet (ah, the old IT cliche!) are related to the ability to concentrate. Economics and Business Studies? Sure - I wouldn't want a nurse to attend to me without understanding the need to prioritise patients and how the bigger, healthcare system works. Similarly, I think it's important that a programmer understands that not all 'neat' functionality can always be delivered, and that not all problems can be fixed. None of these have to be 3 month courses, they could just be hour-long lunch-time topics. I'm just throwing ideas into the air, really.
I'm glad this has given rise to a debate, it's extremely interesting to hear both sides of the argument. But, if you're going to post a comment, please read the actual entry - note that the 'draft' list of topics I list are just a 'stream of consciousness', not a finalised module list!
As a final point, for those that assume I'm anti-mathematics... I studied a masters then a PhD in astrophysics, mainly due to my love of maths. It's not that I don't think maths is important, it's just that differential equations, integration and fourier transforms are possibly not as important as some of the other topics that could be studied.
As the author of the original weblog entry, I just thought I'd put some additional comments here, and respond to some of the criticisms (and hate email!) I've had.
I think one of the main criticisms is that I've confused Computer Science with Software Engineering. And I did a little, and just gloss over the differences. But as I hinted at in the original post, my main worry is that - at least, here in the UK - the majority of 'computing' courses on offer are Computer Science, which may not fairly reflect the current and emerging IT job market. Maybe I'm wrong.
Many have also pointed out, correctly, that University is mainly about 'how to learn', 'how to work', and so on, and not about particular skills. I concede this point, but the bottom line is that the act of going to college/university teaches you most of this, not a particular course. So, they have to teach you _some_ specific skills in a computing (I won't say Computer Science!) course, and my personal opinion is that these could be better aligned with (what I perceive to be) the job market.
My original passing comment on XML has also been taken a bit too seriously! OK, so XML may not be around in "20 years", but so will most of the specifics that you're taught - this is I.T., where technologies change on a weekly basis. Who's to say that the Bayesian Network and Computer Vision techniques won't also be outdated in 10 years?
Many of these skills could be learnt on the job, but for most small/medium sized companies (which perhaps make up a fair proportion of the market?), a 3 month induction/training course isn't viable - we need graduates who can come in and hit the ground running. It's a shame, because - as someone has said - students can't be geared up for every type of IT job out there.
Just a small couple of justifications on some of my choices... Code Reading: absolutely, I stand by this. How much of a daily 'programmers' job (whether in web, software, science, or whatever) is taken up with code maintenance - 50%? 70%? The ability to read code is therefore just as important as the ability to write code. Nutrition? Ok, I put a question mark after it in the original post, as it was just a minor thought... But concentration is important for programmers, and a fast food and soda diet (ah, the old IT cliche!) are related to the ability to concentrate. Economics and Business Studies? Sure - I wouldn't want a nurse to attend to me without understanding the need to prioritise patients and how the bigger, healthcare system works. Similarly, I think it's important that a programmer understands that not all 'neat' functionality can always be delivered, and that not all problems can be fixed. None of these have to be 3 month courses, they could just be hour-long lunch-time topics. I'm just throwing ideas into the air, really.
I'm glad this has given rise to a debate, it's extremely interesting to hear both sides of the argument. But, if you're going to post a comment, please read the actual entry - note that the 'draft' list of topics I list are just a 'stream of consciousness', not a finalised module list!
As a final point, for those that assume I'm anti-mathematics... I studied a masters then a PhD in astrophysics, mainly due to my love of maths. It's not that I don't think maths is important, it's just that differential equations, integration and fourier transforms are possibly not as important as some of the other topics that could be studied.
I said the same thing about web browsers three months ago...