You can find the original version of this article in ACM's Crossroad's Student Magazine, Volume 6, Number 1. I occasionally make updates to this version to keep it more current.

Choosing a Ph.D. program in Computer Science

by Rachel Pottinger
Applying to a Ph.D. program can be a very confusing and overwhelming process as I learned when I applied two years ago, and more recently as a member of my department's prospective students committee. Thus, I've put together an overview of the process. Please note that this reference is primarily for people interested in Ph.D. programs, and all costs are as of 1999.

The most useful advice for people deciding whether on not to go to grad school is Advice for undergraduates considering graduate school by Phil Agre. It covers deciding whether or not to go to grad school and how to get research experience, and I defer to it on these topics. My discussion focuses on the application process, but first I'll discuss the basics of Ph.D. programs.

What happens in a Ph.D. program

Please note that this is geared towards programs in the United States; I know that it is different in other countries.

The most important thing to realize is that schools do not require you to have a masters degree when you apply. This is very important; masters students almost never receive funding, while Ph.D. students usually do. If you are planning on applying to a Ph.D. program eventually, you might as well apply to the Ph.D. program from the outset; you can always drop out if you change your mind. Note that this is often not true in Canada; there the reverse holds - many places will require that you have a masters degree before you can enter the Ph.D. program, and they usually fund their masters students.

Ph.D. programs in the US almost always involve first getting a masters degree and then getting a Ph.D. Even if you have a masters degree from another university, you will often be asked to show that you have sufficient breadth. This varies from department to department, so you'll want to look closely at policies if you are in this situation. Proving your breadth requires probably either taking classes or taking exams or both. This is generally followed by a project and presentation. This phase usually lasts for a year to two.

After that, you'll probably be required to read a number of papers in the field that you have chosen, and then write a synthesis paper and give a presentation on your conclusions. This generally occurs between your second and fourth year. Finally, you choose a Ph.D. thesis topic, propose your topic to people, research and present.

The whole program takes between four to eight years on average. This can vary widely from department to department.

Applying for fellowships and other monetary issues

After you've decided to apply to grad school, the first set of applications you need to worry about are fellowship applications.

One of the biggest myths about computer science graduate school is that you have to go into debt to get a Ph.D. While it is true that many departments do not offer support to their masters students, most support their Ph.D. students. Most places pay for tuition and give students a stipend that averages about $12,500 for 9 months. Most funding comes in two varieties, either a TA, a teaching assistant, or a RA, a research assistant. In general, first year students receive TA positions, and then they are funded by their advisors and given TA positions if there is no RA money.

Now that you know how the funding usually works, you may wonder why it's necessary to start applying for fellowships so early. There are several reasons:

  1. Many universities will supplement an outside fellowship with more money. Since you aren't costing them as much money, they can give you extra money.
  2. Many fellowship applications are due before the graduate school applications. Most graduate school applications are due in late December or early January. Fellowship deadlines can be much earlier; the National Science Foundation's Graduate Research Fellowship application is due early in November, for example.
  3. Sometimes the fellowship organizers will forward applicants' names to departments. When this happens, the departments may decide to send you application materials or even offer to waive your application fee. This is quite nice considering that application fees usually run from $40 to $65. They may also extend their application deadline.
  4. Some departments will not reject students until the NSF fellowships are awarded. This means that you may get in departments based partly on your fellowship.
  5. You can reapply for many fellowships, and the hard part about the statement of purpose (more on that later) is getting it written the first time. You shouldn't think of the fellowship applications as a trial run, but if you write the essays for them, it will give you more time to think about what you want to say.
Perhaps the most important reason to apply for a fellowship is as follows. A year or two into your program you need to choose an advisor. Aside from giving you advice, she is responsible for funding you. If you have your own funding, you can work with whomever you wish, not whoever has money. Also, if you want to switch advisors, having your own funding makes this easier. Along the same lines, if you decide to transfer, an outside fellowship will often follow you. Which means that you can change schools more easily since they won't be as concerned about your funding.

Now you know why to apply for a fellowship; the next question is how. There are a number of resources you can use.

Applying to Graduate School

