I am an electrical engineer with basic programming skills in C, C++, Python and Java. I wish to pursue my masters in computer science to pursue research (PhD) after working for a couple of years in the IT industry (preferably product development).

So what are the programming languages one must master before starting graduate school - MS in CS?

2 Answers 2


You don´t need any specific languages.

Try to get your "basic" skills in (some of) the languages you already know to an "advanced" or "expert" level. Doing this you will automatically understand and internalize the concepts behind the programming languages.

All the rest is just syntax and you will be able to pretty much learn many other languages "on the fly" if needed.


While no particular language is necessary, but good programming skills are, the languages you know are from a very narrow range. Therefore the thought processes that go into the programs you now write are also from a very narrow set of skills. It is a big world.

If fact, it is possible to program in most of the languages you name by writing barely disguised C code. Python is a bit better for avoiding that trap, of course.

But if you want to expand what you know, then build something significant in one of the languages you already know. Something big and complicated. If you haven't done that before it will greatly develop your skill.

But in the language area, since you ask about that, I would suggest learning at least one functional language, such as Scheme or Haskell. Both of those require quite different thought processes from the languages you know and you will benefit greatly from the (initial) struggle of getting your mind around that. The difference won't be "just syntax" but a different mental model.

You must log in to answer this question.

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