The Student Room Group

Data Science, or Computer Science Degree?

Im currently in year 12, studying Physics, Maths and Economics. Hopefully ill pull through and end up with around A*AA (A* in math). I would like to go into tech and become a software developer or something like that. Basically i'm just wondering what the best route into one of those jobs would be. And if i did take a degree in Data Science and learnt to code along-side the degree, would i be able to go straight into development?

cheers.
Reply 1
I recommend CS because it is future-proof and won't pigeonhole you to working within a specific area of tech. Data science is trendy and certainly a good career option at the moment, but you can get into it with CS, Maths, or another STEM degree and always pursue a Masters in it if necessary (data science and AI jobs often request a Masters or PhD actually, unlike most other jobs in tech). If data science is the only area of CS that interests you and that you can see yourself working in for the rest of your tech career then it might be the best option for you, but in reality you probably aren't qualified to say this until you have studied numerous areas of CS with an open mind. The fact that your goal at the moment is to work as a software developer or similar suggests to me that you aren't passionate about data science specifically.

I studied computer games technology as an undergraduate and whilst I did spend the first 10 years of my career working in this area, I now work in a different area in a job role that didn't exist when I graduated (I'm also pursuing a Masters in CS part-time). I could have gone into games development - or any area of tech - with a CS degree so it would have made more sense to do a Bachelors in CS and possibly top it up with a Masters in a specific area if necessary. In the future, I will probably move into other roles that are covered by the umbrella of CS but not by a single specialist degree.

Edit: I think a good CS degree will make you a more well-rounded software engineer and give you the fundamental knowledge to quickly pick up new technical skills. Whilst specialist degrees may give you the required skills to perform a specific job role to a reasonable ability, you are likely to encounter problems when it comes to scaling your software solutions if you don't have adequate knowledge of fundamentals like computer architecture, operating systems, networking and compilers. These subjects form the backbone of many CS degrees.
(edited 1 year ago)
Original post by tobywr_
Im currently in year 12, studying Physics, Maths and Economics. Hopefully ill pull through and end up with around A*AA (A* in math). I would like to go into tech and become a software developer or something like that. Basically i'm just wondering what the best route into one of those jobs would be. And if i did take a degree in Data Science and learnt to code along-side the degree, would i be able to go straight into development?

cheers.


Original post by void*
I recommend CS because it is future-proof and won't pigeonhole you to working within a specific area of tech. Data science is trendy and certainly a good career option at the moment, but you can get into it with a CS, Maths, or other STEM degree and always pursue a Masters in it if necessary (data science and AI jobs often request a Masters or PhD actually, unlike most other jobs in tech). If data science is the only area of CS that interests you and that you can see yourself working in for the rest of your tech career then it might be the best option for you, but in reality you probably aren't qualified to say this until you have studied numerous areas of CS with an open mind. The fact that your goal at the moment is to work as a software developer or similar suggests to me that you aren't passionate about data science specifically.

I studied computer games technology as an undergraduate and whilst I did spend the first 10 years of my career working in this area, I now work in a different area in a job role that didn't exist when I graduated (I'm also pursuing a Masters in CS part-time). I could have gone into games development - or any area of tech - with a CS degree so it would have made more sense to do a Bachelors in CS and possibly top it up with a Masters in a specific area if necessary. In the future, I will probably move into other roles that are covered by the umbrella of CS but not by a single specialist degree.


Interesting, but I disagree with this entirely. Here's why:

Firstly, you have to understand: what is a CS degree. Why do people do one? What do you learn? The ultimate objective of a CS degree is to teach you to program, particularly in Java, or C++, or Python, or Javascript, or any language to make you proficient in programming.

There are two main goals:
1. Programming
2. Algorithms

Every CS degree, including Cambridge, is filled with extra fluff you don't need. You only ever need 50% of a CS degree, because the only important elements that matter in the degree is programming and algorithms. The rest are more tailor/specialised areas of CS. But, why study a CS degree if half of it is filler anyway, when you can study a data science degree and get the other 50% filled with modules pertinent to the field you want to work in?

