I have a BA degree in sociology, but during my studies I got interested in programming and development. I would like to continue and do my MA thesis in a Computer Science University, and maybe, try to incorporate sociology and CS in my final thesis.

If I do it the other way around, going to sociology MA but try to get some computer science subjects along the way, I don't think will teach me much.

I would like to know if it's possible to continue and do a Masters thesis in CS, having already finished a BA in social sciences / humanities?

  • 1
    You'll need to check different schools' requirements or get in touch with them. Many CS programs will want some combination of math beyond calculus and CS courses above the introductory level. May 8, 2017 at 20:42
  • 1
    I think that depends on your local laws. Here in Germany, it is possible. But not in all Universities.
    – skymningen
    May 9, 2017 at 7:25
  • Another path to consider would be to find out if there are sociology programs that have an emphasis on (or option to emphasize) quantitative/statistical methods. A program like that might give you access to exactly the types of coursework you need to accomplish what you want.
    – Bryan Krause
    May 9, 2017 at 21:53
  • You may also want to look into the digital humanities. You'd most likely still do an MA in sociology, but you could probably have a significant portion of your coursework —and especially your thesis— strongly rooted in CS. May 25, 2017 at 4:54

3 Answers 3


I can say from personal experience, I did my CS MSc (pretty much equivalent to MA in most places) without first completing a CS undergrad (BA equivalent). Therefore, @M.P.R is right about the fact that a CS grad course will more likely give you an MSc, not an MA.

Moreover, @JoeCorneli is also right that applying computing capabilities to real world problems is very different from becoming a programmer. Not all programmers are capable of plying things to the real world and not all computer scientists are actually very good programmers. Yet, I do not fully agree that a CS MSc will not teach you the application of programming to real world problems (in theory that should be the focus of a CS MSc).

That said, a CS MSc will not teach you how to program. You either need to be a decent programmer beforehand (my case, I had some 3-4 years of professional software house experience when attempting my MSc) or be very well self-educated in programming.

A good university will test you whether you are at an acceptable level of programming. They need to. During a CS MSc you will learn where computing meets the real world, and what are the fields where research is happening today. That will require you to be fluent in pretty much any programming language.

A hint of what (I believe) is a good measure of whether you are capable of attending a CS MSc without a formal education would be: (1) given a program in any programming language, that is not horribly obfuscated, you can tell more-or-less what it is doing; and (2) you can imagine how most applications are built on your desktop, or a server (you do not need to be capable of writing it yourself but you need to know, for example, why databases are built the way they are).

  • 1
    There are plenty of subfields of CS which have extremely little to do with the application of programming to real-world problems. In theory it should be possible to do a masters in CS without any programming or without any applicability to real-world problems. May 9, 2017 at 22:03
  • Everything @grochmal said plus many CS MSc programs have some kind of "bootcamp" to make sure students enter with a baseline of technical skills. Will also add that there are many ways towards a "middle road," becoming proficient at Python with Numpy or SSPS if you want to apply programming towards things like the kinds of statistical research that are done in the humanities...etc.
    – Raydot
    May 9, 2017 at 22:06
  • @PeterTaylor - Very true. The only practical problem is that you only have enough knowledge on how to go through a CS MSc without programming and without practical applications after you're half through it :) . Modal logic and proof of all computation cases of a program is what comes to my mind, but even so there is one or two InfoSec apps that use knowledge from that subfield.
    – grochmal
    May 10, 2017 at 0:12

Yes, it is. The process of enrolling in grad-school is two-fold. First, the grad-school department (as an academic and administrative unit) verifies whether or not you're eligible to enroll as a graduate student (e.g., sufficient GRE scores, TOEFL scores - in case of international students, etc.). Second, the academic unit (CS in your case) verifies that the candidate grad-student is eligible to enroll in their program. Either you have a sufficiently robust CS background (e.g., you were a double major or at least you have a minor in CS) or you are willing to take fundamental CS undergrad classes (e.g., Data-Structures & Algorithms, Operating Systems, Theory of Computation, etc.). These options minimize the risk of floundering with relatively complex class-contents when you enroll in higher-level CS grad courses independent of your bachelor-degree background.

P.S.: According to my experience, usually you're awarded a M.S. (M.Sc.) degree when you finish a C.S. masters program. Are you planning on taking humanities-based courses as part of graduate courses (this is the only way I know you would be awarded an M.A. instead of an M.S. for C.S.)?

  • That sounds like a US-specific answer. Could you please add the location?
    – skymningen
    May 9, 2017 at 7:25
  • Oh, sorry! I should have said so in my previous answer. Yes, my grad-school experience is 100% USA-based.
    – M.P.R
    May 10, 2017 at 21:35

If you want to do an "MA thesis in computer science" then, surely, you can find some university that will allow you to do that. But if you want to actually apply computer science knowledge to address interesting and important real world problems, then you may have a somewhat different set of issues to deal with.

E.g., you may need to become a very good programmer, for example. This is done by practicing programming, not by writing theses. I would suggest you think about a skills-based programme or apprenticeship to start with and don't rush into an MA. You could do that later when you have skills equivalent to a Bachelors in computer science (...if you still want to).

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .