Master’s degree

A master’s degree can provide you with a level of preparation that will allow you to serve as a technical leader or 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. Generally, a professional master’s consists of additional coursework but, unlike a research master’s, does not include a research thesis. 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 PhD programs. However, some PhD programs do not have an explicit master’s track. Instead, those schools admit students to the PhD 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 PhD.


A PhD program typically takes 5-6 years to complete for a student entering graduate school with a bachelor’s degree. The PhD 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 PhD programs, you’ll get a master’s along the way for completing a certain subset of the requirements whereas other PhD programs skip the master’s entirely. The slide deck  developed by CRA-E provides a good overview of the path to a PhD – from applications to finding the dream job.

The main part of a PhD is research on new and challenging problems in an area of your choosing. In conjunction with a research adviser; the student will present and publish results in conferences and journals; and will become a leading expert in their field of study. Ultimately, they will write a dissertation that describes their research in detail.

Typically, a PhD 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 an advisor’s research grant), or a fellowship (a stipend paid by the department or some private foundation or federal agency). In most cases, any of these will pay enough to cover the living expenses.

A PhD 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 PhDs. Indeed, in some sub-disciplines of computer science, many PhDs choose to work in advanced development positions. Currently, more than half of new PhDs in computer science end up working in industry or other non-academic labs.