A (good) Data Science degree will have the following:
1. Programming
2. Algorithms
3. Databases
4. The rest: 50% Statistics / Mathematics / Machine Learning

So, if a data science degree teaches you the most important concepts of CS - which is programming, databases and algorithms, then the rest of the degree focuses on statistics and machine learning, which, do note: most top universities like Cambridge, UCL and Imperial teach Linear Algebra, Calculus, Probability Theory anyway, so, the top universities focus on mathematics anyway more than other universities do.

Ultimately, I think a data science degree is best. But, be very careful where it's from. At Imperial, their only data science degree focuses on economics and finance, which I think is bad. However, UCL and Bristol focus more on programming, algorithms, statistics, machine learning and mathematics, which allows you greater specialization in the field of data science.

Two I've looked at so far, is Bristol and UCL, and they seem to be excellent choices for Data Science based on the course's content. Both seem to provide the essentials of CS.

Even if you don't get into Data Science, the math you're taught is useful regardless of what field you enter, as some of it is taught across most top universities anyway - like calculus, probability theory, linear algebra, etc, so you wouldn't be too different from a typical CS degree without a specialism.

Hope that helps.
(edited 1 year ago)
Reply 3
Original post by Baleroc
Interesting, but I disagree with this entirely. Here's why:

Firstly, you have to understand: what is a CS degree. Why do people do one? What do you learn? The ultimate objective of a CS degree is to teach you to program, particularly in Java, or C++, or Python, or Javascript, or any language to make you proficient in programming.

There are two main goals:
1. Programming
2. Algorithms

Every CS degree, including Cambridge, is filled with extra fluff you don't need. You only ever need 50% of a CS degree, because the only important elements that matter in the degree is programming and algorithms. The rest are more tailor/specialised areas of CS. But, why study a CS degree if half of it is filler anyway, when you can study a data science degree and get the other 50% filled with modules pertinent to the field you want to work in?

A (good) Data Science degree will have the following:
1. Programming
2. Algorithms
3. Databases
4. The rest: 50% Statistics / Mathematics / Machine Learning

So, if a data science degree teaches you the most important concepts of CS - which is programming, databases and algorithms, then the rest of the degree focuses on statistics and machine learning, which, do note: most top universities like Cambridge, UCL and Imperial teach Linear Algebra, Calculus, Probability Theory anyway, so, the top universities focus on mathematics anyway more than other universities do.

Ultimately, I think a data science degree is best. But, be very careful where it's from. At Imperial, their only data science degree focuses on economics and finance, which I think is bad. However, UCL and Bristol focus more on programming, algorithms, statistics, machine learning and mathematics, which allows you greater specialization in the field of data science.

Two I've looked at so far, is Bristol and UCL, and they seem to be excellent choices for Data Science based on the course's content. Both seem to provide the essentials of CS.

Even if you don't get into Data Science, the math you're taught is useful regardless of what field you enter, as some of it is taught across most top universities anyway - like calculus, probability theory, linear algebra, etc, so you wouldn't be too different from a typical CS degree without a specialism.

Hope that helps.


I disagree that the main objective of a CS degree is to teach programming and algorithms. Software engineering might be the most common career path but there are also positions in tech that don't involve programming but do benefit from a CS degree. Any piece of what you call "fluff" could be the area of CS that a student discovers they have a passion for and could kick-start their career. I don't think any job utilises 100% of a degree and that's fine; studying different subjects has intangible benefits and you never know when that module on compilers might suddenly become relevant to something you're working on in industry.

The OP said they want to work in tech - perhaps in software development - but did not mention data science specifically, so I'm not sure how you can recommend a DS course for them (I think they simply don't have a clear picture what both entail). For software development, CS is the best option. For data science, CS is probably still the best option. The jury is out on whether DS courses are actually beneficial as they are very new still, but these articles written by data scientists on Towards Data Science generally don't endorse data science degrees: https://medium.com/towards-data-science/search?q=data%20science%20degree. Data scientists come from a wide range of backgrounds and most job advertisements I've seen don't mention DS degrees (CS, Maths and Statistics are the most common subjects I see).

