The Student Room Group

How practical is a computer science degree?

Judging by the modules, it is immensely packed with theory, which is quite unattractive.

Is it possible to emphasise practical programming and becoming proficient in a language, rather than learning theory?

Do some universities strongly accentuate theory, while some tangible skills e.g programming in a particular language?

Would appreciate if somebody can shed some light on those questions.

Thanks
It depends on the university. Some are heavy on theory whilst others focus on the more applied and practical topics.

What universities are you looking at?
Original post by glebp
Judging by the modules, it is immensely packed with theory, which is quite unattractive.

Is it possible to emphasise practical programming and becoming proficient in a language, rather than learning theory?

Do some universities strongly accentuate theory, while some tangible skills e.g programming in a particular language?

Would appreciate if somebody can shed some light on those questions.

Thanks


but what do you classify as practical programming? With just a couple of youtube videos, almost anyone can be proficient at the syntax of any programming language, that will still not make them good programmers if they dont know what to do with that language. In school you learnt algebra but what if I told you the same algebra is used to make sure that planes dont fall out of the sky when in flight. Most complicated stuff we see in computer science, google search engine, operating systems, etc, they all use the same basic programming syntax that most people know but its just most people dont know the structure of a search engine, or an operating system which is why nobody can make them. Hence why you need the theory you learn in the CS course, to apply the programming skills you learn.

- and also programming is emphasised in all CS course anyway, at the end of the day, thats how they judge your knowledge, in addition to some basic theory papers like maths, etc. But for the most part you will be doing coding, but theory is more important.
Nottingham
Original post by bigboateng_
but what do you classify as practical programming? With just a couple of youtube videos, almost anyone can be proficient at the syntax of any programming language, that will still not make them good programmers if they dont know what to do with that language. In school you learnt algebra but what if I told you the same algebra is used to make sure that planes dont fall out of the sky when in flight. Most complicated stuff we see in computer science, google search engine, operating systems, etc, they all use the same basic programming syntax that most people know but its just most people dont know the structure of a search engine, or an operating system which is why nobody can make them. Hence why you need the theory you learn in the CS course, to apply the programming skills you learn.

- and also programming is emphasised in all CS course anyway, at the end of the day, thats how they judge your knowledge, in addition to some basic theory papers like maths, etc. But for the most part you will be doing coding, but theory is more important.


The point is, is that you see many CS grads complaining due to the lack of practical experience, as they can not actually code to that level where they will be employed.

I have seen many software developers without degree having extremely solid skills in a variety of languages, making a fairly good income.

To re-phrase my question, is a CS degree essential for working for a big firm, such as Google and being a software dev there? Time is very scarce, so I am asking whether a CS degree is essential to become a professional programmer who is desired in the current job market.
(edited 7 years ago)
I think just having a CS degree per se shows pretty much that you are dedicated and persistent in studying and pursuing an academic interest. getting a degree in CS is most certainly a great thing, but you would need to dedicate a lot more time outside of contact hours to personal programming projects, and lots of high quality ones too over the course of your university studies. Take any internships/placements years/ practical work experience that you can as employers very much love and prefer university graduates with good knowledge of programming as well as being able to handle yourself in a work environment.

So yes, Studying CompSci at university is definitely worth it, but you would also need to gain the relevant work experience that comes alongside this.
if u want to go to some **** university and end up programming for some poor indie company feel free to go for emphasis on programming. No joke. Its that bad. Ik its stupid how u will learn all that garbage in university and end up never using it but thats what employers want. Unless ur going to self employ thats the only choice to even get into google
Original post by glebp
The point is, is that you see many CS grads complaining due to the lack of practical experience, as they can not actually code to that level where they will be employed.

I have seen many software developers without degree having extremely solid skills in a variety of languages, making a fairly good income.

To re-phrase my question, is a CS degree essential for working for a big firm, such as Google and being a software dev there? Time is very scarce, so I am asking whether a CS degree is essential to become a professional programmer who is desired in the current job market.


It's 100% true that there are many self-taught programmers that are probably better than a lot of graduates.
But the theory taught within a computer science degree is probably crucial to be able to fulfill roles more advanced than a being a simple programmer or coder (e.g. software engineer or product manager), and would without a doubt be a lot harder to learn on your own.

But when applying for a job, you're less likely to get filtered out during the preliminary stages being a graduate than if you didn't have a degree.
If you were a self-taught programmer/engineer and you're able to land yourself an interview, at tha point it's completely down to your talent, degrees and accreditation is irrelevant.

essentially, a degree doesn't do much more than open doors a little easier.
(edited 7 years ago)
When will people realise that a CompSci degree is not a 3 year Coursera Java course...?
Computer science is not just programming. In fact, programming is a very small subset of a huge field.

Definition of CompSci by wikipedia:

Computer science is the scientific and practical approach to computation and its applications. It is the systematic study of the feasibility, structure, expression, and mechanization of the methodical procedures(or algorithms) that underlie the acquisition, representation, processing, storage, communication of, and access to information.


People say they do not want maths with their CompSci will not be successful in their careers.


Anyone can learn how the syntax of any language easily, frankly.
You could probably teach a monkey to write code.

What will make you employable as a programmer/SE, is being able to design smart and efficient solutions under lots of time constraints.
For that, you must have intricate knowledge of how a computer works ranging from: the actual architecture and how it functions, algorithmics, data structures, knowledge about how the different programming paradigms work (not only Imperative and OOP, but functional and logical), compilers, networking & web etc...

