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. Master’s degrees come in two forms: A “research” master’s and a “professional” master’s. The research master’s is typically a full-time program that takes 1.5 to 2 years to complete. It 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) and elective courses.
The master’s project or thesis is usually a well-defined project that can be done in about a year. The professional master’s also typically takes about 1.5 to 2 years in a full-time program, but many people pursue these programs part-time while they’re working. Some employers have arrangements with local universities to allow employees to take just one or two courses per term, often in the evening. 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. Funding is more common for research master’s students than for professional master’s students.
Admission to master’s programs is generally less competitive than for Ph.D. programs. However, some Ph.D. programs do not have an explicit master’s track. Instead, those schools admit students to the Ph.D. program and typically award a master’s degree in the second year of the program. Some students may choose to leave the program at that point with the master’s degree while others will continue on for the Ph.D.
Ph.D.: A Ph.D. program typically takes 5-6 years to complete for a student entering graduate school with a bachelor’s degree. The Ph.D. program involves both coursework and original research. The coursework varies from school-to-school. At some schools, it is a few required courses. At other schools, 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’ll get a master’s along the way for completing a certain subset of the requirements whereas other Ph.D. programs skip the master’s entirely.
The main part of a Ph.D. is research in an area of your choosing. You will work with your research adviser on new and challenging problems; you will present and publish your results in conferences and journals; and you will become a leading expert in your field of study. Ultimately, you will 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 advisor’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 sub-disciplines of computer science, many Ph.D.’s choose to work in advanced development positions. Currently, more than half of new Ph.D.’s in computer science end up working in industry or other non-academic labs.
Here are a number of essays and tips that we think are particularly useful to students considering graduate schools and careers in computing research.
- Advice for Undergraduates Considering Graduate School, Phil Agre
- Preparing to apply and applying to Ph.D. programs, Philip Guo (University of Rochester)
- Why Pursue a Ph.D.? Three Practical Reasons (12 minute video), Philip Guo (University of Rochester)
- Applying to Graduate Schools in Computer Science, Mor Harchol-Balter (CMU)
- Advice for Undergraduates, Michael Ernst (University of Washington)
- Advice for Prospective Research Students, David Evans (University of Virginia)
- How to Succeed in Graduate School: A Guide for Students and Advisors, Marie desJardin (University of Maryland Baltimore County)
As an undergraduate student, exposure and perception of graduate students life can often be biased, as the majority of interactions take place with graduate students in their role as teaching assistants (TA). While it would appear that graduate students spend a majority of their time managing, grading, and helping administer undergraduate courses, this in fact constitutes a very low percentage of the graduate students overall time.
In particular, after the coursework is completed, life for a graduate student is more similar to that of an industry professional than it is like being an undergraduate.
- Typically graduate student work is project not assignment based, as graduate students often are working to develop new methodologies to address well known problem as opposed to working through specific steps to obtain an outcome.
- Although the professor may be the same, graduate student relationships with their advisors are very different than undergraduate students relationship with the individual in their role as a professor. Undergraduates may utilize professors to help confer knowledge in a particular topic, while graduate students must often utilize their advisors as “sounding boards” and collaborators to develop and refine new ideas.
- While much of the time as an undergraduate is spent, consuming and demonstrating knowledge on a topic, graduate students are expected to consume and apply such knowledge. There is an increased emphasis placed on interpreting results, designing experiments, and analyzing results.
When you apply for admission to graduate school – and particularly for Ph.D. programs – you will be considered for a graduate assistantship as well. Most departments will offer you some form of assistantship when they admit you. Generally, these assistantships will provide you with a monthly stipend that is sufficient to cover your living expenses and will include a waiver of tuition and fees.
Assistantships typically come in two flavors: A teaching assistantship (TA) will require that you help a professor with a course by doing some combination of holding recitation sections, developing assignments, and grading. The expectation is that this will take somewhere on the order of 10 hours per week (sometimes more). A research assistantship (RA) usually provides about the same amount of financial support but your duties are working on research with your research adviser. Often, the RA funds come directly from your adviser’s grants, so the RA offer may be to work with a specific adviser on a specific project. While a RA is good for making progress on your research and your degree, a TA provides useful teaching experience. Some departments require that you serve as a TA for at least part of your time.
Some departments also offer their own fellowships which have “no strings attached” – meaning that the funding is yours and you can choose to work with any adviser that you like. A fellowship is generally the most desirable form of support because it gives you the most flexibility. However, most departments have few fellowships that they can give out themselves.
There exist a number of fellowships for which you can apply directly before entering graduate school. These are prestigious, pay relatively well, and provide you with a great deal of flexibility. They are also quite competitive, so talk to your adviser to decide whether it’s a good investment of your time to apply. Some of the most popular fellowships are:
The National Science Foundations Graduate Research Fellowship Program (NSF GRFP) The National Defense Science and Engineering Fellowship Program (NDSEG) The National Physical Science Consortium Fellowships (NPSC) The Hertz Fellowship (this one is extremely competitive) The GEM Fellowship Program for students from underrepresented minority groups
Other resources that we recommend for learning more about fellowships are:
Prof. Michael Ernst’s advice on applying for fellowships. Prof. Philip Guo’s advice on applying for fellowships.
Undergraduate vs. Graudate Studies
|Structure||Programs are typically highly structured. From the classes required for graduation to the daily schedule of class and assignments, there is often a clear path to success for a student to follow||There is a significantly higher degree of autonomy. Students will likely have fewer courses at a time. However the majority of the program, and major markers for success are focused on the research developed by both the student and their advisor|
|Work||Work is typically focused on instilling knowledge to students, helping them grasp fundamental concepts. Problems typically have well defined solutions that a student can work towards, and allow for clear identification of problems or mistakes along the way||While the problem may be clear, the solution is likely much less clear. There are often numerous paths to success, and each require the student to be able to determine causes of failure, and alternative approaches. This is the core idea, that graduate students are advancing the start-of-the-art work within their field|
|Student Body||The majority of students live in close proximity to each other, and to campus. This promotes a sense of community across the university. Students are are often close in age allowing for connections across shared or similar experiences||More likely to live in their own off-campus residences, commuting to school. Given the specific nature of most grad programs, even when on campus students tend to remain with their department and colleagues, bypassing the wider campus ambience and activities. Students will have a much wider age range, translating to a different study environment. For instance, some of your classmates may already have years of work experience in the very field you are studying, adding the practitioner’s real-world take to classroom discussions|