Slashdot Mirror


Ask Slashdot: Comp-Sci Graduate Schools

Colonel Kurtz sent in this question which I figured be of interest to some of you: "I'm considering entering graduate school in abouttwo years to pursue a Masters or Ph.D. in Computer Science. I am a good undergraduate student with a passion for CS and I am seeking the academic challenge of grad school. I'm looking for the (un)informed advice of the Slashdot community. Specifically, how should I select a graduate school? Is it worth aiming for the top-tier graduate schools? (like MIT, Stanford, etc.) or should I aim just a little below those (like Purdue or Syracuse?) At this point, I'd be happy to have any kind of discussion about graduate schools."

5 of 387 comments (clear)

  1. Field of Interest by Anonymous Coward · · Score: 5

    It all depends on what you are interested in. Moreover, if you are looking at PhD programs, choose school based on potential advisors rather than overall school reputation.

    You didn't give enough information for me to say much about which tier of school you should be looking at. To have a strong chance at the top-tier schools, you should have a strong research record. Preferably published papers (or even techreports), but a recommendation from a Prof. saying that you worked for them is probably good enough.

    Here are a few very top schools in the US in each field (from memory -- sorry for any omissions)
    • Theory
      • MIT LCS
      • Berkeley
      • Stanford
    • Fundamental Algorithms
      • Princeton
      • MIT LCS
      • Stanford (note -- Knuth no longer takes advisees)
    • SE
      • Go out into industry
      • CMU
      • Berkeley
    • AI
      • CMU
      • Stanford
    • Systems
      • Forget grad school and go out into industry unless you are into distributed systems
      • U Washington
      • U Wisconsin Madison
      • Berkeley
    • Graphics
      • Brown
      • Stanford
      • UNC
      • Gatech
    • Computational Science (as opposed to computer science)
      • NCSA (UIUC)
  2. Your adviser and his/her research by craw · · Score: 3
    Many ppl have already said this but I'll repeat it again. If you are going to pursue getting a Ph.D. the most important thing is the adviser (prof). This person will control your life during grad school and will have an important role when you seek a job afterwards (like in providing contacts, job references, etc...).

    One thing to note is that you will probably be funded off of grant money; your research will be in support of some specific project. Therefore, in most cases you will not have the totally flexibility to pick any research topic of your choosing. Therefore, it is important to check out what work the profs are doing now, not ten years ago. What direction is their work leading to in the future? Remember that most journal articles indicate work done about two to three years ago; hence, check out conference proceedings for the latest stuff (or talk to your profs). It is likely that work that you will be doing has not even been funded yet; your future adviser may be writing the proposal at this moment.

    Also keep in mind that profs only have a finite amount of grant money to support their grad students. This usually means the "good" ones have more money, more projects, and hence, more students. This could be good and bad.

    My personal experience. I picked a school that had a fairly young and relatively small faculty that were on the rise up in terms of their careers. My adviser was just starting out but had already established a very good scientific reputation. Ppl told me that he also a very nice guy, honest, and easy to work with. My working for him turned out to be a good decision. It also turned out that my fellow grad students were great; we studied hard, played hard, and are friends for life.

  3. My 2 cents. by EvilKevin · · Score: 3

    Being a graduate student in computer science is an ascetic experience. In order to succeed, you will be called upon by the elders of your order (professors) to forsake the temptations of big IT salaries and stock options, to labor and toil as a peon with virtually no status whatsoever. In the end, you are supposed to emerge as an enwizened practitioner. That's the theory at least.

    Seriously though, if you decide to go to graduate school, you will help yourself greatly by doing the following:

    1) Talk to graduate students from any of the schools that you are considering attending. They will be able to tell you the real deal about their school. You might also be able to judge how bright a department's grads are when you talk to them. A lot of smart grads is usually a good sign.

    2) Find out something about the school's location. Even though you will be involved with classes and research most of the time, you want to make sure that when you actually have free time, that there's something to do.

    3) Make sure that the school's aid package is enough to pay the rent and eat. That is, unless you are your parents are rich. Make sure that you know exactly what your expenses are, e.g., tuition, fees and health insurance. Any good Ph.D. program will pay most of these for you. Don't be shy asking about the size of stipends or fellowships. And make sure that you'll be funded throughout your tenure as a student.

    4) Know exactly why you're going to graduate school. You will get depressed and start doubting your decision to go to graduate school. Especially when your friend's make $10,000,000 when their stock vests. It's good to be able to reassure yourself that you made the right choice when this happens.

    5) Visit Ron Azuma's guide to being a PhD student.

    Hope this helps.

    EvilKevin

  4. Grad School Selection by Sam+Jooky · · Score: 4
    Well, I'm not going to follow suit with the other folks who have posted by the time I wrote this and just throw out a school name...let's see if we can get you some advice.

    When you're selecting a grad school don't just put a bunch of school names on a dartboard and throw a dart to choose. Figure out what interests you in CS. Which subfield makes you cream your jeans? AI? Parallel Processing? Computer Graphics? You need to have a semi-narrow choice.

    Once you've figured that part out, then start looking at grad schools. Don't go pick a school and then figure out what you want to study. That's a recipe for unhappiness.

    Most CS departments list on their webpages which fields they specialize in. Find the profs at the school who teach your interest and email them about the sort of program of study they offer.

    And don't forget to use the profs at your current school. They're in the field and can probably point you in a good direction for a good school, and if not, they're in a better position than you to find out where the best [insert your interest here] school is located.

    Talk to the grad students at your school, too. They've been through this process before and can probably offer you good advice.

    In short, don't just jump into a CS grad program because you like the school -- make sure they'll teach you what you want to learn.

    And if you're interested in AI, Software Engineering or Parallel and Distributed Computation, come out to Colorado State University! :)

    Hope this was semi-helpful and not totally redundant.

    Sam Jooky

  5. thoughts from going through this twice... by neal_cardwell · · Score: 5

    [ truth-in-advertising: I'm a graduate student in CS at the University
    of Washington (in Seattle, WA). I've been here two years, and i was in
    grad school at UC-Berkeley for a year before that. The following is
    random, biased opinion based only on going through the
    grad-school-picking exercise twice. BTW, i love both the University of Washington and UC-Berkeley. ]

    o First, read this page on "Choosing Graduate School in Computer Science":
    http://www.cs.washington.edu/homes/rap/grads.html
    This page was put together by Rachel Pottinger, also at the University of
    Washington.

    o Next, find a list of CS grad programs. usnews.com is one place to
    start. Another is:
    http://www.cra.org/statistics/nrcstudy2/rankcs.h tml

    o Surf the web to find out about the programs that seem most
    interesting to you, based at first on their location and ranking. Look
    at what kind of research is going on, how big the department is, and
    for faculty whose interests match your own. Be aware that research
    project web sites are often a year or two out of date; they tend to be
    made at the beginning of research projects and fall out of date as the
    research progresses. The list of publications on the project home page
    or grad student home pages tends to be far more indicative of what
    (and how much) is going on than the rhetoric at the top of project
    home pages.

    o You don't need to necessarily shoot for the very top programs, but
    from the schools that seem interesting to you, pick a dozen or so and
    write for applications in September of your senior year.

    o Pick a set of at least 5-6 of the best schools that you think you
    have a shot at. Rankings aren't everything, but for better or worse,
    departmental reputations are real, and you do want smart, fun
    officemates with whom to collaborate and hang out, a good advisor that
    knows something about how to do research, and a department with lots
    of interesting things going on.

    o In December, apply to at least 5-6 schools. You never know how many
    you'll get into, or which ones they'll be, so apply to a few you
    aren't sure if you'll get into; you may be pleasantly surprised. When
    possible, you may want to wait until fall semester/quarter is over
    before applying, since doing the applications can be time
    consuming. But remember to get transcripts and recommendations done in
    time.

    o In February, March, and April you should get several admission
    offers, and hopefully a rejection letter or two, if you picked schools
    well! :-) Visit as many schools as you can. The grad schools are
    picking up the tab, so you may as well take advantage of it! Even for
    schools where you think there's only a small chance you'd end up
    there, you'll learn a lot about grad school and hot research topics by
    talking with grad students and professors. These are going to be
    colleagues that you'll be seeing at conferences and whose papers
    you'll be reading; visiting grad schools is a great way to meet them
    and get 30 minutes of great one-on-one time with them.

    o Pick the school where you feel most at home; the school where you
    hit it off with at least a few professors doing research you think is
    interesting, you get along with the grad students, you like the
    campus, and you like the city where the campus is located. Remember,
    you may be there for 5-7 years if you go for a PhD, so you want to
    know that you'll enjoy the whole environment for a long period of
    time.

    o When picking schools, don't sweat the money stuff. Nearly all decent
    grad students at nearly all decent CS departments have no problems
    finding funding, be it with TA-ships or research assistantships. You
    may have to TA your first year or longer, but that's a good experience
    in and of itself.

    o Remember that in the end, the school only matters so much. One thing
    i learned from transferring between grad schools is that what you do
    and how you spend your time has far more to do with your grad school
    experience than where you go. You'll want to pick a grad program with
    good people and good tools, but in the end, it's up to you!

    Hope that helps,
    Neal