Whilst there are some reputable universities offering data science degrees, ultimately universities are businesses and most will offer courses that they think will be popular with prospective students with little regard as to whether they're offering something that is genuinely useful to industry. I agree that specialist courses offer transferable skills too but you risk having your CV filtered out during hiring processes if your degree doesn't seem relevant to the position you're applying to so why not take CS and keep your options open instead? CS is relevant for any job in tech whether you want to work in game development, web development, app development, quality assurance, data science, devops, cybersecurity, cloud, blockchain, etc. The possibilities are endless.
(edited 1 year ago)
Original post by void*
I disagree that the main objective of a CS degree is to teach programming and algorithms. Software engineering might be the most common career path but there are also positions in tech that don't involve programming but do benefit from a CS degree. Any piece of what you call "fluff" could be the area of CS that a student discovers they have a passion for and could kick-start their career.


Initially, I did misread the question and deduced that he wanted to get into data science. Normally, if you have no idea what you're doing, CS can sometimes be better. But, in this case, I don't agree.

CS as a degree in many universities, lacks a lot of math. It lacks calculus, probability theory, linear algebra, which are all important concepts for Machine Learning, Statistics, Data Science, Computer Graphics, AI, Security/Cryptography, etc.

Without that math, you are limited to roles specifically in software development, as you'll lack the mathematical background to pursue more rigorous adventures.

As the OP doesn't know exactly what he wants to do, not having the mathematical background could limit him from actually getting into Complexity Theory, Automata Theory, Complex Networks, Data Mining, Big Data, among others, because they do include math, particularly Discrete Math, Calculus and Linear Algebra.

Even as you say, if CS is "better", he wouldn't be able to pursue those topics to a great depth anyway, as he would be limited by his mathematical background - a consequence of his CS degree teaching little math.


I don't think any job utilises 100% of a degree and that's fine; studying different subjects has intangible benefits and you never know when that module on compilers might suddenly become relevant to something you're working on in industry.



As stated above, having a greater mathematical background means that one would be able to pursue jobs other than Software Development that heavily involve math. That means, even if he studies a greater array of topics in CS, he may struggle in a majority of them (like Complexity Theory and Information Theory/Networks) because he wouldn't have the sufficient mathematical background to study them. Regardless of whether that information be have a benefit, he would be disadvantaged in that area.


The OP said they want to work in tech - perhaps in software development - but did not mention data science specifically, so I'm not sure how you can recommend a DS course for them (I think they simply don't have a clear picture what both entail).


The original implication here was: you suggested that you shouldn't do Data Science because CS is better and more general. Yet, simultaneously, Data Science covers a lot of the core concepts of CS, while teaching a lot of math that is necessary for other fields. Therefore, I said that Data Science is an equally valid and recommended degree like CS is, especially if you're only pursuing a role in software development - then the reality is, it doesn't matter which CS you pursue, they all lead to software development roles anyway.


For software development, CS is the best option. For data science, CS is probably still the best option. The jury is out on whether DS courses are actually beneficial as they are very new still, but these articles written by data scientists on Towards Data Science generally don't endorse data science degrees: https://medium.com/towards-data-science/search?q=data%20science%20degree. Data scientists come from a wide range of backgrounds and most job advertisements I've seen don't mention DS degrees (CS, Maths and Statistics are the most common subjects I see).


The link you provided specifically focuses on Data Science master's degrees, not bachelor's degree. I'm sure you're aware: they are not the same. But, in the event you're not familiar, let me inform:

At UCL, their MSc in Data Science mostly covers (majority) statistics, with a bit of data science. That's largely different from a BSc in Data Science at UCL, where it offers databases, calculus, programming, algorithms, so it is widely different. There's little point in linking articles for a MSc, when we are discussing a BSc, which is completely different.

Secondly, about the post you linked, you also contradicted yourself. In your first post you said:

always pursue a Masters in it if necessary (data science and AI jobs often request a Masters or PhD actually, unlike most other jobs in tech).


