Dustin Lin

Logo

Contact: lin [dot] du [at] northeastern [dot] edu
GitHub: DustinLin

Theme by orderedlist

A Personal Experience of PhD Admissions

As the 2023 CS PhD cycle is coming to a close, I’d like to share my experiences and lessons in hope that someone will take a thing a two from it. I believe there are many differences between the “admissions game” in undergrad and PhD programs, and I will include the many resources that I’ve read.

Disclaimer I would like to reiterate that this (along with many of the opinions you read online) should be taken with a grain of salt, but I recommend on reading many different sources and comparing what they each have to say and form your own opinions.

A brief note on those who are applying to master programs in CS, I don’t think what I have to say below will be very applicable to your circumstance, being that the “admissions game” for masters and PhDs are very different. Perhaps I will make a separate post on it some other time.

For a bit more background, I went into the 2023 application cycle knowing what area I wanted to do: theoretical computer science (and more specifically complexity and randomness). As such I wanted to apply to universities with faculty that shared the same interests as me. I’ll elaborate more below.

Why PhD?

As someone interested in theoretical computer science, it may easier to justify going to a PhD program to continue learning and studying the topic. After all, there aren’t many industry positions that are directly related to the area. As someone who personally enjoyed the university/academia environment it seemed natural to continue staying in school.

For more about motivations and if you still on the fence on whether or not you want to do a PhD in computer science in the first place I would recommend reading Professor Mor Harchol-Balter’s greatly written guide here.

Another great resource you may have access to is your university professors (after all, many of them hold doctorate degrees)! Even if you are still an undergrad, I would recommend taking graduate level courses in the area(s) you are interested (or simply upper division electives), and talking with professors during their office hours. I’m sure they will be more than happy to talk to you about their PhD journey and experiences. Likewise I’m sure some of the graduate TA’s you have encountered may be good people to talk to.

The Admissions Game

In line with many other sources, I believe advisor fit is one of the most important factors in the admissions process. After all, it will be your advisor who will be funding you (and yes if you didn’t know already you get paid, albeit comparatively not that much), meeting with you one-on-one, and your point of contact for any questions you may have. With such a large financial and time commitment, your prospective advisor will be the one you will ultimately need to convince to accept you. It is due to this reason why on many applications there is a required section for you to pick faculty you are interested in working with. It is very likely they will be personally looking at your application materials!

A caveat to note however, is that a prof may not always be looking for new students! Especially in theoretical computer science, a small subfield compared to others, not every faculty is looking for new students every application cycle. From my experience a theory prof on average advises 2-5 students at once (and knowing each student takes ~5-6 years to graduate you can do the math). So even you feel like your interests match well with someone, it may be trumped by the fact that they aren’t accepting new students, which is very unfortunate and somewhat luck based.

With the emphasis on advisor fit, I feel it is more rare for exceptional students to be accepted to a program simply for being exceptional even if their stated interests don’t match with any particular faculty member. Therefore I believe it is important to come into it having at least a general idea of what subfield you are interested (eg: Theory, Programming Languages, Systems, Security, etc.). Hopefully you will have taken some upper division courses on subjects such as the above, or have done some research/independent study with a faculty member on something that interests you.

Some may counter my thought process with something along the lines of: “It is common for PhD students to switch subfields/topics and even advisors!” and “It is unlikely that in a few years you will still be interested in the same topic.” I totally agree with this statement, and myself was conflicted when applying. Since I was taking a more narrow approach and applying to specific faculty, I always wondered what if things don’t work out in a couple of years? There are a couple of things I would say here. Since it is very hard to predict the future, the best can do is to make informed choices based on you know at the moment. I would recommended if you are really interested in a particular subarea/topic and can find other professors who share similar interests then go ahead and go for it. Another option which I don’t personally think is worth is to apply more generally and taylor advisor interests to yours, you should be thinking the other way around! Nonetheless, once fact to consider when choosing to apply to schools is the number of professors you would be interested in working with. Though at the end of the day you will most likely be advised by 1-2 profs, keeping in the back of your mind other profs in the departments that could serve as back-ups in case things don’t work out.

A general timeline

Most applications for the fall are due in the preceding winter (so if you are applying to enroll in fall 2023, applications are due around 12/2022 - 1/2023). I would recommend beginning to scout out potential schools and securing your letters of recommendations in the summer time, as once the school year begins people often get sidetracked. Interviews and decisions usually come out between February and March, with a final decision usually required by April 15th.

Approaching the Admissions Game

Applying to PhD programs usually consists of submitting the following materials:

  • Transcripts
  • Statement of Purpose
  • Letters of Recommendation (typically 3)
  • GRE (may not be required)

How many schools to apply to?

There isn’t a magic number, but I will echo what my seniors have told me when I was applying: “depends on how much you want to go!”. If you are currently in industry and are fine with continuing to work if things don’t work out then perhaps you won’t apply to as many. If you coming from undergrad or a masters program, or despise working in industry, then maybe you will apply to more. A general ballpark is between 5-10 schools. This may seem like a pretty big range but I have heard stories of people applying to just a couple of programs, or upwards of 15+.

