Towards applying to CS Ph.D. programs
After going through and learning from tens, if not hundreds, of blog posts on applying to Ph.D. programs, it would almost be inappropriate if I didn't write down something and throw in my two cents about this exhausting but ultimately self-enriching and fascinating process.
This blog post will hopefully be a useful guide to the students who are planning to apply to Ph.D. programs. I will try to give you a glimpse of what the application process looks like and offer some advice on how to best approach, embrace, and enjoy this unique journey. I hope this helps you! If so, please consider paying it forward, maybe start by giving a hand to students in your research group who will be applying for Ph.D. programs.
Note that whatever I write down is biased because of my background and experience. For context, I grew up and went to high school in China, and then did my bachelor's in the United States, majoring in computer science and mathematics. During my undergraduate, I worked on systems (scheduling/cluster resource management) for ML starting from the summer of my second year, and I fully committed to doing a Ph.D. in my third year. My research interests fall under the big topic of "systems and networking", and for my Ph.D. application, I applied to professors whose areas of interest range broadly across all system aspects of big data, including systems for ML (training, inference, video analytics, etc.), ML for systems (congestion control, video streaming, etc.), cloud computing/data center resource management (e.g., serverless, scheduling training/inference workloads), etc. Also, my honest opinions can be straight-up wrong, so take everything with a grain of salt.
A CS Ph.D. application package should be the culmination of your previous academic career. It usually includes three recommendation letters, a curriculum vitae (CV), a list of publications (if any), a research statement of purpose (and possibly another personal/diversity statement), your college-level transcripts/GPA, standardized test scores, and a bunch of other personal information.
While your technical ability is instrumental to your Ph.D. application, doing the application right is also critical but is often neglected. This blog post aims to point you to some common practices for wrapping your application package nicely with the following chapters:
- Chapter 1: Why do a Ph.D. at all?
- Chapter 2: Narrowing down the programs/professors of interest
- §2.1: How do you put up the big list of POI?
- §2.2: How do you narrow the list down?
- Chapter 3: Getting in touch with the POI
- §3.1: Make a CV and a webpage first
- §3.2: How and when should you reach out?
- Chapter 4: Asking for recommendation letters and sending out requests
- §4.1: Who should you ask for letters?
- §4.2: How should you ask for letters?
- §4.3: What's next?
- Chapter 5: Writing up the statement of purpose
- §5.1: How should you write a statement?
- §5.2: What should be in your statement?
- Chapter 6: Preparing for interviews