While posting that, you also provided a link on Medium, that didn't recommend a MSc in Data Science. So, you are recommending someone to take a MSc, that you've linked to a resource, for not recommending. Quite the contrarian.


I agree that specialist courses offer transferable skills too but you risk having your CV filtered out during hiring processes if your degree doesn't seem relevant to the position you're applying to so why not take CS and keep your options open instead? CS is relevant for any job in tech whether you want to work in game development, web development, app development, quality assurance, data science, devops, cybersecurity, cloud, blockchain, etc. The possibilities are endless.


I'm sorry, but this is actually the opposite for what you're saying.

Firstly, if a data science degree offers the same programming and algorithmic skills as a CS degree, but a CS degree offers Automata, Complexity Theory (Which you can still choose as an option for some Data Science degrees), then how would you be disadvantaged in any way, shape or form. You have the same software development skills as any CS student. Every Data science student in the world, will be equally as good as a developer as any CS student.

Some may argue, a data science student is better. Not only do they have all the programming skills of a CS student, but they have the mathematical skills, the knowledge of calculus to get into data mining, the knowledge of statistics to get into machine learning and data science, the knowledge of linear algebra to get into big data, cryptography, and others. Data Science students learn R, and ironically enough, learn more programming than actual CS students in some cases.

As a CS student, you lack the mathematical background. You cannot get into cryptography; ML is almost impossible; AI is a no go; Data Science is also a no-go with no probability knowledge. Data Mining without calculus is impossible. The only exception to this, is if you attend a top 5/10 university (like Oxbridge, Imperial, UCL, etc) that teach you that math as part of the CS degree, but vast majority of CS degrees don't teach you that math.

Learning a master's in Data Science anyway requires a lot of mathematics that you don't have as a CS student. You will struggle in computer graphics among other fields like Information Theory.

There's no use in considering Automata Theory or Complexity Theory at a research level if you don't have knowledge of linear algebra or mathematics

In summary, I would say both CS degrees and Data Science degrees are perfectly fine, but I would say Data Science could be slightly stronger with the extra math.

If I had to say which is the "best" overall, I would say a Computer Science and Mathematics degree (50/50), as that will teach you all the CS skills you need, while teaching you all the mathematics skills you need to be successful.
(edited 1 year ago)
Original post by void*
I disagree that the main objective of a CS degree is to teach programming and algorithms. Software engineering might be the most common career path but there are also positions in tech that don't involve programming but do benefit from a CS degree. Any piece of what you call "fluff" could be the area of CS that a student discovers they have a passion for and could kick-start their career. I don't think any job utilises 100% of a degree and that's fine; studying different subjects has intangible benefits and you never know when that module on compilers might suddenly become relevant to something you're working on in industry.


To extend my previous post with two questions to you:

1. If programming and algorithms are not the main objective of a CS degree, then what is? Why do you think the vast majority of students study CS? The OP admitted he considers himself being a software developer - which requires algorithms and programming. Without programming and algorithms, then why would you study that degree then, it's an empty shell without it. All future topics of CS depend on programming/algorithms. Without it, there's no Automata, there's no software development/engineering, no complexity theory, no data mining, no databases, literally 95% of all CS is gone without it. So how can something be so crucially important and ubiquitous in CS not be the main objective?

2. Why does learning something that could be useful, become more important than learning something that is essentially a barrier to entry? Suppose that compilers are useful and I don't have the knowledge for my job, I could simply research the topics for the job. Certain topics, like math, are much harder to learn on the fly.

Not knowing how a compiler work will never hinder or prevent a software developer from doing his job. Most of the topics in CS can be self-taught in a job. Math, on the other hand, is harder. If you're working on creating a data mining application and you need to know calculus, and you have GCSE math, you can't learn calculus until you know algebra, functions, trigonometry and geometry. Then you have to practice and remember those topics before learning calculus. Picking up math on the fly is harder as you often have many pre-requisites. However, learning compilers for a one-off application you need to make, is much simpler with less requirements.

There's a difference between a "nice to have some of the time" and a "essential in some careers."
(edited 1 year ago)

Quick Reply

Latest

Trending

Trending