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."

12 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)
    1. Re:Field of Interest by Luis+Casillas · · Score: 2
      I think I would add the following:

      Computational Linguistics (AI-related):

      • University of Pennsylvania
      • Stanford

      If you're interested in stuff like Natural Language Processing, these places are very good. If you are seeking a CS major (rather than linguistics) with a specialization on NLP, I would recommend UPenn as a bit above Stanford (though the opposite would go if you were a linguistics major interested in NLP). As a matter of fact, Stanford this year was looking for a new junior professor for computational linguistics, and of the 6 candidates, 3 were from UPenn, that's how good they are in that area.

      I visited both places this year and they're very good. They both do LOTS of very good research in the area, so you'll definitely get chances to do very interesting work. At UPenn, also, lots of CS, Linguistics and Psychology majors hang around the same research center, and take classes in each other's areas, making for a great interdisciplinary approach.

      ---

  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. Re:Funny.... by Hobbex · · Score: 2


    I don't agree at all. I'm not exactly planning to do my graduate studies in America, but it is an option, so I am interested in hearing what goes and what doesn't.

    Obviously it isn't a too interesting topic if you are not interested in graduate studies, but I think you can show at least a little tolerance. And hey, American students can come here (Europe) to study, so pitch our schools at him them.

    Anyone have some opinions for those of us more into Math than CS?

    -
    /. is like a steer's horns, a point here, a point there and a lot of bull in between.

  5. Re:Funny.... by Hobbex · · Score: 2


    CS is applied Math. Sorta like digging is applied Geology, and playing with shit is applied Biology.

    Sorry, couldn't resist :-).

    -
    /. is like a steer's horns, a point here, a point there and a lot of bull in between.

  6. Re:Grad School Selection by Sam+Jooky · · Score: 2
    Colonel Kurtz -- yes, I am responding to my own message :) -- I have some more information and suggestions for you as well (and actually, for anyone interested in postgraduate studies).

    Grad Schools are really competitive, so right now while you have plenty of time left as an undergrad, start improving your chances of getting in. You can do this in lots of ways.

    Remember, though, that grad schools really pay attention to letters of references from past professors that show how well you can do work (and possibly research). Meet a professor in your department who is doing research on something you find interesting and offer them your services. Learn a little bit about CS research.

    When you get up to senior-status, talk to some professors about taking on a class as a non-teaching TA. Profs and GTAs always appreciate all the help you can offer. TA one of the introductory CS classes with 100 people.

    Both of these things will help you get better letters of recommendation, and at the same time, you will get a much better idea of whether or not the grad student life is for you.

    Also, when you start to get into the higher-level courses, take some graduate-level courses. Most schools won't let you take the higher-level grad courses, but the introductory ones should be accessible. This will help prepare for the amount of reading and work that your classes will involve in grad school.

    If I think of other helpful tips, I'll respond to my message again. :)

    Sam Jooky
    sapienza@holly.colostate.edu

  7. 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

  8. Re:Field of Interest - Embedded Systems Design by gupg · · Score: 2
    I'd like to add
    • Embedded Systems
      • UC Irvine
      • Stanford
      • Berkeley
  9. grad school... by cylock · · Score: 2

    My Ph.D. is from University of Southern Carolina.
    But if you are planning on a Ph.D. (Most of the
    top schools will actually pay you to geta Ph.D.
    getting funding at the masters level is usually
    improbably or impossible.) My advice would be
    that your selection of advisor is as, or more,
    important than your selection of school.
    You can go to the best school with the fanciest
    labs but if the professor in charge of the
    lab isn't your advisor chances are you aren't
    ever going to see that lab except for maybe
    course work.

    Your advisor also determines the topics of
    research that you work on. You'll start by
    doing work related to their interest, not yours
    (Its what you get paid for.) This will ultimately
    lead to your Dissertation topic.

    So the advisor has an extreme amount of inffluence
    on what you have access to and what your topics
    will be.

    I would also suggest trying to pick an advisor
    that already has tenure. I didn't and my
    advisor picked up in the middle of my dissertation
    and switched schools leaving me without a lot of
    fundamental support. And the school didn't have
    any protocol for what to do with a fifth year
    grad. student with a thesis topic and no advisor
    so I felt I was left out to dry. I think a
    professor with tenure and a well established lab
    is less likely to leave you hanging.

    my $0.02

  10. Re:CMU! by chrismaeda · · Score: 2

    The short answer: CMU, MIT, Stanford, and Berkeley
    are generally regarded as tied for #1. Also very
    good are Washington, Wisconsin, Harvard, Princeton. (Disclaimer: I got my CS PhD from CMU
    in operating systems in 1997. I also spent 18
    months at U Washington so my view of who is good
    is influenced by who was publishing good OS
    papers in the early 1990s.)

    If you know what area you want to work in
    (ie architecture, databases, operating systems,
    AI, etc), figure out who the top people in the
    field are and apply to those schools. For example
    UNC is world class in computer graphics. 90%
    of CS grad school is who your advisor is. A
    good advisor teaches you the right stuff and
    hooks you up with the right people. A bad advisor wastes 5 years of your life.

    The nice thing about CMU CS is that they take better care of their students than most places:
    Everyone gets a fellowship and the cost of living
    in Pittsburgh is much lower than Boston or Bay
    Area. This is a key concern when you are
    trying to live on $16k per year. On the other
    hand, CMU has the worst industry interaction of
    the top schools since Pittsburgh is so far from
    where the real action is.

  11. 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