This section describes the different steps in applying. It's best to start thinking about this in your junior year if not before. The considerations you'll need to make are mainly about the GREs, which might influence which classes to take.

Picking departments to apply to

There are a number of factors to consider when choosing a department, including the reputation of the department, the size of the department, what research they are doing, and your chances of getting a job when you get out. The easy way of finding general information about the departments is by reading their web pages. Note that a big difference in applying to graduate school is that you must look carefully at the department that you are applying to, not the university. Check out the web sites of the departments, and check out rankings, such as US News and World Report's ranking of computer science departments, or the National Research Council Study of Ph.D. Programs in Computer Science; be forewarned; the data for both of these sites is several years old. Most importantly, talk to professors you know about the departments; the world of computer science is smaller than you think.

In choosing which departments to apply to, remember what you did when applying to your undergraduate institution. Apply to a few departments you're pretty sure you'll get into, and then reach for other ones. Unlike choosing an undergraduate institution, however, it's a lot harder to judge what is a reach department for you, because the numbers of people applying to graduate school are lower. Again, I'd highly recommend talking to a faculty member who knows you well and is willing to tell you where she thinks that you can get in.

When you're looking into the departments, there are a number of factors to think about. Some factors to consider are:

Getting the applications

Most places have their applications ready by the end of September. Contact each department by the beginning of October. Keep a record so that you know that you've contacted each department. Send them mail again if they haven't replied to you by November. Some places have applications you can download off the web. Some places have a pre-application, so make sure you find this out early enough to get the real application from them. Most applications will be due in late December or early January, so plan accordingly.

The GREs

GREs, Graduate Record Examinations, are actually two different types of exams: Generals, which test you on general knowledge, and then a subject test in Computer Science. In terms of preparation for undergraduate school the general is akin to the SAT I and the subjects are like the SAT II (or the SAT and the achievement tests). Like the SAT, they are administered by the Educational Testing Service. Each test costs $96.

The general GREs

The verbal and quantitative sections
The general GRE, is similar to the SAT I except that instead of two basic sections there are three. The sections are verbal, quantitative and analytic. The verbal and quantitative sections are very similar to the verbal and math sections of the SAT. The math does not require any calculus; it's just harder problems of the same types. The same goes for the verbal sections; it's the same types of questions, only with bigger words.
The analytic section
Note: since I wrote this, they've changed the GREs such that the old analytic section no longer exists, and they've replaced it with an analytic writing section. According to the GRE website, this section tests: "The skills measured include the test taker's ability to I haven't taken this test (nor am I going to), so I'm not going to give you other tips, but the other sources I link should be able to help.

The notes on the old section are here in case they give you some clues, or if your curious about what used to be there. Those notes are all in gray.

The analytic is something that you're not likely to recognize; it involves a lot of logic questions. Some people have told me that it is much like what you'd see on the LSAT. In general there are two types of questions: puzzles and arguments. The puzzles are listings of situations from which you are supposed to derive logical conclusions. One such would be:

Irene, Jenny, Karen, Mary, and Nancy all want to room in the same hall. The hall has three rooms; two are doubles and one is a single. The single is located between the doubles. No one else will live on the hall. In addition:

Irene will not live with or next to Jenny

Nancy will not room with Irene

Karen and Mary want to live either in the same room or in adjacent rooms

Who must room with Nancy?
(A) Irene
(B) Jenny
(C) Karen
(D) Mary

The answer is B. Since Irene won't like with or next to Jenny, we know that they must each have one of the doubles on the end. This means that Karen and Mary can't room together, and thus one of them has to get the single. Since Nancy won't room with Irene, and she can't live in the single, Nancy must room with Jenny

Arguments check how well you can derive logical conclusions from a set of statements; it's much like figuring out what a politician is actually saying. An example is:

Winters are colder than summers, and summers tend to have more sun than winters. Based on the above, what has to be true?

(A) winters get more precipitation than summers
(B) It's warmer out when it's sunny out
(C) A winter day is more likely to be cloudy than a summer day
(D) Winters are better than summers

