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 will 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) 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 with a Bachelor's degree) and involves both coursework and original research. The coursework varies from school-to-school. In some cases, it is 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 Master's entirely.
The main part of a Ph.D. is research in an area of your choosing. You will work with your research advisor 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 subdisciplines of computer science, many Ph.D.'s choose to work in advanced development positions.





