Applying to Ph.D. Programs in Computer Science

 

  • Author: Mor Harchol-Balter (Computer Science Department Carnegie Mellon University)
  • Last updated: 2014

1 Introduction

  • This document is intended for people applying to Ph.D. programs in computer
    science or related areas.
  • The author is a professor of computer science at CMU, and has been involved in the Ph.D. admissions process at CMU, U.C. Berkeley, and MIT.

2 Do I really want a Ph.D.? What does a Ph.D. entail?

2.1 What is a Ph.D.?
  • A Ph.D. is a long, in depth research exploration of one topic.
    • By long we’re typically talking about 6 years.
    • By in depth we mean that at the end of the Ph.D. you will be the world expert or close to it in your particular area.
      • You will know more than your advisor about your particular research area.
      • You will know about your research than anyone at your school.
    • By one we mean that by the last couple years of your Ph.D., you will typically be working on only one narrow problem.
      • The Ph.D. is not about breadth, it is about depth.
2.2 Lack of emphasis on courses
  • The M.S. and B.A. degrees are about breadth not depth.
    • A B.A. or M.S. in CS often entails taking 3 or 4 classes each semester.
  • In contrast, a Ph.D. program typically requires typically less than 10 courses
    during the entire 6 years (at CMU there are 5 required “core” courses, and 3 required
    “electives”).
  • The emphasis in the Ph.D. is not on classes, but rather on research.
  • A Ph.D. student will typically take classes only when she feels that they
    will be useful in her research.

    • The classes she takes may not even be in CS at all. They may be in Statistics, Operations Research, Math, Psychology, Linguistics, or anything else useful for her particular research topic.
2.3 The research process and advisor/advisee relationships
  • Research is very different from taking classes.
  • In fact, at most schools only 1/2 of the students who enter the Ph.D. program leave with a Ph.D. (at CMU, about 3/4 end up with a Ph.D.).
    • Keep in mind that we’re typically talking about students who came in with 4.0 GPA’s from a top undergraduate program.
  • Some key differences between classes and research
  • Keep in mind that no one can give you a complete picture of what research is.
    The best way to learn what research is, and whether you like it, is simply to start
    doing it. The earlier the better!
2.4 Frustrations and joys of research
2.5 Funding during the Ph.D.
2.6 Life after the Ph.D.
  • After the Ph.D.
    • Research university
    • Teaching school
    • Research lab
    • Some people never do research again
      • For such people, the Ph.D. was largely a waste of time.
  • Research university
    • doing research on anything you like
    • working with graduate students
    • teaching classes
    • applying for grants
    • flying around to work with other researchers and to give talks on your research
    • doing service for your department and school (like giving this talk).
  • Teaching school
    • teaching lots of classes
    • doing service for your department or school
    • occasionally advising undergraduates on undergraduate research
    • doing a little of your own research.
  • Research lab
    • doing research
      • (half will be on whatever you want,
      • half will be on whatever the company wants you to do)
    • working with other people in the company
    • traveling around a little to give talks and work with others.
2.7 Should I get a Ph.D.?

Here are some things to keep in mind when making this decision

  • A Ph.D. is not for everyone!
  • A Ph.D requires 6 years on average. The opportunity cost is high.
  • Do not even think of applying for a Ph.D. if you have not
    • tried research and/or teaching and
    • found that you like at least one of those.
  • A Ph.D. requires a particular type of personality.
    • You need to be someone who is obsessed with figuring out a problem.
    • You need to have tremendous perseverance and be capable of hard work.
    • You need to be willing to do whatever it takes to solve your problem (e.g., take 5 math classes, learn a whole new area like databases, rewrite the whole kernel, etc.).
  • You need to know why you want a Ph.D. You need to have vision and ideas and you need to be able to express yourself.
  • Do not apply to graduate school until you are sure you know what you want.
    • If you are unsure, I highly recommend working for a few years before starting a Ph.D.

Leave a Reply

Your email address will not be published. Required fields are marked *