Is it possible, and what are the chances of doing so, to get into a Computer Science Ph.D. program at a top school like e.g. the U of Toronto with a Master's degree (say, with excellent academic record) from a lower-tier school?

My situation is as follows:

  • I am about to complete my Master's degree in math (GPA will be between 3.7 and 4.0) in a program with a high reputation (acceptance rate 40 out of 170). I have done mainly (functional) analysis and mathematical physics, and some differential geometry and probability theory. No computer science-related stuff. Also, no statistics (so far at least).

  • However, I am increasingly unhappy with my field, and I would like to go into machine learning. I know how to program and I have won some competitions as a high school student at federal state level (Germany), but I haven't taken any university courses in computer science so far.

  • This term I'm taking courses in databases, operating systems and machine learning. That will be enough to get admitted into the Applied Computer Science Master's degree at the University of Heidelberg (note that Master programs in Germany are two-years programs). Certainly not itself a bad university, but the computer science program doesn't really have a very high reputation (after all, there's a reason the admission requirements are so low). With virtually no formal education in computer science, I just don't have a lot of options at the moment.

  • Assuming that I will complete that Master's program with a very good GPA (and also additionally take the one and the other undergrad course like e.g. algorithm design to catch up), what would be my chances to be admitted e.g. into the Computer Science Ph.D. program at the University of Toronto or a similarly good school? At the moment, I would certainly have no chances to be admitted into their Master's program.

