URO Zone · Why go to Graduate School? · Application Process · A Day in the Life Blog · Research Opportunities
Considering Grad School?
Why go to Graduate School?
Graduate school in CS provides you with an opportunity to study CS broadly and deeply and to engage in research.
Your classes will move from the foundations that you learned as an undergraduate to the current state-of-the-art in the discipline. As a researcher, you'll have a chance to work on exciting projects and problems that will both challenge you intellectually and allow you to contribute to your research community and to society.
There are two types of graduate programs: Master's programs and Ph.D. programs.
Master's Programs: A master's typically takes about two years to complete and involves coursework and, in many cases, a research project (often called a master's thesis). The coursework is generally some combination of the next level of the foundational courses that you took as an undergraduate (e.g., algorithms, systems, programming languages, etc.) and elective courses. The master's project or thesis is usually a well-defined project that can be done in about a year.
A master's degree can provide you with a level of preparation that will allow you to serve as a manager in industry or teach at a community college. A master's program typically charges tuition but there may be some opportunities to get your tuition reduced and earn a stipend through a teaching or research assistantship.
Ph.D. Programs: A Ph.D. program typically takes 4-6 years to complete (starting from a bachelor's degree) and involves both coursework and original research. The coursework varies from school-to-school. In some cases, it's just a few required courses and at others it may be a few years of coursework to provide you with both breadth and depth in the field. In some Ph.D. programs, you will get a master's along the way for completing a certain subset of the requirements whereas other Ph.D. programs skip the masters's entirely.
The main part of a Ph.D. is research in an area of your choosing. You'll work with your research adviser on new and challenging problems, you'll present and publish your results in conferences and journals, and you'll become a leading expert in your field of study. Ultimately, you'll write a dissertation that describes your research in detail.
Typically, a Ph.D. student gets tuition waived and receives a stipend that is sufficient to cover the cost of living. This stipend can come in the form of a teaching assistantship (grading and running recitation and lab sections of undergraduate courses), a research assistantship (often paid for by your adviser's research grant), or a fellowship (a stipend paid by your department or some private foundation or federal agency). In most cases, any of these will pay enough to cover your living expenses.
A Ph.D. provides preparation and training that are needed for research in academia and industrial and government research labs. In addition, many product development groups in industry seek Ph.D.s. Indeed, in some subdisciplines of computer science, many Ph.D.'s choose to work in advanced development positions.
Graduate Student Virtual Panel
Aleatha Parker-Wood - In my operating systems class. I had been dissatisfied with software engineering for a while, and felt that I didn't have room to grow. I really enjoyed OS, and it was a very challenging course. The professors teaching it both met with me during the quarter, and encouraged me to really think about research. I felt (and still do) that in research, my horizons are limited more by my capabilities, and less by externalities.
Adrian Sampson - Research first seemed like a pretty cool idea when my undergrad courses first started including class projects. I wondered what it would be like to do larger-scale projects full-time, so I did an NSF REU in the summer after my sophomore year. I was hooked quickly: I really enjoyed spending time with other students and wrestling big, undefined problems that were just at the edge of my understanding. I saw grad school as an opportunity to do more of the same -- and, so far, I haven't been disappointed.
Justine Sherry - My International Studies background made me want to do something that I felt would have impact on a global scale, and the Internet has shaken up the world in terms of politics, economics, and our day to day lives incredibly. By doing undergraduate research, I got to have my hands in how the Internet worked and grew, and that hooked me. Graduate school allows me to continue to work on networking problems that are very open-ended and exciting.
Aleatha Parker-Wood - I had no idea how to prepare myself for graduate school, but I had a lot of intellectual curiosity, so I took lots of classes that weren't required for graduation. My machine learning professor kindly let me do summer research for him, so I got to experience the research process -- reading papers, setting up experiments, writing a paper and poster, and so on. In retrospect, I wish I had done more research, and connected with more professors (both for research, and so I was more confident about asking for letters of recommendation.)
Adrian Sampson - My summer in an REU program went a long way to introducing me to the process and habits of doing research -- reading research papers, defining the important problems, and writing up results -- even though I work on very different problems these days as a grad student. Although Harvey Mudd doesn't have a graduate program, I was still able to do some research alongside classes during the academic year as well -- for that project, my advisor left the the topic choice was entirely up to me, which helped acclimate me to the experience of generating my own ideas. On the other hand, while I came into grad school with less previous research experience than some of my peers, I've found other students (and my advisors) incredibly helpful in getting up to speed. You don't have to be a Turing Award winner as an undergrad to be successful as a grad student.
Justine Sherry - I worked on an undergraduate research project with a graduate student to guide me for a year and a half. I also made sure to attend talks and seminars on networking in my department. During the summers, I did two industrial internships at Amazon to learn about computer science in practice and to beef up my programming skills.
Aleatha Parker-Wood - First thing in the morning, before I even go into the lab (if I am not working at home that day), I will sit down with a cup of coffee and deal with administrative things like email and expense reports. I'll often also play with my daughter during this time, since it's less important to focus. Then I'll hand my daughter over to my husband or the babysitter, and settle in for focused research time. I try to pick one thing to focus on each day... Maybe it's a paper or grant I'm writing, maybe it's code for an experiment, or a couple of challenging papers I'm reading. On the days when I can't get a baby sitter, I'll read less challenging papers, or meet with my lab mates to discuss research roadmaps, problems I'm stuck on, etc. I spend something like half my time reading and analyzing, a quarter writing (code or prose), and the rest in meetings and administrative tasks.
Adrian Sampson - Now that I've finished my pre-"quals" coursework, I get to focus on research exclusively. I spend most of my days in the office (I enjoy the spontaneous meetings and conversations with people in the department, and I like my officemates), but once every week or two I'll set up in a coffee shop or on my lawn at home for a change of scenery. Then, depending on the phase of my current project, I spend my time reading/thinking/head-scratching, coding, analyzing data, or writing. I also typically have a few meetings with people I'm collaborating with, from undergrads to professors, which is where most of the good ideas come from.
Justine Sherry - On a typical day, I come to campus late/mid morning (I like to sleep in!), grab a cup of coffee, and attend a class or seminar. In the afternoon, I might meet with my advisor to catch up on our research projects and make plans for the week. We try to meet once a week, although around deadlines I might drop in to her office every day with a question or an idea. I'll spend the rest of the day programming, reading research papers, or writing and editing my own paper submissions. I live with other graduate students, so in the evenings we'll often eat together, discuss our days, and play cards.
Aleatha Parker-Wood - A huge degree of intellectual freedom, and being surrounded by other people who are just as excited about research. There's a great energy when someone has an idea, and then the group starts building on it, figuring out how to test it, how to extend it, and so on. There are practical limits to what you can research, but you have more flexibility in graduate school than ever before (or, I'm told, after.)
Adrian Sampson - My favorite part of grad school is working with my awesome colleagues to generate ideas and solve problems. I find that my best research gets done when I'm talking to someone else, so I relish the time I spend pondering (and arguing) with my advisors and other students.
Justine Sherry - I love the flexibility in everything: when I show up to school, what classes I take, and what I work on are all driven by what I want to do.
Aleatha Parker-Wood - I've found that for me, learning to present information is the hardest part. It's something they don't really talk about when you're thinking about graduate school, and of course, you don't think of it when you're imagining yourself as a researcher, but you will spend a huge amount of time writing about your work, giving presentations about your work, creating posters about it, etc. Worse yet, your ability to get funding and notice in your field is at least as much about presentation as it is about the ideas you come up with. After all, if no one understands what you did, they're not going to give you money to keep doing it!
Adrian Sampson - The hardest part for me right now is managing a large number of responsibilities. It's easy to take on way too many projects without realizing it, so I need to work hard to keep my focus on just one or two research tracks at a time. This is further complicated by the need to arrange projects based on conference deadlines: a puzzle I haven't yet completely solved.
Justine Sherry - Also the flexibility! There is no "set track" to success like there was in undergrad - you can't just get good grades and go home. It's very difficult to find interesting problems to work on, figure out the best way to solve them, and decide whether or not it's worth it to submit a research paper now or wait until you have more results.
Aleatha Parker-Wood - You know that old quote about "If I see farther it is because I have stood on the shoulders of giants"? Undergraduate has only scratched the surface of what you will need to learn, and you will spend your first year or two trying to climb up the giant's back, reading papers, learning what's been done already. Don't expect to show up and turn the world on its ear in your first year. Many things have already been tried before, and failed, and if you don't have a realistic expectation about what you can accomplish in a year, you will wind up frustrated and burnt out before you ever produce your first good research. Expect to fail often. Science is the process of finding new and exciting ways to fail, until you find something that succeeds.
Adrian Sampson - Give research a try to see if you like it. Before you've actually spent time working on research problems, it can seem intimidating or impenetrable. But really, cluelessness and mysteriousness are normal and part of what make research enjoyable. If you have the chance to do an REU or any other research as an undergrad, go for it -- it's the best preview you can get of what grad school is like.
Justine Sherry - You have the opportunity as a computer science student to try out the things you might do after graduation! If you have a chance, do both an industrial internship and undergraduate research. Once you've tried your options out, see what suits you best.
Faculty Virtual Panel
Gregory Hager - Grad school requires a rather unusual combination of a desire to explore, driven by basic curiosity, combined with the focus and drive to define a goal and achieve it. I think the students who most enjoy graduate school have a fundamental love to learn, imagine and experience new things. However, to *succeed*, they also have to know when to put on blinders and focus on achieving a specific goal. This right balance of imagination, exploration and focus is what I view as most essential to success in grad school (and beyond).
Margo Seltzer - First, you have to be self-directed -- at some point, professors and advisors stop telling you what to do and expect that you care enough to figure out what to do. Second, you need to be the kind of person who wants to know, "Why?" Graduate school is about research and research is about understanding why. Third, you should be able to give and receive criticism gracefully -- this is an essential life skill, even more so in graduate school.
Gregory Hager - Well, I think this depends on the person ultimately; I don't think there is a single correct answer here. But I would generally say that it is rare for someone to work for more than a year or two, then decide to go back to graduate school. So, my general advice is to try grad school first. It's much easier to decide its not for you and switch to a job; it quickly becomes much harder to go the other way around.
Stephanie Forrest - The M.S. is a professional degree and requires much less commitment. If you are unsure, start with the M.S. The Ph.D. is a much larger intellectual commitment. I tell prospective students that they should "attempt the Ph.D. only if there is nothing else that they can imagine doing instead." This is not meant to discourage you, but to convey the level of passion and commitment that are required to see you through a Ph.D. and beyond.
Margo Seltzer - I'm answering this question about PhD programs; the answer for a Master's program might be different. I think you should go to graduate school only when you're certain you want to be there. Getting a Ph.D. can be fun and exhilarating at times, but it can also be challenging and difficult--if you're doing something you know you want to do, that will get you through the rough times.
Gregory Hager - I most enjoyed going to seminars and subsequent discussion and learning from my (student) colleagues. We often had serious debates about the pros and cons of any speaker. It taught an important skill -- how to question what you were told and not simply accept it as scripture.
Stephanie Forrest - Computer science is the most exciting field I know of, so I loved the opportunity to dig deeply into several areas of CS, learning as much as I could handle and then moving beyond what was known to develop research for my dissertation. I also liked the opportunity to work closely with a single professor.
Margo Seltzer - Getting your first first-author paper published (if you haven't already done that as an undergrad).
Gregory Hager - Well, again this surely varies from person to person. For me, the hardest part of school of doing rote studying and the careful mathematical spadework necessary to back up any real scientific paper. I was always much happier doing my own thing, building some cool system, and explaining it to the world. But, the background spade work is essential. What I also found (and find) difficult was choosing *not* to pursue some line of work. Not everything is an equally productive direction to go. Picking what to do with your finite resources is half the game!
Stephanie Forrest - I require my students to choose their own dissertation topics, and this is always the most difficult part of the program for them. "Choosing the right question" is in fact the most challenging and important part of any science.
Margo Seltzer - That period of time after you have completed your coursework and you are trying to nail down a thesis topic. Identifying something you are willing to focus on for a couple of years and that you believe will let you make an original contribution can be daunting.
What have we missed on this page?
Please send suggestions or references to other resources to Ran Libeskind-Hadas (ran@cs.hmc.edu). Also please feel free to use the comments box below to post your questions, advice, resources and thoughts.


