3. One or two “safety” schools. These are schools which you are almost sure to get into and only serve as a back-up in case you are not accepted into any of your preferred schools. If you choose your mid-level schools wisely, you should not need to rely on these; however, it is always a good idea to have a Plan B ready, just in case your Plan A does not pan out. Many smaller state and private schools can serve as such back-up schools.
Throughout the application process, talk to others, such as professors and mentors, regarding which schools are a good fit for your interests and academic profile. Although no one likes to have one’s dreams shot down, applying to MIT with a GPA of 3.0, no publications, and GRE scores of 600Q/400V is simply a waste of money. Choose your schools wisely, since the application process is expensive and time-consuming.
You should also begin the process early and maintain a spreadsheet tracking all the applications you are submitting, their due dates, and the forms needed for each. As you make progress on the applications you can mark off which forms you have sent in and which still need to be submitted. This spreadsheet will serve as your “command center” during the application process and will help you avoid missed deadlines and incomplete applications.
As a final note, don’t be discouraged if you are turned down by one (or possibly several) schools. The process contains a large element of luck. We know students who were accepted by Carnegie Mellon, yet were rejected by UC San Diego and Penn. Different schools are looking for students with different strengths and interests, so a school may not consider you a good fit for its faculty.
Try to enjoy the application process and keep yourself from being discouraged. If you applied to schools wisely, you should get into at least one program you will be happy with. As with marriage, in choosing a graduate program in computer science, you don’t need everyone to want you, just the right one.
Note on methodology: The Academic Ranking of World Universities lists the following 20 graduate computer science programs as the best in the United States (only Toronto in Canada, Oxford in England, and a handful of schools in Israel and Switzerland rank with these U.S. schools). The first nine schools on this list are also the best worldwide.