Prepare Your Application for CS PhD.
Catalog
- Catalog
- Before You Read
- Let’s Start
- Contact Me
Before You Read
This will be a long article which will take you approximately about 15 minutes to read. If you think it is too long to read. Please directly go to the end.
Let’s Start
Introduction
During my preparation for PhD applications, the most response I got are rejection. However, I also received several offers including MASc in ECE from University of Toronto, PhD in CS from McGill University, PhD in CS from UMASS, PhD in CS from UTexus Austin, EDIC from EPFL, and PhD in CS from NUS. I would like to summarize the application for three stages, which are before application, during application and after application. In different stages, you need to put different things in priority. The key to getting your ideal offer would be mainly composed of your research background and your connections. The other things would be minors and I would like to share more of my experience about that.
Before we get started, I would like to introduce an open-source project: opencsapp, which is managed by my friends. It includes tons of past experience applying to graduate programs in CS. In this post, I would like to lay more emphasis on research.
Before Application
I would like to use the timeline of an undergraduate student who wants to apply for a direct PhD. as an example. For the preparation, it means the period before the last summer before your final year of study. The last summer is also included. As you can see from the colors in this graph, it will be relatively chill in the first two years and stressed in your third year. However, to make the application easier and smoother, I would like to provide my point of view: prepare early and distribute your workload evenly.
The most critical factor in deciding your application will be your reference letters and connections. However, to acquire them, you need a strong research background. Rather than saying have research experiences, I would like to say manage your research experiences. Some people may argue that published papers are important to application and some undergraduate students even have certain papers published in top conferences such as AAAI, CVPR or even SIGMOD, NSDI, SOSP. However, I would say it is only partially correct. I also have a few first-authored papers published in Ubicomp, ICDCS before applying for programs.
In fact, compared to having the name on author lists, what you really need is the experience of leading a project and doing research independently. Some students just help complete a partial of the source code or just run a couple of experiments. After that, they are granted as a third or fourth author, or even the first author in some particular cases. I would say such a kind of experience is useless and even if you have your name on published papers, it will not really help too much on your application.
Well, on the other hand, even if your paper is under review, the whole project is led by you. You participate and push the whole project forward from having the idea, writing to finishing all the evaluations. This is valuable and can grant you proper reference letters and connections. In this experience, you learn what research is and know how you can carry out research individually. This is also the reason why most experience of course projects is completely useless and professors do not care about them too much. Course projects are usually done in a group and it is very hard to show that you lead the project unless it is an individual project. In that case, you should emphasize that in your CV.
In summary, before starting research, you need to keep it in mind that your ultimate goal is having individual research experience before application.
What do I mean by managing research?
Even the god needs seven days to create the world, it is impossible for you to start individual research once you touch it. For the first and second year, you should put your emphasis on your GPA. It may sound like a utilitarian but the truth is the reason for taking a course is you want a good GPA. Honestly speaking, with the fierce competition nowadays, the objective of going to universities has deviated from our original goals of acquiring knowledge. We just want to get good jobs, good lives, to get a green card in the US or a PR in Canada. But anyway, putting your emphasis on your studies is what I want to say. While in the meantime, get yourself involved in the labs and begin doing research with professors and PhDs.
At the very beginning of the first and the second year. The first thing you need to figure out is whether you really want to do the research in the future. The earlier you figure it out, the more benefits you will get. The next thing is to think about what you want to do in the future. You do not need to narrow down the scope on to a thesis level or a specific topic. This is what you need to think about right after you have just begun the PhD. Just think about a rough direction like machine learning, operating system, database, etc. If you are sure you want to do research and you know what you want to do, the third thing is to think about whether you are really good at it. You need to make sure you really have contributions during your research internship.
After thinking about all these, the next thing is to evaluate your opportunities. If you find that after spending two or three months working for a graduate student, you have nearly zero or very few chances to communicate and talk with the professor, you should quit that lab immediately without a second thought. You need to evaluate how much you have learned during your research assistant experience and whether you can learn to become an individual researcher. And you get a chance to collaborate with the professors! Not just the PhD. Students or master students. This is important. They have not got their degrees. I’m currently still a PhD student and I’m still learning how to do research. PhD students, candidates or even Postdocs are not necessarily clear on doing research and probably not. Otherwise, they should have got their faculty positions. So if you really make contributions and you are really good at what you are doing but you are always collaborating with graduate students or postdocs, it will be a waste of your talent. You should learn from the real professionals, the professors. They are the ones who really understand research. So the most critical thing is you need to make sure you are studying from professors during your research internship!!!
Why do you need papers?
The publication and acceptance is highly random nowadays. Accepted papers are not necessarily good papers and good papers will not necessarily be accepted. Moreover, the difficulty to publish a paper varies from conference to conference, from journal to journal and from research scope to research scope. If you have publications when you are applying for the PhD, it will for sure make your application better as long as they are written by yourself. But it is completely fine that you don’t have.
The main reason is that you should have the process of managing your mind. You should understand how you build everything up and organize them to make your work well sounded and motivated. In other words, it is the process and what you learned from this process that matters, not the papers. If you don’t understand how you should write a good paper, it won’t help much for your application even if you have a lot of papers. Nowadays, it is easy to write a paper and submit it to a random conference. Some students may have a very long list of papers and many of them are arxiv preprints. I think this is useless and may even have some counter effects. What you need to do is show your understanding of research and understanding of how you can communicate with others in the form of static texts such as papers.
So, if you have a third or fourth authored paper, it does not help too much. If you have a first authored paper, it is a good thing but you need to know how you demonstrate your understanding of the research.
The Application
To start with, I will introduce each component of a successful application in the form of timelines. First, I would like to give you a checklist of each component for your application, accompanied by a checklist of which stage you should prepare for each component. The list is sorted according to importance. If they are notated with a *, it means such a component will not have as much impact as you expected. If anything is not listed in this checklist, that means it is useless. Remember this list includes the things you need to prepare. Some important factors such as diversity are not listed. I believe any top university and research group will definitely bring equality to underrepresented groups considering gender, race/ethnicity, physical or metal ability, LGBTQ2+ status, and many more into consideration.
- Connection: First year to 12/15.
- Reference Letters: Sept. to Dec.
- Research Experience: Second year to writing your applications.
- Publications: Second Summer to 12/15.
- Choosing programs and professors: Sept. to Nov.
- CV/Resume: Sept. to Dec.
- Meeting and meeting slides: After 12/15.
- Personal History Statement*: Sept. to Dec.
- SOP/PS/Research Proposal: Sept. to Dec.
- GPA: First year to third year
- Research internship: First/Second/Third summer.
- Standard Tests: TOFEL: Third summer/GRE: Third year.
- Connecting professors via email (they don’t know you before)*: Sept. to Dec.
Now, I would like to give a guide for each component in this checklist.
Connection
Connection can usually be viewed as the fastest track for your getting the offers. However, by saying the fastest, it is the slowest as you need to always manage it from the start to the end. You also need to prepare for it as early as possible. A strong connection can help you directly get the offer. There are usually two types of connection. First, you know the professor well and the professor also knows you well. Second, you have a good connection to a professor and the professor can introduce you to the professor you want to apply to. They have a strong connection.
Reference Letter
Reference Letters are also quite important. They are not so determined as the connection. But strong reference letters can also help you get admitted by your dream school in some cases if you can do the all other things pretty well too. However, it is an important thing to establish a good connection with your referees. Not only do they need to know very well, you also need to know them much better. Don’t expect a professor who does not know your name until you come to ask for a reference letter to write a good reference letter. In most cases, a mediocre reference letter equals a bad reference letter.
Research Experience
When you are preparing for your application, you need to have it in mind the overall flow of idea of your research. It is like writing a thesis, but not so techniqual and also like writing a paper. You know the reason why you need to do these research and how they are connected to each other. Each experience should contribute to your current research question(s). If your research experiences are like several random pieces of topics in several unrelevant directions, it will be a big problem. You need to find a way to connect them together and generate a flow of ideas.
Publications
Always wish for the best and prepare for the worst. In today’s random review mechanism, especially in some communities, there is no guarantee that a good paper will be accepted and an accepted paper must be a good paper. So just try to write a perfect paper and submit it to the venues. That’s it.
Choosing programs and professors
Though this is not the most important factor for getting you admitted, this is one of the most important things you really need to think about. Especially today the competition for computer science applications is becoming more and more fierce. To the best of my acknowledgement, over 80 percent of my friends how used to not work in IT, all change their focus on coding. Hence, sometimes, you may want to give some sights on topics which are not so hot. Always choose the one that fits you most, not the one which is the most popular.
I have a list of questions you need to think when you choose programs and professors
- What is the rank of the program and university? Will the rank make the program harder to apply then it should be?
- How do the programs and professors match my career goals and research?
- What are my dream schools/professors, list three? What schools/professors match my standard, list five? What are schools I will definitely get admission to, list three?
- What is the program name? What is the admission link? What is the deadline?
- Do I meet the minimum admission requirements for GPA/TOFEL/GRE?
- Who will write reference letters for me?
CV
CV is usually one of the material you can put your efforts on in the final stage of application. The CV should present your factual achievement. Hence, it should include basic information about you such as name, degress, education experience. It is always a good habit to include your email and phone number. You also need to present your research experience, publications and other experience.
I think putting the skills in the CV is a strange thing but a lot of people do it. It is useless and it is not supposed to be here. Because listing your skills is a subjective action. For example, you can write I have a second prize in an NOI competition where we programmed in C++. But it is not a proper thing to say I am mastered at C++. Also, you can list you have a bronze medal in a kaggle competition. But, it is not a proper thing to say you know deep learning or data mining pretty well.
Always remember to include facts in your CVs. When people are reading your CV, they will filter those statements not presented in the form of saying facts. This is not a good thing because they may accidentally omit some merits you want to express.
Here is a template for CV in the form of LaTex. If you want to share it on social media, please remember to leave a notice about where you got it.
Meeting Slides
It is always good to have a slide introducing yourself and your research. Remember to send it to the professors before the meeting. It does not need to be very long, you may only need five minutes to introduce one of your best projects.
Personal History Statement
The value of such a statement is case by case. If you believe you can contribute to the diversity of the school, you need to put much emphasis on this statement. If you are from a minority group, I suggest you write this as this is a good opportunity to fight for your own interests and rights. You should always do this. With all our efforts, we can bring a better word.
SOP/PS/RP
Writing in fluent English and good articles may no longer be a difficult thing with the present of large language models. However, the most critical thing in writing these materials is that you should have a flow of ideas. You need to write a story and a story should have its basic components. You need a start, a body, and an ending. You need to tell others why you did such research, what you did and how well you did it.
Writing a PS
Usually a personal statement is about 1000 words. Don’t make it too long.
Paragraph 1
Paragraph 1: Please do not use very long stories. Go directly to the point. Explain how you got interested in the field related to this program. For example, the simplest reason is that you major in this field and you’re interested. Or you can say that though your major is not, let’s say computer science. You feel interested in it and want to have a deeper professional study after taking several online courses such as xxx. Give a brief self introduction such as your name, major, or when you will get the diploma. Your GPA, best honors, ranking if there are attractive enough. The third sentence should be kept simple. Clearly illustrate the program you are applying for.
Paragraph 2-4
Paragraph 2-4, we usually write 2 paragraphs for the main body. Each paragraph should take about your best past projects, research or professional experiences. First, give the motivation of beginning the project. This is a different CV. You should take about for what reason, you get started this experience. Not the reason why the topic of this project is interesting. For example, the motivation in CV can be that previous transformer based method needs long training time. The motivation in PS is that I want to touch on some research related to machine learning, particularly language models and transformers. The second sentence should be a summary of the project. Starting from the third sentences to about the six one. You should place your own insights about this project, from a subjective point of view, not the objective point of view in a CV. You should also demonstrate your potentials and abilities in these sentences. For example, you can say that in this project, we implemented our ideas from algorithms to real applications, and we evaluated them in industrial cases. I think such an industry level evaluation is very important for the development of a project. I have always insisted that we will move our products into real-world case testing before it are put forward to the market. The last sentence is similar to a CV. Talk about your results. For example, how your product is implemented in the real world.
Last two paragraphs
Last two paragraph: First tell the readers how your previous study related to this project with some course examples. Briefly speaking, how do you get yourself prepared for the project? You should sufficiently show why the program should enroll you. You should then explain why you need this project. Usually, we give three sentences (three reasons). First, the program scheduling including the modules, projects, professors. You should give detailed names of the professors you want to work with. The courses you want to take. If you are applying for a thesis based program. You must and only talk about 1-3 professors you want to work with. Remember, you should give a solid reason. For example, you research interest matches a lot. If you are applying for the thesis based program, these three sentences are simple. Just three sentences about professor and the reasons. If you are applying for a course based program, the other two sentences are different. The second sentence should discuss the program’s advantages. For example, it has group working and self project. It has cooperation with business and so on. The same thing, be detailed and have reasons. The third sentence should talk about the school’s advantage. For example, it is in California, with lots of opportunities to have internships in top companies. The last sentence is simple, try your best to praise the school and thanks for reading.
GPA
In fact, most people may think GPA is what it should be. But, in fact, there can be some little tricks in presenting GPA. You may choose to draw the committee’s attention to some courses you have better scores for, which you can call them the courses related to your major or the program you are applying for. However, it should have a rationale. For example, if you are applying for a research related to multimodal. You can’t say that computer vision is related and natural language processing is not related. While you can say deep learning is related but operating systems are not related or Physics is not related. Treat your GPAs wisely.
Research Internship
If you have decided to apply for a PhD, it is usually of benefit if you participate in research internships. Research internships can be in a research group or in a company such as MSRA, Apple, Amazon, etc. The most critical thing to applying for a successful research internship is treating it as if you are applying for a PhD or a job. You will gain you more chances to simulating applying for a PhD and collect precious experience.
TOFEL/GRE
I usually tell others that these two things will not affect your application. I changed my mind until I met a customer. The reason why these two are important is that if you have very low scores (TOFEL<90), you basically cannot apply to any school. But if you have very high scores (TOFEL>110), they won’t help anything regarding the application, regarding CS application.
Before you prepare for them, you can read the requirements list by each school on whether the GRE is required and what is the minimum score of TOFEL. This is also the reason why I recommend you to take the test in the third year. The policy usually won’t change too much.
For the TOFEL tests, I strongly recommend TSTPrep. It is really helpful. For teachers of TOFEL and GRE, you can contact me personally. I know several pretty good teachers and they are very professional.
Connecting Professors via Email
You may get good luck to be in touch with professors. There are no particular standards for how we should write emails. Some professors like you to cut to the point directly. Some prefer you give more details. However, from my understanding, all professors have tons of things to handle everyday. So, you should organize a very clear subject and keep your words concise.
After Application
To choose from your offers, you should also do the same thing of evaluating your opportunities. If you find that after you enter the research group, you will work closely with senior PhD students, candidates and Postdocs rather than your professor, you should reject the offer. In my current and past research, I always have the chance to discuss ideas, progress, results, and writings with my advisors. Basically speaking, your advisor should be the one you collaborate with the most closely. This is a critical factor when you consider your offers.
I would also suggest you communicate with the current PhD students in the research group to understand all the necessary things you think you should acknowledge. In summary, the decision should not be based on what you have and what the prospective supervisor has. It should be based on what you are going to have and what you are going to bring to your prospective supervisor. I strongly recommend you go over these two checklists before you make the final decision.
Contact Me
I also provide advising service for CS/EE PhD application. Feel free to contact me via email or social media such as Zhihu. To support the free resources provided, sponsorship is welcomed: .
Previous students advised
I am always happy to help students with their PhD applications and I also have advised several students who finally received offers to top universities.
- Yaxin Ma. PhD in University of Floria.
- Tengjiao Fu, PhD in Cambridge University.
- Zeshan Hu. MASc. in York University.
- Liangbing Zhao. MSc. in University College London.