computer science module

Surely then a CS grad from a top university would have very similar skills?
I understand what you're saying that a CS grad should know how to program and, in most cases, they will. However, CS is not fundamentally about programming.

I think that nowadays a CS degree is a bit of a bastardisation of a classic maths based CS degree and a software engineering degree.
The way I see it is that the relationship between maths and, say, mechanical engineering is very similar to the relationship between computer science and software engineering.


It probably isn't so much a "bastardisation" but more an "evolution". The industry has moved on.

Probably can argue either way. Doesn't change the outcome though... that companies looking for a graduate programmer will go for CS grads first.
 
I understand what you're saying that a CS grad should know how to program and, in most cases, they will. However, CS is not fundamentally about programming.

I agree, CS students should not only be able to program, but it is an important skill. As is knowing about security models, computer architecture and OS design.

What skills do you think a CS grad should have?
 
Looks liek you made a mistake. The Maths dude did everything expected of a mathematician. he "nailed algorithms". He could write these algorithms down on a piece of paper and pass it onto some tech monkey straight from school that know your C++ software and gets paid tuppence, while the Maths dude can go back to designing algorithms

He convinced us that.. being a mathematician... he could apply his skills to programming languages easily. Same stuff that's being said in this thread really. It's all bull crap. I'm sure he could have, eventually. Problem is that time is money in the real world. We'd rather just hire someone that knows how to code from day 1. Not someone that will take the best part of 2 years to get up to speed.

Clearly it was a mistake. Hiring the right people is very difficult.

As I said.. the job market for such people that write down algorithms and then pass them onto developers to write is very small. Most companies would rather just hire someone than can do both... design the algorithm AND then getting it working in the source code. Or preferably just use an agile or incremental development methodology to hone the algorithm to perfection over a period of time.
 
He convinced us that.. being a mathematician... he could apply his skills to programming languages easily. Same stuff that's being said in this thread really. It's all bull crap. I'm sure he could have, eventually. Problem is that time is money in the real world. We'd rather just hire someone that knows how to code from day 1. Not someone that will take the best part of 2 years to get up to speed.

That's the whole point of the first year Comp Sci course which traches programming principals (a friend of mine recently rewrote the course and I've had some input in what was included etc). It's not about teaching a specific language, but teaching the common 'tools' of a modern language so they can pick up any other language without too much work.
 
Last edited:
I agree, CS students should not only be able to program, but it is an important skill. As is knowing about security models, computer architecture and OS design.

What skills do you think a CS grad should have?

Well, programming theory is definitely one aspect of computer science so a graduate should know how to program.
They should also know about data structures, algorithms, information theory, compilers, low level things like that.

I don't think that a computer science degree should contain things like project management, development methodologies or things like that though.
There is a place for those things in certain courses, but I don't think those courses should go by the name of computer science.

I should point out that I haven't gone through a computer science course and probably don't know a lot of the low level stuff myself, but that's never stopped me in my career as a developer.
 
Well, programming theory is definitely one aspect of computer science so a graduate should know how to program.
They should also know about data structures, algorithms, information theory, compilers, low level things like that.

I don't think that a computer science degree should contain things like project management, development methodologies or things like that though.
There is a place for those things in certain courses, but I don't think those courses should go by the name of computer science.

Well at least we agree about that.

I think NathanE brings an important point about CS needing to evolve. As the industry requires different skills as it matures, the whole definition of CS isn't the same as it was 10 or even 5 years ago.
 
hey, I did cs and yep as everyone has said it's heavily maths based. Does your uni offer something like information systems? My uni did and it has some overlapping modules with cs but is generally more straightforward and easier on the maths. Good luck!
 
Well at least we agree about that.

I think NathanE brings an important point about CS needing to evolve. As the industry requires different skills as it matures, the whole definition of CS isn't the same as it was 10 or even 5 years ago.

I would disagree that the concept of a computer science degree needs to evolve because of industry needs though.
If the industry requires certain skills then those skills should be provided through appropriate degrees. That doesn't mean that they have to be in a computer science degree though.

My degree was mathematical physics and as new concepts in mathematical physics arise they will no doubt be covered in the degree.
If most graduates of that degree go on to work in finance it doesn't mean that the degree should cover more financial topics, but you seem to suggest that because a lot of computer science graduates go on to become developers that the degree should evolve to meet the needs of that industry.

I would argue that if you want to become a developer then maybe a different degree, such as software engineering, would be more appropriate.
 
I would disagree that the concept of a computer science degree needs to evolve because of industry needs though.
If the industry requires certain skills then those skills should be provided through appropriate degrees. That doesn't mean that they have to be in a computer science degree though.

But what if the skill base in a traditional CS degree aren't useful in the real world. Let's think technical here. Should CS include more web dev stuff? What about some management skills to effectively work in teams etc?

