DEV Community

Batajus
Batajus

Posted on

What benefits does a M. Sc. in Computer Science have?

Hey guys,

currently I'm working full-time as front-end developer for an international software company. Next to my job I'm doing my M.Sc. in Computer Science.
So the problem is that I'm struggling a bit with the topics of some required lectures, because they're very theoretically :-(

So I'm regular facing the question: Is a M.Sc in Computer Science really worth the whole effort?

Thank you very much for your experience/opinions :-)

Top comments (2)

Collapse
 
jamesdengel profile image
James dengel • Edited

I too am in the same situation, I study for a masters in Software Engineering.

I recently did a course on Algorithmics, since this is not directly coding or learning of specific technology it might seem a bit theoretical. However that said thinking about different ways to solve Algorithmic problems in general gives us:

Divide and Conquer.
Dynamic programming.
Greedy Approaches.

This gives us ways of looking a problem and potential ways in which we can get good solutions.

Then we have ways to compare different algorithms in terms of time and space complexity using Algorithmic Complexity and the big O notification. Then a debate about P and NP complexity, the NP complete problem is something that I'm not going to work on myself, but it's very good to have an awareness of what problems might be NP complete. And why they are computational hard.

Also some of the stuff might be theoretical looking now, but in the years to come might be more applicable.

Example:
At University (12 years ago) I did a module on Neural Networks, we learnt what a preceptron is, how it works mathematically, and how to create multi-layer perceptron to solve problems that are non-linearly separable, what activation functions might be most useful, sigmoid or linear the pros and cons of each. We then developed a multi-layer preceptron program from scratch and taught it to solve a noughts and crosses game. 9 inputs, 4 layers of 10 nodes and 9 outputs, it took ages to learn and do the back propagation properly, even with momentum.

Point being:
Fast forward 12 years and Data Mining and AI are the hottest topics across the world and people are using them to solve lot's of problems in real world applications. I don't work in AI or Data mining yet I know the math and the ideas behind Nerual Networks, which 12 years ago was a bit of a pipe dream, but with the increase in CPU power we can now do things like this. Yet how many people using NN know the theory behind them or do they use use them to do a job like a black box ?

Knowledge is power, even if it's theoretical. Good luck.

Collapse
 
justinctlam profile image
Justin Lam

It really depends on what you want to get out of the Masters program. Technically, most of the subjects can be self taught nowadays. You can find plenty of resources on the internet for a deep dive into a subject. The benefit of enrolling into formal classes is that you are forced to take time to study, sit through lectures and do labs, all of which you can do on your own, but are you disciplined enough to do that?

If your aim is to get paid more or level up as a front-end developer, then I don't think a Masters will necessarily help you in that area. You might get a deeper understand on some theoretical subject but it's not practical unless you find ways to apply that knowledge. Not only do you need to apply it, but you need to do it well. If you want to transition into another area, it is probably better to find a role in that area you can transition to.

I guess one other benefit of attending class is that you can meet other students and build up your future network.