At least three courses must be above 900; one of these must be related to the project area.

At most one course can be CS 998, Independent Study.

Comprehensive exam that includes four different examination topics. One topic must be selected from the Theory group; the other three topics must be selected from three different groups (which can include a second theory topic).

Ph.D. Requirements

All students must take CS 845, Formal Specification and Verification of Software Systems.

At most two courses can be CS 998, Independent Study. If two CS 998 courses are taken, they must be taught by different instructors.

Students who arrive with an M.S. degree may have a course requirement waived with the approval of the faculty member who normally teaches the course. Note that this does not reduce the number of courses required to complete the degree.

Students may count non-CS courses towards their degree requirements with the approval of their advisor and the Graduate Studies Committee.

Breadth requirement. Courses must be taken from at least four different breadth areas, with one of the groups being the Theory group. Students must obtain a 3.4 GPA in the four breadth courses. The student designates which four coures are used to compute the GPA.

Research tool. A research tool represents knowledge and skills in another discipline that can help the student carry out his or her research plan. This is typically satisfied by taking a non-computer science graduate level course.

Depth requirement. Under the direction of a faculty adviser and a depth committee, the student carries out some preliminary research that is likely to lead to a dissertation topic. The student must produce two written reports (a literature survey and a research report) and make a presentation as part of an oral examination on the material.

Dissertation. The student must complete original research and present and defend a dissertation describing that research. The research is carried out under the supervision of a faculty adviser and a dissertation committee of at least five members, including one from outside the department.

Implementation Intensive Courses

Examination Topic Areas

The list below identifies the seven topic areas used for the M.S. comprehensive exam.

Area

Exam Topic(s)

Theory

Formal Specification and Verification, Algorithms

Operating Systems

Advanced Operating Systems

Compiler and Language

Compilers

Database

Database

Artificial Intelligence

Artificial Intelligence

Interactive Systems

Graphics

Computer Networks

Computer Networks

Breadth Course Areas

The list below identifies the seven breadth course areas and the introductory (800-level) graduate courses in each area. It is also acceptable to satisfy an area requirement by taking an advanced course (900-level) in the specified area. (Note that there are courses in the curriculum that are not in any of the identified groups.)