If most graduates of that degree go on to work in finance it doesn't mean that the degree should cover more financial topics, but you seem to suggest that because a lot of computer science graduates go on to become developers that the degree should evolve to meet the needs of that industry.
I think the basis of my arguement is that skills should be relevant but also transferrable between industries and job positions. Whilst people who only want to program shouldn't be in a CS degree etc, a CS grad should be able to get a job where their skills are relevant and required, which will require a CS course to be continually tweaked and revised.
 
I would disagree that the concept of a computer science degree needs to evolve because of industry needs though.
If the industry requires certain skills then those skills should be provided through appropriate degrees. That doesn't mean that they have to be in a computer science degree though.

My degree was mathematical physics and as new concepts in mathematical physics arise they will no doubt be covered in the degree.
If most graduates of that degree go on to work in finance it doesn't mean that the degree should cover more financial topics, but you seem to suggest that because a lot of computer science graduates go on to become developers that the degree should evolve to meet the needs of that industry.

I would argue that if you want to become a developer then maybe a different degree, such as software engineering, would be more appropriate.

It's market forces isn't it. Universities like their graduates to land good jobs immediately after graduating. It makes their statistics look good. If the university has ill-prepared their graduates for the real world then they tend to struggle to land a good job immediately after graduating and the university loses precious reputation points.

There are exceptions to that though. Cambridge for instance... I'm sure they still teach a completely traditional CS course. But most of their graduates will go on to work in science, research or very high end engineering roles. Not so much "product development" roles.
 
It's market forces isn't it. Universities like their graduates to land good jobs immediately after graduating. It makes their statistics look good. If the university has ill-prepared their graduates for the real world then they tend to struggle to land a good job immediately after graduating and the university loses precious reputation points.

There are exceptions to that though. Cambridge for instance... I'm sure they still teach a completely traditional CS course. But most of their graduates will go on to work in science, research or very high end engineering roles. Not so much "product development" roles.

I think we're arguing semantics really. I'm certainly not disputing the fact that there should be courses that cover all the stuff you need to go off into the real world as a developer, but those degrees shouldn't come under the computer science umbrella.
CS isn't a vocational course and, as such, the degree content shouldn't be tailored to its usefullness to a particular industry.
 
Then the vast majority of uni's in the UK are guilty of misusing/bastardising/abusing the CS course title.
 
[TW]Fox;12645574 said:
Computer Science is a numerate subject - it is heavily maths based. If Maths is that big an issue for you you have chosen the wrong course. You needed a more vocational IT course.

I remember the faces of people who didn't have a strong grasp of maths (or realise one was needed) panic once the real serious stuff started.

The attrition rate in Networking and Programming was horrendous, I believe we lost half the class.
 
Well at least we agree about that.

I think NathanE brings an important point about CS needing to evolve. As the industry requires different skills as it matures, the whole definition of CS isn't the same as it was 10 or even 5 years ago.

I don't know of any fundamental advances in computer science in the last 5 years. A Computer Science degree teaches the fundamentals of the science behind computers, information theory, algorithmics, data manipulation etc. It doesn't teach the latest and greatest gadgets in the IT world. No point teachings things which will become outdated.

And you are sadly mistaken if you think the purpose of a computer science degree is to satisfy the desires of industry. IF a company wants a CS student then they have to expect what a CS student knows and can do. Computer science is a science, like particle physics, biochemistry, genetics. Do you expect a degree in philosophy to teach students program so that they are more appealing to certain industries? Perhaps Computer scientists should also take modules on Law so they can become lawyer and have better employment statistics, or perhaps they should learn medicin as well so their graduate job pays more.
 
But what if the skill base in a traditional CS degree aren't useful in the real world. Let's think technical here. Should CS include more web dev stuff? What about some management skills to effectively work in teams etc?

These things have nothing to do with computer science.
A degree doesn't have to give skills that are immediately relevant to real world industrial skills. Good if they do but that is not why they exist, and I would urge people to do degrees that provide such useful skills. But management has no place directly in a CS degree, just as programming has no place in a dentistry degree.
 
It's market forces isn't it. Universities like their graduates to land good jobs immediately after graduating. It makes their statistics look good. If the university has ill-prepared their graduates for the real world then they tend to struggle to land a good job immediately after graduating and the university loses precious reputation points.

There are exceptions to that though. Cambridge for instance... I'm sure they still teach a completely traditional CS course. But most of their graduates will go on to work in science, research or very high end engineering roles. Not so much "product development" roles.

In theory, this should be the case for all Computer Science degrees. As a scientist, a computer scientist will most likely continue in science and research. Product development has nothing to do with computer science. That would be software engineering or other such IT degrees.
 
Then the vast majority of uni's in the UK are guilty of misusing/bastardising/abusing the CS course title.

Exactly. Now we are getting somewhere. This is the heart of the problem. Ex-polytechnic type universities bastardising computer science to try to fit with industry.
 
Back
Top Bottom