The answer is C.
Summers have more sunny days than winter (given)
Sunny days have fewer clouds. (definition of the word sunny)
summer days have fewer cloudy days than winter days
and conversely winter days are more cloudy than summer days.
Note, some people have thought that the answer is B; this is wrong; you can't derive this from the given facts, not to mention that it's false (the coldest days are when it's sunny; clouds help to hold the heat in).

Actually taking the test
It used to be that taking the general test meant going into a room for hours and taking the test with a paper and pencil. That's not the case any more. The GRE is only given on the computer at most sites, so it's really important to get used to the computer format. The subject test remains a pencil and paper ordeal. One advantage of the computer based test is that you get your scores right away; you still have to wait for up to a month for your subject test scores.

The computerized test is liable to be different from any test you've taken in the past. Unlike the SAT, where you had a mix of easy, medium, and hard questions, the GRE tries to target your score by giving you questions based upon how well you've done on previous questions. If you answer a question right, they give you a harder one, if you answer one wrong, they give you an easier one. What this means to you is that you will most likely be more challenged on the test than you normally are on a standardized test. It also means that the first few questions that you answer are very important; if you do badly on the first few questions, you may never get to the hard questions that would show you know the best of your abilities. Thus you should take your time for the first few. Although you should answer every question on the exam, it's the first few that matter the most.

Practicing for the tests
You can get one free copy of the general GRE by picking up a free booklet or downloading it online. The Princeton Review now has a free full length computer based test online. I warmly recommend it.

In addition, many places sell books full of real or fake GREs. This can be a good method of trying to figure out what you need to learn. The only real GREs that you can get come directly from ETS. Some paper books, attempt to simulate computer based exams by making you flip between pages based on your answers to questions. I can't advise this, because it was much too distracting to be useful.

Another option is computer software. I would strongly consider this option. ETS puts one out called Power Prep that costs $40. If offers a practice test and also some of their tips for taking the test.

Another option is The Princeton Review. They have a number of GRE products. I would recommend going with "Inside the GRE, GMAT, and LSAT", which is software that both helps you study for the exams by giving you drills and has four full length exams that give you answers and reasons behind the answers. It costs $29.95.

Computer Science Subject GREs

The computer science GRE is an intensive exam designed to cover all of computer science. Your school's normal curriculum may not cover all of the topics involved, so you should definitely ask a professor at your school about which classes you should take before you take the GRE. The exam is currently 70 questions long, but this may change without warning, so I strongly advise checking at the beginning and seeing how many questions are there so that you can pace yourself accordingly.

The test is scored from a 200 to a 990, so looking at your scores may confuse you; it's more useful to look at the percentile that comes with it.

While the test is ideally only a test about computer science concepts and should not involve any specific programming language, it's difficult to ask questions that require no programming knowledge. If you know no C,C++ or Pascal, I'd strongly advise learning one of them at least a little bit.

The resources available for the computer science GRE are considerably more limited than for the regular test. The only reasonable one is Practicing to take the Computer Science Test by ETS. This book contained one actual exam which was quite helpful in figuring out what the test in general covered. It's $13. Unfortunately, the rest of the books out there are dismal; I'd buy one only if you're panicked. The best studying is to go through old tests and class notes. On the other hand, many departments don't require the subject test. Check with the departments in order to be sure you need it.

Final thoughts on both GREs

The GRE is an important part of your preparation, however you should not leap to the conclusion that you will be automatically rejected from a department even if your percentile is considerably lower than their recommended score. If you have strong grades, statement of purpose and most importantly letters of recommendation, that can go a long way for making up for bad GRE scores.

Filling out the applications

The applications are a pain. You should start filling them out rather early, as often they will ask for information which will surprise you (such as the books used in all of the classes you've taken). In addition, some schools consider applications on a rolling basis, so early applications will receive more attention.

The application will probably consist of several pieces: basic information (name, school, GPA, etc), transcripts, GRE scores, and letters of recommendation. The part that will be the most work will probably be the statement of purpose. In your statement of purpose you are supposed to show them that you can write, you have done research, and that you have an interesting idea for what you'd like to research in the future.

Statement of purpose

The statement of purpose is an extremely important segment of your application, and it's very different from anything that you have to fill out for undergraduate admissions. Because of this you should start to write it early. One issue that you should definitely be aware of is that people are going to really want to see you have a definite course of research in your statement of purpose. Unless you know what you want to do, pick two or three different topics that you're interested in and write up something short about each of them. Then let them sit for a day or two and see which one you feel best about. Definitely ask a professor to read over them for you if you have someone who would be willing to do so. If you don't feel comfortable asking a professor, ask other people to read them for you. Graduate students you know are a good choice; all of them have been through this process, and they remember how difficult it was.

If you know other people who are applying to graduate schools, even if they're not in your area, something that can really help is to sit down with them and read over each other's essays. This forces both of you to make sure that you are clear enough, and since you are doing each other favors, you may not wind up feeling unduly indebted to them.

Finally, as a general note, be very careful about how the universities want their materials sent in. Some schools will request that you have all of your supporting material in the same envelope that you send in your main application. This means that since most of them will be due during winter break you need to make sure to get transcripts and letters returned to you before break.

Letters of recommendation

Letters of recommendation are also extremely important. Hopefully you have a number of people who know would be willing to write you recommendations, but make sure that you include everyone. If you are applying for grad school in AI, and you did some research for an AI person, even if it was long ago and you don't consider it to be relevant, get a recommendation from that person. It almost never hurts to have extra letters, and don't feel bad about asking people for letters; it's part of their job.

If you don't have any faculty members who know you really well, there are a number of ways that you can go about trying to change this. The earlier you start, the more options you have.

The easiest option is to take an independent study with a professor. Another option is to do research at another university. Ask professors for internship programs that they know about. Having done work at another university shows the institutions you're applying to that you can thrive in many different situations. It can also help because it associates more and varied names with you. On a similar note, don't have more than one letter of recommendation from industry, because unless they are researchers, their recommendations aren't going to mean as much to those who are reading them. Remember that the field that you are going to work in is probably a small world (much smaller than you'd think), and these people are all likely to know each other.

Once you've chosen people to ask for recommendations, make sure to ask for them early. It's also a good idea to ask your references straight out what kind of recommendation they'd write you if you are unsure what they think of you. Professors have been known to write unfavorable recommendations, so if you have doubts, you are better off asking them rather than getting rejected on the basis of a bad recommendation.

It's helpful to give them a general idea about what you have been up to, even if they know you very well. To that extent, you should give them a copy of your transcript, resume, and, if you have it, your statement of purpose.

The acceptance/rejection process

In general the departments have a process that works in the following manner. They receive all the applications, and then figure out who their top choices are and admit those. After that, they pick a second round of people to admit. What happens after that differs from department to department. Some departments will decide right there to reject people who didn't get in from the first two rounds. Others will wait for a time, sometimes to see if they get any early rejections, or see if one of the candidates gets an outside fellowship and then possibly offer admission to others later. If you've been rejected from a department there's not much of a point in contacting that department to see if they can let you in anyway, but they may tell you why you weren't admitted, and if it was close they may encourage you to reapply.

After they accept you, most places will pay for you to come and visit. Please note that there can be major variations in this. Departments will start accepting you in early February, and most acceptances will be out by the middle of March. If you know someone who was accepted, and you haven't heard from the same program yet, do not assume that you have been rejected from it; this probably means that you have been moved to the second group of applicants, and they'll decide on your application later. Also, some departments mail acceptances in very small envelopes, so always open your mail before discarding it!

Some departments won't make their final decisions until very late in the game, sometimes as late as when the NSF awards have been announced (usually around April 1). Only when they make their final decisions will most departments process the rejections. So not hearing from a department by mid-March doesn't mean that you've been rejected, but it's not exactly a "no news is good news" situation.

Visiting the departments

This stage usually comes after you've been accepted to the departments and they're trying to convince you that you should go there. You can visit by yourself beforehand, but they almost certainly will not be willing to pay for your visit. That being said, here's what you should expect to happen on your visit.

All acceptances that I received included an invitation to come and visit the department at their expense (with reimbursement). Please note that most departments will not ask for students in foreign countries or masters students to visit. Some departments offered to pay everything, while others put caps on the amount that they were willing to pay. Be very careful about this. In particular make sure that you have some reassurance about housing before you buy your tickets. Some departments may pay for you to visit only if you can come on the date that they are having the rest of their incoming students come and visit; be sure to check on this as well. You may be able to convince them to pay more, but do this before buying tickets, not after.

Also note that in general you have to buy the tickets and then they reimburse you. It can take departments up to two months to get reimbursements to you, so plan accordingly; an extra credit card can be very hand. You may be able to convince them to pay up front, but don't count on it.

Deciding which departments to visit

Visit as many departments that you are admitted to and interested in as you can. It's bad form to take their money just to visit the department if you aren't at all interested in them. However, visiting the departments can get you a good idea of what's going on in the field and can also help you make contacts for later. Also, check with your professors at the beginning of the semester to make sure that visiting the different departments isn't going to cause difficulty academically. You should try to take a very light course load; this decision is probably going to be a lot harder than you expected.

Preparing to visit a department

After you've decided to visit a department and made all of the travel arrangements, you should start looking more carefully into the information you have about the department. What you should be looking at in particular is the research that you think you'd be interested in, and the people who you think you'd like to work with. It's not necessary to read all of the papers that the person you're interested in has written, but it is to your advantage to see what their general research topics are. The web is the easiest place to find this information. Picking out who to look at is more difficult. Often times a professor from the department will contact you as being interested in working with you. Unless you have a reason not to, this would probably be a good person's work to look at; you know that she's interested in working with you based on your application information. Another good resource is the people at your school. Ask the people at your school if there's any people they'd recommend talking to. Most places will probably set up a schedule for you, but if they don't, knowing who you want to talk to is very important.

When you're packing for the places, wear something either casual or a little above it. As with any trip, bring along an extra set of essentials in case something goes really wrong, and bring along a credit card for unexpected expenses. You won't need to bring along anything for your visit day with the possible exception of a writing implement; they'll give you a packet of stuff when you get there.

Most departments will have one or two dates on which they'd like you to come and visit. If you can go on that date, it's a really good idea; then you get to meet the other students who might be entering with you. Since the people you are with are going to make a big difference in how well your graduate education goes, that can be very important. If you do go on another date, be aware that professors may not have as much time to talk with you, and you'll probably have to set up more of your own meetings.

Actually visiting the department

When you visit the department, what you are trying to see is how the general atmosphere of the department is, whether there is research you want to do going on there, whether there are professors you'd like to work with, and basically do you want to go there. When you have concluded the visit, make sure to write down what you thought about the department and people as soon as possible; you'd be surprised how much the places can run together.

If you go on the official visiting day, most likely your day will run something like this: a greeting from the department chair, a long talk about all of the department's research, meetings with the individual professors, watching demos, and talking to grad students. You'll probably be served food anywhere from one to three times during this. Here's what you should expect out of each of these and what you should try to get out of them.

Intro speech
The intro speech is, perhaps, the least informative of these events. Other than learning more about what you'll be doing for the rest of the day, there's really not a whole lot you can get out of it. Perhaps the most helpful thing that you can do is listen to what the speaker says and see if there's anything that she says that makes you feel either uncomfortable or feel as though you want to go to that department. If something like this does occur, write it down.
Description of research
One of two things can happen.
  1. Each professor speaks for herself. This method has several consequences. The first is that since everyone needs to talk, it can take a really long time, or people's research gets left out. If this is the case, try to pay attention to the projects that people are talking about, and also see if they sound like people that you'd like to work with. Write down the names of people who you'd like to talk to. Even if you have a list of people to talk to and they aren't on it, try to talk to them sometime, even if it's just during lunch.
  2. One person talks about the research for everyone in their group. This method can cause the meeting to run shorter, but will not let you hear people talk about their own research. If that happens, make sure that you pay careful attention to whose work they're talking about, otherwise you can have your judgment clouded by who is talking even if they have nothing to do with that research.
In any case, what you want to take out of this meeting is an idea of which research you find interesting. Make sure that if you find a particular project interesting you write down whose it is so that you can talk to them, or you'll forget. Count on this part running late!
Meeting with Professors
This is the most important event. This is where you get to find out if a professor is someone you'd actually be interested in working with. This will go much smoother if you already have some idea of what their research is. When you are talking to professors, you're looking for two main things: 1. Would you like to work on the research that this professor is doing? 2. Could you work with this person? The advisor relationship is the most important one that you'll form in graduate school, and you should think about it very carefully. Make sure to ask them questions; like all of us, they like talking about themselves.
This is the least important of the events. You'll get to see the cool stuff that is going on in the department, however you can probably get a better idea by talking to the professors or grad students. While it can be fun, I would only go to the demos if you don't have anything else to do.
Talking with graduate students
This is very important, for several reasons. One reason that this is important is that the graduate students will most likely tell you what is actually going on in the department. They can probably answer most of your questions or point you at the proper person to ask. Some questions you may want to ask are (in no particular order):
  1. how they like the department
  2. can they live on their stipend
  3. what is the worst thing about the department
  4. how are the resources (building, computers, etc)
  5. if there is a specific professor who you'd like to work with, find some of her students and ask them how they like working with the faculty member, how many students the professor has, how much interaction they have with her, etc.
  6. how many people who enter the program finish with a Ph.D.
  7. why did the people who don't finish leave
  8. what happens if you decide to leave the program (some places are considering making you pay back all of the tuition if you leave)
  9. are they happy there
  10. how many hours a week they spend at work
  11. what the classes are like
  12. how many classes they have to take, and can you place out of them
  13. if there are no classes, what do you have to do instead
  14. what hurdles (like preliminary exams) do you have to take, and what type are they (oral, written, etc)
  15. anything else that's important to you; for example, if you are female ask the female students how they are treated as females. This is important; don't feel silly for asking.

What to do if you can't visit

If you can't visit, you can still find out useful information about the department. One method is to ask someone you know his impressions. This will probably tell you about what the people were like, but will not give you a very good view into what the professors who you want to research with are like. Send the professors email or give them a call. Most professors will be happy to tell you what they are up to. Make sure to get information about what the graduate community is like in addition to what the professors are like.

Making your decision

After you've gone to the schools and gotten your final lists of acceptances and rejections, you'll have to make up your mind. Most schools will want to know by April 15. Besides making sure that you'll have the decision by then, this also means one other thing: Pay your taxes early! If you wait until the last moment, not only will it make your decision harder, but you may discover that you're strapped for cash because you've been trying to pay off your bills from visiting all those schools.

If by this point you already know that there's exactly one place that would be the best for you to go to, congratulations! If you haven't made up your mind yet, don't panic. There's still a lot that you can do to try to figure it out. Also, keep two things in mind. 1. After a certain point, you cannot make a wrong decision. Chances are good that there is no one perfect place for you to go to, and any where that you go will be fine. You're just trying to optimize. This may not make you feel a whole lot better, but keep it in mind; it really is true. 2. No decision that you make will make everyone happy. Someone will think that you've made the wrong decision no matter where you decide to go. Accept that and when the first person expresses that you've made the wrong choice, try not to let it bother you.

If you haven't made up your mind, try to narrow it down to two or three based on general factors, then you can concentrate on the last ones better. Basically, just keep trying to make your list shorter, and if you do it long enough you'll get down to one (it won't be fun, though). So how do you pick? Talk to people. If you're really undecided, try sending mail or calling the people you've talked to at other schools. If you look at web pages, you may be able to find people who have links to both communities and who would be able to give you good advice about the differences between the two. Talk to your professors again and ask them for advice. Ask the schools for information about where their graduates go after graduation; some schools may already have a list that they can just mail to you. The decision is going to be different for each person, but one method that works is to flip a coin. If the coin comes up for one school, and you're disappointed, then you know where you want to go.

I hope this helps, and good luck! If you have more questions, you may want to check my FAQ

Rachel Pottinger is a second year Ph.D. student at the University of Washington. She went to Duke for undergrad, and would like to thank everyone who helped her when she was choosing her graduate school.