This is the 2nd part of the [previous post](https://vaforums.github.io/PhD-demystified-Part1/) on the same topic. # 4. Getting Admitted and Choosing the Right School By around March you should hear back from most PhD programs you applied to . If you haven't heard back, reach out via email and ask about the status of your application. If you receive offers, congratulations! Now you're at a different game because the schools that have admitted you will try to get you to accept them! You will have to make your decision by around April 15. Most schools will have **Open House** events, which are a great resource to learn about the school, department, faculty, research, living, etc. During the Open House, you get a chance to talk to individual faculty and current students. Take notes of faculty who make you excited, count those that are taking in new students (if they meet you, likely they are considering new students!). Talk to students about their advisors, the dept, the area, funding situation etc. Ask about anything you want to determine that they deserve *you*. In short, if you can, do come to Open House. Even if you can't come in person, you still can attend virtually and meet with individual faculty. > **Vu:** GMU has *Virtual* [Open House](https://cs-gmu.github.io/cs-phd-voh-s23/) (VOH), which I've co-organized in the last two years. We invite all admitted PhD students to the VOH through Zoom to learn about the CS program, the department, GMU, and the DC area in general. Students also get opportunities to chat with professors and current students. # 5. Funding As mentioned, if you're admitted to a *good* CS PhD program, you should not have to worry about funding! In the US, the common types of funding for PhD are *graduate teaching assistant* (GTA or TA), *graduate research assistant* (GRA or RA), and *Fellowship*. RA is paid by a prof. for you to do their research. TA is paid by the department for you to help with teaching. Finally, fellowship is an independent funding that can come from a school, a company, or an organization. The following table summarizes the differences. Note that funding is typically more available for PhD students than Masters. Undergraduate students typically have no funding and also have to pay international tuition, which is very expensive! | | **TA** |**RA** |**Fellowship** | | ----------- | ----------- |----------- |----------- | | From | School | Profs | School/External | | For | Teaching Assistant |Research |Research | | Tuition/Ins./Stipend | Yes |Yes |Yes | | Cover Summer? | No |Maybe |Yes | | Pros | Research Freedom |Get to do research |Research Freedom | | Cons | Teaching Duties, Uncertain |Research Restriction, Uncertain |Competitive, Limited | ## 5.1. Graduating Assistantship (TA/RA) The most common type of funding is **graduate assistanship**, which is either TA or RA. Both TA and RA come with tuition waiving (you don't have to pay tuition), health insurance (this takes care of your insurance, which is a must have in the US), and most importantly, your stipend (i.e., your salary). Some universities also pay insurance for spouse/children (or give very good discount). Several things about stipends. First, the amount of stipend depends on the university, which in turns depend on various factors such as location (e.g., a stipend in Washington DC is likely higher than in Lincoln, Nebraska due to higher living cost). Second, a school year is (typically) 9-month in the US, so stipend is for 9 months (so divide by 9 for each month). Third, like most source of income in the US, you will have to pay tax on your stipend. Fourth, CS department typically has higher stipend comparing to other study fields. Finally, private universities might pay more for stipend (but they could have higher "activity" or some other hidden fee, or you will have to pay some fee for each class credits). Students often complain their stipend being too low, but it is actually not bad and you can live comfortably with it. In many cases, it is enough to support your spouse and kids (many CS PhD students have their spouse and kids with them). So don't worry too much about stipend. If you're admitted to a good CS PhD program, you will be fine. A good school would know that it has to be competitive, otherwise it will loose good students to other schools. For example, at GMU, every year we discuss about improving the benefits, and especially stipend, for our graduate students. For a full breakdown of how much a graduate student costs, see Section 6.10 > **Vu:** TA and RA at GMU have similar benefits in tuition waiving and insurance. The college and department will set the rate for 9-month graduate assistant stipend. TA, which is paid by the department, will likely be that amount but RA might be higher depending on the stage of the student (1st year vs ABD) and the prof. > Having health insurance is required at many US universities. So do not think that you're young and healthy and ignore insurance. At GMU, and at most good CS PhD programs, your GTA or GRA *will always* come with full insurance. In fact, at GMU your spouse/children will get significant discount rate for health insurance. So you will never have to worry much about health issues for you or your family here. ### 5.1.1. Teaching Assistant (TA) TA is common in the beginning when you haven't found your advisor who would pay you RA. As a TA, you spend up to 20 hrs/week and help professors with their classes (e.g., grading or teaching labs/recitation). Your TA is paid through the school/department, i.e., they hire you to help teach. During a semester, a TA might work with several courses and professors (not necessary their advisor). TA funding typically is not available during the summer, which has much fewer courses. **How to get TA?** Unless you have other funding such as RA or Fellowships, TA is typically a default thing. When you apply to be a full-time student, state that you need financial assistant. It is common that the PhD committee will either admit you and give you GTA, or reject you; i.e., we do not admit a student without supporting them. > **Vu**: At GMU CS, students admitted with TA have 4 years of GTA guaranteed and also receive stipend for the **first** summer. Even if you have other funding and do not need TA, you still should do TA at least once. This allows you to see what teaching is like, which is especially helpful for research career where you often give talks and tell people about your work. Note that GMU sometimes has classes that a more senior student can teach. In that case, you will be paid as a lecturer, which is higher than GTA. This is a good opportunity for students to get teaching experience and also get paid more. ### 5.1.2 Research Assistant (RA)} RA is provided through a professor through their own funding so you can work on their project. You do not need to teach as an RA, so you can focus on your research. Depending on the professor, RA may be available during the summer. Section 6.10 gives more details on RA budget. **How to get RA?** When a professor recruits you, they will likely give you RA right away (e.g., when you apply). A common scenario is that you first get admitted with TA, and then after a year or two find an advisor to support you with RA. > **Vu**: If you got recruited by a prof. who would give you RA right away, it's very likely you will get admitted. For example, if a prof., even if not in PhD admission committee, wants to work with and funds you, the PhD admission committee will respect that decision and admit you (unless your application has many red flags). ## 5.2. Fellowship/Scholarship Fellowship is another type of funding that students can apply for (e.g., from school, industries, government). Fellowships are typically competitive and generous, and gives pretty much all benefits tuition/insurance that a TA/RA has. Moreover, they often give higher stipend (including summer) and open doors for job opportunities (e.g., internship). For example, a student with a Microsoft fellowship will likely get an internship at Microsoft. In general, fellowship is prestigious, and you will stand out if you get one. Every PhD student has pubs, but only superstars have NSF grad or Microsoft fellowship. In fact, these are so prestigious that even if you didn't get it but make it to the final round, school will still mention you on their website and you still should put it on your CV. **How to get Fellowship?** You need to apply for them. The US government has many fellowships, though they would likely require US citizenship or residency. However, tech companies including Google, Microsoft, Facebook have fellowships that international students can apply for. Prestigious fellowships typically require a clear and good research plan, so it is a good idea to wait until at least your second year to have research experience and even publication before applying. Remember, you're competing with the top PhD students at top universities worldwide. > **Vu:** At GMU, PhD applicants are automatically eligible for a Presidential Fellowship. It is at least as good as GTA but the most important thing is that as a fellowship it is truly free money (i.e., you are not depending on any prof. or TA duties). PhD admission committee members nominate applicants for this fellowship and the committee will vote and give the fellowship to the top 2. # 6. Miscs and FAQs ## 6.1. What can you do to increase your admission chance? Show something that makes you **stand out**, e.g., Do you have a degree or background in *biology* or *music* and want to integrate them with CS? Are you a female or a minority in CS (research for "URM minority in CS in the US" on Google)? Do you participate in outreach activities that help increase diversity and inclusion in CS? All of these are unique and would get noticed from reviewers. Even if you do not have research experience, you can talk about your personal projects, as long as they can help show you can do research. For example, if you have an open-source project on Github that is used by many people, has lots of stars in Github, do talk about it. If you write technical, research-like blogs, talk about them too. > **Vu**: In his [post](https://matt.might.net/articles/how-to-apply-and-get-in-to-graduate-school-in-science-mathematics-engineering-or-computer-science/), Matt Might was initially unsure about an application. However, upon learning that the applicant had led a 100km hike in the Himalayas, he decided to accept the applicant. > This shows the student has the persistence and determination required for research. I would also advocate for accepting that student! ## 6.2. How to rank or select a CS graduate program? ![](https://hackmd.io/_uploads/r1i2rS622.png) International students not familiar with US universities often put them into *two* bins: (i) very top schools that they dream about such as Stanford, MIT, Princeton, Harvard and (ii) everything else. Sometimes they rank CS programs using the reputations non-CS programs such as medical, math, or physics. In some cases they rank universities based on popular states they know in the US, e.g., California and New York. Let's just say there are so many thing wrong with these methods. You can learn about CS programs and research expertise of faculty using resources such as [CSRankings.org](https://csrankings.org), which is designed specifically to help prospective PhD students in Computer Science! You will be very surprised to learn that a school that you didn't know much about can have very strong research in your interested topic (and vice versa, a school you thought highly about has no one works in the research field you're interested in). This is also a good way to learn about individual faculty (who works on what) and well-known CS conferences. (In CS, and probably only in CS, conferences, not journals, are often the main venue to publish research finding.) Section 7 gives the top 50 CS programs in the US according to CSRankings. > **Dat:** Most Vietnamese students, including those from top schools, **do not know** about CSRankings. May be applicants who worked at top research places such as VinAI would know about it. However, in general, rankings can be superficial and you need to do more research to be informed and make better decision. For example, if you get admissions to several places, you should contact profs. that you're interested in at those place and talk to them. They would be more willing to chat to you now that you have been admitted. Ask them questions about their work, how they manage students, their expectations. You can even ask to contact their students. > **Hung:** I always encourage the students I admitted to talk with my students and the students of other faculty in other schools who admitted them. You will unlikely hear straight-out complaints from current students in a professor's group. But sometimes what is important are things that they (current students) don't tell you. Pay attention to their "level of excitement" being in the group. ## 6.3. Tenured or tenure-track faculty? Who do you choose? ![](https://hackmd.io/_uploads/HyX9ur6h2.png) The short answer is that tenured-track faculty such as assistant professors are more likely to be young and active in research (they have to, in order to get tenure). Thus, they will likely have more time to work with you and push you to do research and publish. However, they may not have as much experience in managing students and may not have as much funding (yet). Tenured faculty, e.g., associate and full profs., are more likel older, more well-known, and have more experience in managing students. However, they might not push you as hard (they don't have to, they already got tenured). They might also expect you to figure things out yourself (so you need to be very independent). Some tenured faculty are also no longer active in research and more involved with administrative duties or with their startup companies. You can learn about faculty and their level of research activity through the faculty's website and CSRankings. Ultimately, choose one that fits you the most by communicating with them, meeting them, asking them questions, even talking to their students. > **Thanh:** In my opinion, having a well-suited advisor is crucial for a successful PhD and research career. One effective approach to finding a suitable professor is by working with a professor during your undergraduate studies. An exemplary instance is VinAI's residency program, where residents collaborate with professors from the US for two years before applying to PhD programs. Many VinAI residents have achieved remarkable results and gained admission to prestigious US universities. Unfortunately, VinAI's resident program is limited to AI research. > In other fields, e.g. Software Engineering, Vietnamese students face challenges in reaching US professors. Do you have any tips for Vietnamese students who want to connect with US professors and work as research assistants? ## 6.4. Should you contact a US professor? What to do to get a desired reply? Faculty received many "cold" e-mails from international students seeking for admission, TA, and RA. Most of the time, we ignore these emails, but in some rare occasions we do answer them. So how to write an email that can get our attention? First, if you want to contact a prof. to *ask about your admission chance*, please **don't**. We don't know and can't answer because as explained throughout this document, we don't make individual decisions and might not even be assigned to evaluate your application. It is the same as sending a paper draft to a journal editor and ask them if your paper has a chance. So what to do if you want someone to look at your profile and give input? You could ask your professors, collaborators, or those who have previously applied. For these kind of feedback, don't ask strangers like random profs., instead ask someone you have personal connection with. If you want to contact a prof. to ask about *research opportunities*, or *GTA/GRA* support, then *yes*, I believe you should---it is *worth it*. However, you need to do it in a right way. First, read the prof's website, see if they say something about contacting them. Many profs. indicate how prospective students should contact them (e.g., using specific email subjects). In general, the best way to catch the prof.'s attention is to *customize your email* to that faculty. For example, read their papers, know what they work on, and see if you are interested in their research. Then send them an email talking how/why their work would match yours. In contrast, if you write a generic email that can be sent to multiple professors (e.g., if you just change some names and keywords in the email), you will not get a response. Below is a good example that I would definitely reply to. <style> .boxBorder { border: 2px solid black; border-radius: 10px; padding: 10px; } </style> <div class="boxBorder"> Dear Prof. Nguyen, I am writing to inquire about potential research opportunities as a GRA in your group at GMU. Currently I am an undergraduate student in Computer Science at UNIV and plan to graduate in May 2023. I have read your TSE'21 paper on numerical invariant generation, and I am interested in this line of dynamic invariant research. I have worked (optional: with prof. Y at Z) on static program analysis and I think it could be used to tackle the spurious issues mentioned in your paper. I have a small paper at conference/workshop C and a project on symbolic execution at Github G. </div> This is a good example because it is clearly written just for me. It shows that the student knows about my work on invariant generation and has related background (paper C and project G). Finally, profs. are very busy so don't take it personally if you don't get anything from them (though I would be very surprised if such thoughtful emails get no replies!). ## 6.5. Can I apply to CS PhD if my undergrad was not in CS or related areas? Absolutely, as long as you can demonstrate you are ready for CS PhD research through research experiences, LoRs, statements, etc as mentioned. You might be even able to leverage this to make your profile stand out as mentioned in Section 6.1. ## 6.6. Is an MS degree required for admission to PhD in CS? No. In fact, student with BS can get MS degree "along the way" to PhD. However, MS can help if it gives research experience or is from a more well-known school than your undergrad institution. If you have an MS then some course work *might be* transferred for course credits, which save a bit of time. But overall don't count on this, especially if your MS is not from the US. ## 6.7. How long does it take to complete the CS PhD program? ![](https://hackmd.io/_uploads/BysQOPT22.png) Typically, 5--7 years for PhD in CS in the US. This can be longer than CS PhD at universities in other countries, which might require MS first (recall that US PhD programs do not require MS and you can get MS along the way to PhD). Within these 5--7 years, CS PhD students in the US also often take a "leave of absence" for 1--2 semesters to do internship at companies and research labs. The first 2 years you spend on coursework, finding an adviser, learning research. The next 2--3 years you focus on your research, form dissertation topic, and get results published. The last 1-2 years you continue to publish, write and defend your dissertation, and look for job. In many cases you might take a summer or two off to do internship to get additional research opportunities. The PhDComics figure on the right shows the "ambition" level of a PhD student over their years of study (they miss the 6-7th Year where the ambition is *"Just let me graduate"*). ## 6.8. PhD in other related field such as CE, IST, Cybersecurity, and Stats In many cases you do not need to do a PhD in CS to work in your area of interested. For example, in addition to having a traditional CS department, GMU has IST and Cybersecurity departments, which have faculty with PhD in CS and work on CS topics (e.g., AI, Security, Robotics). In short, it is totally possible that you still get to do CS research and publish in CS-related venues even if you're not in a traditional CS program. It is very common to see faculty with CS PhD in a non-CS department as well as faculty with non-CS PhD in CS department. However, if your intention is a PhD in CS, then you likely need to be in the CS dept *and* advised by a CS faculty. In fact, if a faculty is not in CS, it is unlikely that they can be the *main* advisor of a CS PhD student---they may *co-advise* or be in the PhD dissertation committee, but your main advisor will need to be a tenured or tenure-track faculty in CS. If in doubt, you should check with the CS department for their requirements. For this specific reason, CSRankings includes only tenured or tenured track faculty who can advise CS PhD students. I also have compiled a [list](https://github.com/dynaroars/dynaroars.github.io/wiki/Viet-CS-Profs-US) of Vietnamese faculty who can advise PhD students. ## 6.9. How do I address a professor? ![](https://hackmd.io/_uploads/Bk1XFvpnn.png) If you don't know the professor (e.g., first email contact), then use **Prof. Lastname** or **Dr. Lastname**. I've seen many international students write **Prof.** or **Dr.** **Firstname Lastname**. Writing like that makes it like you copy and paste names, so no need to do so, just Prof. or Dr. Lastname. If you don't know the prof., do not use Mr. or Mrs., or Firstname. To me it seems a bit disrespectful. As you know that prof. better and depends on their preference, you may call them by their Firstname. Note that at some universities, especially those that do not offer PhD studies, will use the formal **Dr.** title, i.e., Dr. Lastname. So just observe and follow how it is done at your place. > **Vu:** I've been called Dr. Vu and I find it a bit amusing but am totally fine with it. ## 6.10. How much do *you* cost? PhD students often wonder why their salary is so low compared to ludicrous grants their advisors get or why their offer letters sometime mentioned that their benefits worth way more than what they actually receive (i.e., stipend). This section aims to shed some light to these questions. The following table shows the budget breakdown for a GRA per year (this level of details is what faculty actually uses when applying for funding). | Budget | Cost | Note | | ---: | :----: | :--- | | GRA (9-month) | 27K | | | GRA (summer) | 9K | | | **Total Salary** | <span style="color:red">36K</span> | | Health Insurance | 3K | Full year| | Tuition (In-State) | 15K | (\$680/ Credit + \$150/Student Fee/ Credit)* 9 credits = \$7470 (\$6120 + \$1350) per semester| | **Total Tuition \& Insurance** |<span style="color:red">18K</span> | Full year tuition + insurance| | Conference Registration | 500 | | | International Travel | 1800 | | | Domestic Travel | 700 | | | **Total Travel** | <span style="color:red">3K</span>| | | Total Direct Cost | <span style="color:red">57K</span> &Salary + Travel + Health + Tuition | | | F \& A (MTDC)|21K |Direct Cost - GRA Salary| | Total Indirect Cost|<span style="color:red">12K</span> |58.9\% of MTDC| | **Total (Direct + Indirect)** |<span style="color:red">69K</span> |Budget for a GRA| *Table: GRA cost breakdown. F \& A is Facilities \& Administrative Cost Base and MTDC is Modified Total Direct Cost. These are things that the university can charge overhead to.* These numbers are based on my experience at public universities in the US. Private universities may have different numbers. For simplicity, I will assume the department has a 9-month stipend of \$27000 (GMU actually pays more) and therefore a 3-month summer of \$9000. I will also use GMU tuition rate of about \$15,000/year for full-time study (which is quite cheap compared to private universities, e.g., MIT charges around \$50K) and a 58.9\% rate on *indirect cost*, which is what GMU charges for overhead or administrative costs (yes, after all, universities are businesses!). Finally, I assume the student makes two conference trips per year, one domestic and one international (so conf. registration, airline tickets, taxi, meals, etc are all included). At the end, the total budget comes out to be \$69K *The summary is that while you're paid X, your advisor probably pays 2X for you*. # 7. Ranking of CS PhD programs in the U.S The table below lists the top 50 CS programs in the US from [CSRankings.org](https://www.csrankings.org), a ranking system based on top CS conferences. | Top 1-25 | Top 25-50 | | ----------- | ----------- | | 1. Carnegie Mellon | 26. Univ. of California - Irvine | | 2. Univ. of Illinois at Urbana-Champaign <span style="color:red">\*</span> | 27. Duke University | | 3. Univ. of California-San Diego | 28. Rutgers University <span style="color:red">\*</span> | | 4. MIT | 29. Univ. of California - Riverside | | 5. Georgia Institute of Technology | 30. Northwestern University | | 6. Stanford University | 31. Pennsylvania State University | | 7. University of Michigan - Ann Arbor <span style="color:red">\*</span> | 32. George Mason University <span style="color:red">\*</span> | | 8. University of Washington | 33. Harvard University | | 9. Univ. of California - Berkeley | 34. Univ. of California - Santa Cruz | | 10. Cornell University | 35. Yale University | | 11. University of Maryland - College Park | 36. Brown University | | 12. Northeastern University<span style="color:red">\*</span> | 37. Ohio State University | | 13. University of Wisconsin - Madison<span style="color:red">\*</span> | 38. Texas A\&M University<span style="color:red">\*</span> | | 14. Columbia University | 39. Boston University | | 15. Purdue University | 40. North Carolina State University | | 16. University of Texas at Austin | 41. University of Utah | | 17. University of Pennsylvania <span style="color:red">\*</span> | 42. University at Buffalo <span style="color:red">\*</span> | | 18. Princeton University | 43. Rice University | | 19.University of Massachusetts-Amherst <span style="color:red">\*</span> | 44. University of Colorado-Boulder | | 20. New York University | 45. University of Illinois at Chicago | | 21.Univ. of California - Los Angeles| 46. Virginia Tech <span style="color:red">\*</span> | | 22. University of Southern California| 47. Arizona State University <span style="color:red">\*</span> | | 23. Stony Brook University<span style="color:red">\*</span> | 48. University of Minnesota | | 24. University of Chicago | 49. University of Virginia | | 25. Univ. of California - Santa Barbara | 50. University of North Carolina<span style="color:red">\*</span> | *Table: Top 50 CS PhD programs in the U.S. (CSRankings, June 2023). <span style="color:red">\*</span> indicates that the university has [Vietnamese prof.](https://github.com/dynaroars/dynaroars.github.io/wiki/Viet-CS-Profs-US) that can advise CS PhD students.* # 8. History and Acknowledgement **History** This document was conceived during a lunch with Craig Yu at GMU. We talked on about why we were not able to attract good Vietnamese international students, despite having a much stronger CS program than many schools that these students want to go to (part of the reason is described in Section 7) and wished there were a way for international students to know about the US PhD programs (as well as for US faculty to understand more about international students and therefore have better chance of recruiting and working with them). I was also a member of the large VietPhD group on Facebook and saw many questions from students about PhD programs. However, most active participant are students (and some few faculty) in non-CS fields or not in US. Like ChatGPT, their answers to CS PhD program in the US could be informative and helpful, but unfortunately not always accurate and sometimes leading to more confusion. So I thought it would be useful to have a document that is specific to CS PhD programs in the US from an insider prospective. I started writing this document in May 2023 and have been updating it since then (mostly around deadline time when I tend to procrastinate!). I have put the source code of this document on [GitHub](https://github.com/nguyenthanhvuh/phd-cs-us) so that anyone can contribute to it. **Acknowledgement:** Many people have contributed to this document. Profs. Craig Yu (GMU), Hakan Aydin (GMU), and Hung Le (UMass) provided valuable input in the early version. Other GMU faculty members also have provided feedback and contributions. Many students including Didier (GMU), Thanh (Melbourne), and Dat (Melbourne) also have contributed valuable questions and feedback. **Thank you!** by [ThanhVu Nguyen](https://dynaroars.github.io/nguyenthanhvuh/)