Where to apply to?

The first resource you should turn to would be your faculty advisor or other graduate students in the field you are interested in. They will certainty know more about others in the field and can recommend you people who share the same interests as you. You can then decide if you want to apply to the university where these faculty are. I mention this first because it is the easiest and fastest way to get a good list of places to apply to.

Another option you can do in conjunction would be to look up institutions yourself. csrankings provides a good list of institutions you can start looking up faculty from. Note that if you do visit that website, make sure to filter by the specific area you are interested in. Going down the list of universities you can look up on the internet “[university name] computer science [area of interest] group” (eg: “UCSD computer science theory group”). Usually a website will pop up and you can look through the current faculty listed (yes one by one), and visit their respective personal website and papers. Likewise you can look up faculty on dblp to browse through their recent papers and see if their interests align with yours. I mention recent papers since it is often the case that people switch their interests, and if they were interested in X 10 years ago, they may like to work on Y now. As you can see this brute-force method does take quite a while, and some of the information may be out of date. This is why I highly recommend the advice in the preceding paragraph.

With a combo of these 2 methods I recommend having different faculty/mentors (if possible) look through and review them with you, as different people often have different insight. I believe at this step being proactive and communication is key, I will admit that I pretty much didn’t know anything about the field at the time I was applying and talking with other students and faculty helped me a ton in getting/knowing good places to apply to.

Statement of Purpose, and Letters of Recommendation

I would defer the SOP topic to this great post written by Eugenie Lai found here. I feel like I would basically repeat what was said here but written a lot worse so just go read that post. Though I will reiterate that you shouldn’t be afraid to ask your advisor/faculty/graduate students if they can help take a look at your draft, iteration is key!

As for letters of recommendation, they are one of most integral part of your application. Especially in the academic world, everyone knows each other. So having your prospective PhD advisor read LORs from other faculty they know comes a long way. In general people who can vouch for your research potential are the first you should ask for a letter. If you have any research experience then your advisor would be a great reference. Other noteworthy people you can ask are instructors you have helped teaching with (eg: tutor or teaching assistant), or faculty mentors from clubs or whatnot.

While I don’t have any insider info, or have helped on admissions committees, I think in general having a couple good letters is good enough. The infamous “This student took my class and did well” letter is fine as long as they aren’t all three of your LORs. (To be honest I have my own gripes with the 3 letter requirement, but I don’t want to make this post too long so I’ll leave it at that.)

The GRE question

I think the computer science field in general has been more liberal in dropping the GRE requirement for PhD admissions (or even prohibiting it), citing in general that it is not a good predictor of if one is going to be a good researcher. This makes sense if you place yourself in the shoes of a professor looking at potential applicants. They would value much more your research experiences, letters of recommendations, and the courses you took in undergrad than a test score. I personally (and would recommend), curating a list of places to apply to first, then decided if you want to take the GRE. Luckily for me none of the places I was interested in required it, so I decided not to take the exam at all.

The wait after submitting apps - “Interviews” and visit days

As stated before, it’s common for either professors individually or admissions committees to reach out to you sometime in January or February to “chat”. It is intentionally vague what “chat” implies here as everyone does things differently. If it’s worth anything, in my experience professors personally sent me an email, and our “interviews” consisted of a zoom/online conversation (yes back and forth) about our research interests, current projects, and the professor’s other PhD students.

There is a debate on whether “interview if and only if acceptance” sort of thing, and while I don’t have a definitive answer as to if this is true or not, I’d like to believe in general professors want to at least speak to the students they are going to accept and potentially work with for the next few years.

It isn’t usual for acceptances to come out before rejections (personally I got “yes” results around early February, and rejections as late as end of march.). Take careful note of their funding packages and requirements. What often comes next is an invitation to go visit the campus and faculty in-person (an all expenses paid, free vacation!) sometime in March. This is a great opportunity to tour the campus and town, speak to your prospective advisor in person, meet other accepted students and current graduate students, and eat lots of free food. Keep in mind that after accepting you, it’s now the universities job to convince you to come, these schools put on a good show for you! As for advice on choosing where to ultimately go, one can get pretty philosophical about it (and I think it’s a very personal decision) so I would just recommend you to take note the funding package, advisor fit, and university/city fit.

I know this period of time will be very stressful, so try to avoid rapid refreshing your email like I did.

Final remarks

The PhD application process is frustratingly black box and highly variable, and a lot of questions can easily be answered by “it depends”. With the recent economic downturn combined with the upward trend of undergrads majoring in computer science + related majors, there are more and more PhD applications. With the hiring of faculty lagging behind this makes each cycle more and more competitive.

A final general piece of advice would be to be proactive, talk with professors, current PhD students, and other students in your cohort applying. The fact that you are reading this random grad student’s blog post is a good sign! Please don’t be shy to send me an email if you have any questions, I’d be more than happy to try to help. You got this!

Resources list

back to blog