This is all stuff you learn in a CompSci course which is incredibly useful and essential in order to become a good SE.

Its not about learning a language. After a while of programming in half a dozen of languages, I can easily learn the syntax of a new language as they are all built around the same concepts which I have learnt and used before.

Any CompSci degree wont land you a job as a programmer. Contributing to online open source projects, internships and starting your own interesting projects will get you employed.
Original post by Incongruous
When will people realise that a CompSci degree is not a 3 year Coursera Java course...?
Computer science is not just programming. In fact, programming is a very small subset of a huge field.

Definition of CompSci by wikipedia:

Computer science is the scientific and practical approach to computation and its applications. It is the systematic study of the feasibility, structure, expression, and mechanization of the methodical procedures(or algorithms) that underlie the acquisition, representation, processing, storage, communication of, and access to information.


People say they do not want maths with their CompSci will not be successful in their careers.


Anyone can learn how the syntax of any language easily, frankly.
You could probably teach a monkey to write code.

What will make you employable as a programmer/SE, is being able to design smart and efficient solutions under lots of time constraints.
For that, you must have intricate knowledge of how a computer works ranging from: the actual architecture and how it functions, algorithmics, data structures, knowledge about how the different programming paradigms work (not only Imperative and OOP, but functional and logical), compilers, networking & web etc...

This is all stuff you learn in a CompSci course which is incredibly useful and essential in order to become a good SE.

Its not about learning a language. After a while of programming in half a dozen of languages, I can easily learn the syntax of a new language as they are all built around the same concepts which I have learnt and used before.

Any CompSci degree wont land you a job as a programmer. Contributing to online open source projects, internships and starting your own interesting projects will get you employed.


The kind of reply I was waiting for.

Thanks everyone else, some nice responses.
Original post by glebp
The point is, is that you see many CS grads complaining due to the lack of practical experience, as they can not actually code to that level where they will be employed.

I have seen many software developers without degree having extremely solid skills in a variety of languages, making a fairly good income.

Well its their fault they have the lack of experience, they obviously didn't try hard enough, the would've complained even more if they didn't take a CS degree. If they went to their lectures, understood content and just didnt do what they needed to pass (which is what some do), did internships,then the wouldn't be in a situation where they are unemployable. I have a friend who studies CS at a respectable uni and he was taught java, he had lectures on it etc but when he got a java assignment, he didnt know how to write the code, I practically did it for him. So if he comes out not having the experience to get the job, you shouldn't blame the degree.

- Also on the subject of people without a CS degree but still making a lot of money, most of them either got the jobs years ago and have gained enough skills to making a lot now, are are in jobs like web or mobile development. You can make a lot of money in that market without knowing a whole lot of theory, I have friends who are 15-18 years old and are solid web programmers, come up with anything to do with website and they will make it. So thinking you will land a job at google working in NLP without any degree of some sort is just a dream.


To re-phrase my question, is a CS degree essential for working for a big firm, such as Google and being a software dev there? Time is very scarce, so I am asking whether a CS degree is essential to become a professional programmer who is desired in the current job market.


The answer to that question is "Probably", you can still get into big tech companies with other degrees like Maths, Physics, Engineering. But with no degree at all your chances are pretty slim. You can choose not to go to uni/study CS and learn enough programming to become a start up, but even then you will still hire people with the degree because they wouldve learnt a lot compared to someone not doing the degree.

The irony is Im actually interning at Google right now in Switzerland (I live in UK), and I dont do CS, I self taught all the stuff I know/needed to come here. So it depends on the person. I will even be a better programmer if I did the CS degree tbh.
Original post by glebp
The point is, is that you see many CS grads complaining due to the lack of practical experience, as they can not actually code to that level where they will be employed.

I have seen many software developers without degree having extremely solid skills in a variety of languages, making a fairly good income.

To re-phrase my question, is a CS degree essential for working for a big firm, such as Google and being a software dev there? Time is very scarce, so I am asking whether a CS degree is essential to become a professional programmer who is desired in the current job market.


You're right, it does take skill. I think the problem you're looking at originates from an unwillingness (on the student's behalf) to take up more practical extracurricular projects. Sure, there are coursework projects where you'll have to implement theory you've learnt, but that's not the same as going to a hackathon and piecing together something wacky or say, just tinkering with a language and a paradigm to create a little widget you can throw up on GitHub etc.. There just isn't as much motivation to get involved in stuff like this.

Google, and the other top tier tech companies (are), is a different breed. The interviews they put you through emphasize algorithms and data structures knowledge - where a CS grad (given they had the right exposure/their course was deep enough) can potentially shine. These places are no joke, you'll be set very difficult, fully technical interviews that last 40-50 mins on the phone then you'll be called in for a full day of complete and utter technical grilling. So if you can code, but your theoretical knowledge isn't **** hot you're not making it very far. That's often why they specify a 'CS degree or equivalent' in their job adverts - albeit, it doesn't apply to all of their hires.

So yes, you can self teach everything but life would be a bit easier with a strong fundamental theory background as well as the ability to code which a CS degree provides that platform to obtain.

TL;DR CS is a great starting point that needs to be topped up with extracurricular technical involvement but it is possible to self teach (via practice) programming and rudimentary technical knowledge

Posted from TSR Mobile

Quick Reply

Latest

Trending

Trending