Graduate Degree Requirements

M.S. Thesis Option

 

  1. CS 900 - Computer Science Seminar.
  2. Eight CS graduate courses of at least three credits each.
  3. Thesis (six credits). The student must complete a thesis under the supervision of a faculty adviser and a thesis committee of at least three members.

 

M.S. Project Option

 

  1. CS 900 - Computer Science Seminar.
  2. Ten CS graduate courses of at least three credits each.
    • Two courses must be implementation intensive.
    • At least one course must be chosen from four different breadth areas.
    • At least three courses must be above 900; one of these must be related to the project area.
  3. Project (three credits). The student must complete a project under the supervision of a faculty adviser.

 

M.S. Exam Option

 

  1. CS 900 - Computer Science Seminar.
  2. Ten CS graduate courses of at least three credits each.
    • Two courses must be implementation intensive.
    • At least one course must be chosen from four different breadth areas.
    • At least three courses must be above 900; one of these must be related to the project area.
  3. 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

 

  1. CS 900 - Computer Science Seminar.
  2. Seven CS graduate courses (three credits or more) beyond the MS or fifteen CS graduate courses beyond the B.S.
    1. Two courses must be implementation intensive.
    2. All students must take CS 845, Formal Specification and Verification of Software Systems.
  3. 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.
  4. 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.
  5. 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.
  6. 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

Implementation intensive courses include: CS 812, CS 830, CS 835, CS 870.

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.)

 

Area Introductory Course(s)
Theory CS 845, 858
Operating Systems CS 823
Compiler and Language   CS 812, 835, 871
Database CS 875
Artificial Intelligence CS 830
Interactive Systems CS 860, 867, 870
Computer Networks CS 825