I am holding bachelor degree in applied math and physics, which I received in Moscow State University. I have rather normal grades (average 4.3 out of 5). My BS thesis ("Weight optimization of monospar composite wing of russian unmanned aircraft) was recommended for publishing in scientific journal.
Everything seems to be ok, unless I have a passion for programming. I have implemented several mobile applications which are available in the AppStore and which are my main income now. Once I started to get enough money, I started to think about my MS degree in computer science field. However, I do not have enough minimum background for graduate program, hence I decided to take the missing core courses. The way of applying to undergraduate program and spend 5 years again seems to me time-wasteful (i am 23 now), so I come up with decision to become special/visiting student and get the necessary transcripts and become more competitive while applying to MS program. However, some universities do not provide engineering courses, some of them are too expensive (~50k per semester, I am able to spend ~18k); in some universities to become special student I must be invited by faculty member.. In other words, it is not as easy as I expected to take undergraduate courses. I kindly ask you to give me some tips how to enter to computer science field.

  • Is there any particular MS program you're aiming for that makes this answer insufficient? From the sounds of it, you'd be a a candidate for a MS in CS without taking more courses; or at least, it's not clear to me that undergrad courses are the way to go.
    – Matthew G.
    Commented Jan 21, 2014 at 17:01
  • I am thinking to apply for McGill MS, which says If you do not have the background described, please do not apply. We do not offer any qualifying program for students with weak Computer Science backgrounds. Since I will try to reapply next year, I want to be prepared for my reapplying. Commented Jan 21, 2014 at 17:16
  • Ok, fair enough. It seems that there are two questions here really: 1) What to take courses in to transition, 2) Where to take them. The second question is going to depend on a lot of factors (geographic flexibility, cost, desire for credentials etc) that I can't really help with. As far as the first part, it'll depend on your desired speciality a bit, but,I'd repeat my answer from here: Focus on fundamentals; Algorithms, data structures, complexity especially.
    – Matthew G.
    Commented Jan 21, 2014 at 18:22
  • Thank you for your prompt reply.So, in general it does not matter for university where I got credits for the missing courses as a special student? or it is better to get them at a university that is internationally recognized to be more competitive? Commented Jan 21, 2014 at 19:06
  • 1
    It's going to be a bit of a judgment call. Your goal will be convince the admissions committee that you have sufficient background to not struggle. It could be that your experience as a developer and your undergraduate degree could be sufficient; Adding MOOC courses might help get you over that hump, or might not. Accreditation is usually the safe route, but it's going to depend on how those accredited courses are seen by the admissions committee, which is beyond my ken. Others would answer this question better though, who know what the inside of that committee looks for.
    – Matthew G.
    Commented Jan 21, 2014 at 20:48

1 Answer 1


I'm not sure that this applies to Russian Universities as my experience stems from the situation in Germany, but I'd recommend talking to the key people at your target University - academic counseling for CS, student representative, dean of students. See what you can find out about the admission process and whether they can give you any pointers.

I myself have a Bachelor in Applied Math and a Master in CS. Before applying for the MS, I visited the University I wanted to get into and met with the faculty member who was responsible for the academic counseling for CS students. I talked him through my undergrad courses and other experience from internships and he encouraged me to apply right away although I technically did not have enough undergrad CS courses according to the admission guidelines. He also gave me a few pointers on how to write the application in such a way that the admission committee would recognize my practical experience.

His advice: He gave me the list of mandatory undergrad courses and told me that I should match each course with something from my previous studies or my practical experience, to show that even if I had no formal education in some areas, I at least knew the gist of the subject.

I was admitted conditionally and had to complete the two undergrad CS courses in which my prior experience was lacking the most within the first year on top of my regular studies.

In my second year I became the student representative to the admission committee and had a few applicants approach me on the same subject. I gave the same advice, because I noticed early on that the committee would often just hold the list of requirements up to the applicants undergrad transcripts and tick of the boxes. Even such stupid things as differently named courses could throw the committee off, so I made it my job to go through all the applications and check the matching with the requirements.

In one particular case, a student was very enthusiastic and even ran his own IT-startup business, but the gap between his undergrad studies in a different subject and a CS undergrad was just too big. We had to refuse him the first time he applied. For legal reasons, we couldn't do more than send the standard letter, but luckily he did the smart thing and approached us and between everybody in the admission committee and academic counseling we figured out a way to have him do undergrad courses for a semester and then delay the decision about his follow-up application until the exam results were out and we could make a case for him to be admitted on conditions, like I was.

Your second question, which classes to take, will only be answered when you know what classes they look for in an applicant from another subject.

The people in the application committee at my university really looked for theoretical background. Do we think this applicant knows what P vs NP is? Do we think he can analyze the runtime of an algorithm? Do we think he knows the difference between a proof and an experiment/example? Percieved knowledge gaps in other subjects like electrical engineering or computer networks or operation systems where often seen as less of a problem if the applicants motivation letter stated that he wanted to specialize in an area where he likely wouldn't need that knowledge. When in doubt, the committee would often say that the funding depended in part on how successful the students were (i.e. it was better not to admit one than to admit him and have him fail) so they would discuss: Do we think that this applicant will complete his studies in a successful and timely manner?

So one more point of advice, which worked well during my time on the committee: Show in your cover letter that you have a clear idea of what you want to do in your masters, why you want to do it, and why you think you have the necessary background and motivation to be successful at it.

  • I am having same issue, i have done Bachelors in Elect. Engineering and with 6+ years of Exp in Software Development I want to join Masters in Software Engineering in Germany, however Study advisors are behaving as if its impossible. Elect Eng is way closely related than Applied Maths. Can you please guide me in this regards if you can provide me email so i can send all the possible details. Commented Nov 18, 2017 at 19:52
  • @MuhammadUmar Dear Muhammad, I'm not in academia any more, so I don't think giving you my email address will be helpful at all. Electrical engineering might be close to parts of computer science but math is close to other parts of it. The student in my story who had to study for half a year before even getting a chance was from electrical engineering, so you just might not have the theoretical background on paper, but you do have experience. Talk to the CS-"Fachstudienberater" at as many different universities as you can and you'll probably find one who's willing to work with you on this. Commented Nov 19, 2017 at 17:53
  • Dear, You are correct, i am missing mostly the Theoretical subjects. However i am not exactly sure how to take these courses. I want to do MS in software engineering, i have quite a lot of time before admissions are opened but i have no idea how to take these missing courses, i dont think Univ provide facility for studying specific subjects. If you can guide me it would be helpful. Commented Nov 19, 2017 at 18:55
  • The problem with Soft.Engineering is only 3 Univ provide this course , TUM, LMU and RWTH, RWTH Fachstudienberater have specifically said in mail that chances are low and i would have to study these courses from somewhere else. TUM and LMU aren't replying at least on emails. So mainly i am not sure from where to study these courses. I also dont think they will take into consideration online MOOC certificates for these missing courses. Commented Nov 19, 2017 at 18:59
  • You can take the missing theoretical courses at any university that offers a computer science bachelor, or maybe at Fernuniversität Hagen if you want to take them from home and have the money. But it's no guarantee that your application will be successful even after doing that. The programs you mentioned are very competitive. Btw, many universities offer CS master with the option to specialize in software engineering (i.e. to take mostly software engineering courses during the master) maybe that's an option for you? It would give you more chances to convince someone of your qualifications. Commented Nov 20, 2017 at 6:20

You must log in to answer this question.

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