Why would you do a Masters Degree in Computer Science?


The new semester is about to start soon and I will be taking my share of duties also in the computer science masters degree where I will be teaching Concepts of higher programming languages (an introductory course to functional programming concepts in Haskell on a masters level, where students are expected to be quite experienced in an OO language such as Java).

In the introductory lesson of my masters course I always address the students directly and tell them that I think they have done the right thing choosing to do a masters degree. The reason why I do this is twofold: first, I realised that many students simply do not fully understand the breadth of what a masters degree will earn them; and second it allows me to clarify and communicate my views on the importance of a masters degree which also gives me the opportunity to motivate my own expectations to the students in the context of my masters course.

Whereas the purpose of a bachelors degree is quite straightforward, a masters degree is not as obvious or self evident. A bachelors degree lays down the foundations of the field the students are embarking on and ideally lifts the students to competent workers in their field where they know and have mastered the basics and foundations. A masters degree however goes (far) beyond that foundations.

In a masters degree it is not anymore about the question What am I going to need this for? (we have a wonderful phrase for that in my local dialect in Austria: Z’was brucht ma ou des?). Rather, a masters degree is all about realising there is something like depth of knowledge and starting to develop this depth, a journey which will actually never end. To embark on this journey needs a great deal of curiousity, so to be clear, this journey is not for everyone.

Of course what students gain in a masters degree is not just an end in itself. The depth of knowledge will get them very far and allows them to adapt to new concepts and changes in technology very quickly because they have uncovered deeper truths which transcend and go beyond the outer layers of technology. Rather than knowing how to throw together 30 JavaScript libraries without caring whats going on underneath a masters student is expected to develop an understanding of things from first principles. This I believe to be the most rewarding thing there is in life: to glimpse a spark of a deeper, underlying truth, maybe even underlying reality and life itself, showing itself in different ways in different fields. In this way a masters degree is satisfying the deepest meaning of life: to seriously embark on a never ending learning journey.