I have also considered doing a one-year computer science conversion Master at a better school, but I found the curricula of those programs rather basic and concluded that doing a 'real' Master's at a not-so-good school would be the better option. But maybe that's just my German way of thinking... Here in Germany the name of your schools means relatively little, but my impression is that things are somewhat different in the anglophone world (in particular the U.S. and the UK).

  • Would it increase my chances if I combine this degree with edX MOOCs from top-tier schools like MIT?
  • 2
    Decide what you want, then APPLY, we cannot say what any particular university wants or accepts on any particular day... Your application may help them achieve a diversity threshhold , who knows. – Solar Mike Oct 29 '18 at 6:28
  • Are you sure that you are asking the right question? For me, it looks like the main problem is that you want to enter a C.S. PhD-program with an unrelated math degree. (Which I've seen happen, but usually with a more c.s.-related focus in math courses.) – mlk Oct 29 '18 at 9:11
  • @mlk he says that he's going to do a Masters in Applied Computer Science first, but at a (perceived) lower-ranking institution. – Time4Tea Oct 29 '18 at 18:14

There are some academic-cultural differences between US (where I live) and Canada, so take my answer with a grain of salt.

Top CS PhD programs in the US are looking primarily for concrete evidence of research potential in PhD applications. This is especially true in machine learning, which is by far the single most popular research area for PhD appicants. (At least a third of last year’s PhD applicants at Illinois listed ML or some close variant as their primary research interest.) I cannot emphasize this enough—competition for PhD programs in ML is incredibly fierce. ML has become the default area-of-interest for smart people who like CS but don’t really know what they want to do. High grades and test scores might be enough to get a human being to look at your application, but they will not be enough to get you in; classes ain’t research.

In addition, since you’d be applying with a masters degree, you’ll be compared with other applicants with masters degrees, many of whom will already have ML publications. (Unlike Europe, most PhD programs in North America require only a bachelor’s degree to enroll, and most new PhD students in those programs do not have master’s degrees.)

On the other hand, a strong background in functional analysis, differential geometry, and probability theory is extremely rare among computer scientists, and could be a huge advantage, if you can leverage that expertise into concrete evidence of research potential.

Some specific things to aim for in a master’s program:

  • When you apply for PhD prorgams, you will need recommendation letters from well-known researchers researchers in your target research area. Make sure the department where you get your master’s degree has those researchers! You should be thinking in terms of potential faculty mentors/references, not departments.

  • In your PhD application, you must be able to talk about your research interests using the idiomatic language of a researcher, not just as an interested student. Moreover, your recommendation letters must present concrete evidence of your research potential. Make sure that your masters program gives you an opportunity to do research (or at least indepedent study projects) with those well-known researchers in your target research area.

  • A purely course-based master’s degree will work against you; classes ain’t research. Similarly, using MOOCs as evidence of your expertise in ML will work against you, because we only have your word for how well you did, and MOOCs definitely ain’t research. That doesn’t mean on-campus courses and MOOCs are useless, but you should use them to enable your research, not as end goals in themselves.

  • Leverage your strengths. Look for MS programs that will help you develop research expertise that takes advantage of your particular skills. In particular, look for potential faculty mentors who have, or at least appreciate, a similar mathematics background to your own.

  • Sadly, the name of your school does matter. There are too many good applications; people apply all sorts of stupid filters to limit the number of applications they have to read. (It might matter less coming from Germany, where there’s less variance in quality/reputation.) Wherever you are offered admission, ask for data about PhD placement before deciding which offer to accept.


Yes, it is possible, but you're asking the wrong question.

A (paid) PhD track is more of a job of a junior researcher, with some studying involved, rather than a study program with a fancier title. You need to convince either a university, or an individual researcher that it's worth their while to employ you - that you have the potential to produce meaningful research and to help them advance their own overall research agenda.

In convincing them, the reputation of the institution you got your Master's at may have some influence - just like your grades, papers you've published, non-academic (e.g. industry) work, the identity of your Master's supervisor, the reputation of your research group/lab, and perhaps your online presence, scientific and otherwise. These all can factor on. Different individual researchers, departments and universities factor them in differently.

What I will say practically that it may be more important for you than for other people to engage a potential advisor personally, perhaps arrange a visit, offer to present a result of yours in a colloquium etc. - to create an impression beyond what can be assumed based on your "pedigree".

  • 1
    This is probably not the same in every country. It wouldn't be true in the US, for example. But doctoral study in EU seems to be quite different than in North America. – Buffy Oct 29 '18 at 13:35
  • @Buffy: In (some/most) of Europe this is even clearer than in the US. In the Netherlands, for example, not only are Ph.D. students considered employees, they are also unionized together with the senior academic staff members; they have a collective labor agreement, pay scales and everything. – einpoklum Oct 29 '18 at 14:44
  • 1
    @Buffy Maybe not in CS, but this answer is exactly how I would describe the US in the biological sciences. What part of it are you saying is different in CS in the US? – Bryan Krause Oct 29 '18 at 21:26
  • @BryanKrause, in some fields a TA is not automatically part of the deal with doctoral study. In particular, if you have some other funding, then you don't need to have a "job" to study. Fellowships are like that. The sciences may be a bit different as there are labs that need to be staffed and the study is an integral part of the lab work (I think). In math and CS that isn't the case. The humanities also, don't normally have labs, but still have TAs. Just not as linked. OTOH, you probably can't be a TA if you aren't a student. – Buffy Oct 30 '18 at 0:02
  • @Buffy In science, TAs are only a fraction of the support, it's mostly RAs - but the work and research are one and the same. At least at my institution that's pretty normal for PhD students in engineering too, and I sort of assumed CS would be similar to engineering, but it might depend on research area, with more funding in more applied areas. In any case, einpoklum specifically referred to a paid PhD program, which I take to be one with guaranteed funding. Humanities, social science, etc, of course is different. – Bryan Krause Oct 30 '18 at 0:31

There is no way to know if you are acceptable at University X unless you actually make application there. Most top universities have students at the graduate level who attended not quite so prestigious schools (otherwise they'd have no students). Apply and make your best case. What are your strengths? What can you bring to the table that makes you a great candidate?

But you don't need to look at it as an either/or situation. While you are in the process of applying you can also start your transition to CS. It might not even need to be a formal program. While MOOCs might give you knowledge, I doubt that they would figure very highly in any decisions.

And of course, some parts of CS are very mathematical, so if you are intending to do something like that, then the transition between fields may be less of an issue.


If I was CS faculty and was tasked with reviewing your application, the question I would be asking first and foremost is "Why does this student think he can be successful in a CS doctoral program when he has next to no computer science experience?" As long as the institution you are getting your master's degree from is accredited and has at least a decent reputation (i.e. I know that the school exists and that it is not just a degree mill), where you are coming from will matter much less than how you plan on being a successful student in our program.


This is indeed somewhat the case in the U.S., but only to a certain extent. Harvard is distinctly better than Polytechnic University of Northern Idaho. But is Colorado State better than University of Oklahoma? Is Clemson better than Tulane? Does it even matter?

"At the moment, I would certainly have no chances to be admitted into their [U of Toronto] Master's program."

Taking one or two classes is not likely to vault you to a position where you all of the sudden will be ready to enter U of Toronto's PhD program then. MOOCs would be given next to no credence in the admissions process. (I work in "industry" in computational statistics and visualization; applicants whose entire "formal" programming experience is in a MOOC never even receive a glance when I get their resumes).

Based only on what you have said, I personally would find it hard to accept a student with your profile to a top-tier PhD in computer science. While doctoral work in CS is certainly more than just "programming," it would worry me that you have essentially zero background in the field generally. Even PhD students in theoretical CS need to understand the basics of computer architecture, object oriented programming, networking, etc. Students wanting to do "big data" and machine learning need to be even more experienced in these topics.

My overall suggestion is that you consider doing a PhD in statistics or a PhD in CS at a lower-tier university. You will have an easier time convincing an admissions committee that your profile is a good fit for their program.

  • What on earth does computer architecture have to do with machine learning? As far as I can tell, very little. And I know that top-ranked CS programs in the U.S. will admit students who don't any background in the areas of computer science unrelated to their intended research topics. (Although whether you can get into a top-ranked department in machine learning with no CS or statistics courses is a different question.) – Peter Shor Dec 1 '18 at 10:53

Your Answer

