Skip navigation

Daniel Felix Ritchie School of Engineering & Computer Science Department of Computer Science

Computer Science

Graduate Degree Programs

MS Computer Science

The MS program in computer science prepares students for advancement in academic or industrial careers. The program is designed to provide students with a breadth of advanced knowledge in computer science, while permitting them to achieve depth in areas of current interest within the computing field, as well as the emerging technologies that will be gaining importance in the future.

Total Credit Hours:

48 qrt. hrs.

Degree Requirements:

Requires 48 quarter hours of graduate-level course work including:

COMP 3351 Programming Languages
COMP 3361 Operating Systems
COMP 3371 Advanced Data Structures and Algorithms
COMP 3200 Discrete Structures

Three COMP courses at the 4000-level (other than COMP 4991) are required of which at least one must be a designated "theory" class.

Advanced Programming Requirement:

Students must also choose and complete two courses from the following list of COMP courses that include an advanced programming component. Students must complete at least two of the courses listed below at the University of Denver. These courses must be approved by an advisor. The current pre-approved list includes:

COMP 3352 Elements of Compiler Design
COMP 3353 Compiler Construction
COMP 3621 Computer Networking
COMP 3801 Introduction to Computer Graphics

Seminar Attendance Requirement:

Students must complete three quarters of COMP4600 - Seminar (0 credits). A passing grade is required for successful completion.

Students should also note the following:

A maximum of 8 quarter hours may be earned in approved courses outside the COMP designation, including transfer credits from another university. Such credit must be approved in writing by an advisor from the computer science faculty. A student receiving any support from the department (GTA, GRA) must complete the degree requirements as per the Thesis option.

Additional Requirements:

All incoming students into the Master's program will be required to take a pre-requisite assessment test in the beginning of their first quarter. Failure to pass this test will require a student to register and pass a bridge course before registering in a core course.

Students should follow the rules and regulations stated in the departmental Graduate Student Manual.

Non-thesis Option:

A maximum of 12 quarter hours may be earned in Independent Study (COMP 4991), provided the student can find an advisor for such independent study.
No thesis is required.
Not eligible for GTA or GRA support.

Thesis Option:

A maximum of 12 credits may be earned for thesis credits (COMP 4995).
A thesis is required.
Evidence of publishable research is required.

Admission Requirements:

Successful completion of a Bachelors degree and the GRE (general test) are required of all master degree candidates. Please review the steps here for other application requirements.


COMP 1671 Introduction to Computer Science I
COMP 1672 Introduction to Computer Science II
COMP 2370 Introduction to Data Structures and Algorithms
COMP 2673 Introduction to Computer Science III
COMP 2691 Introduction to Computer Organization
COMP 2300 Discrete Structures in Computer Science

PhD Computer Science

The department currently has faculty to support PhD students in the following areas:

Artificial Intelligence
Computational Geometry
Humane Games
Parallel and Distributed Algorithms
Security and Privacy
Software Systems Engineering

Total Credit Hours:

90 qrt. hrs.

Degree Requirements:

Completion of the PhD in computer science requires the following:

  • A minimum of 90 quarter hours beyond the BA or BS degree
  • Completion of a written dissertation that makes a significant contribution to the research literature in computer sciences
  • Completion of a tool requirement
  • Completion of three quarters of COMP4600 - Seminar (0 credits)
  • Doctoral seminar

Additional Requirements:

PhD Students without a Masters Degree in Computer Science

  • Must complete the requirements of the Computer Science Masters Degree with a thesis option within 3 years (9 quarters).

PhD Students with a 2 year Masters Degree in Computer Science or Related Field

  • May take a proficiency test in the four required courses for Masters Degree. The test may be offered at a time other than the official final exam time of the term. A grade of B+ (B plus) or better must be obtained in the test.
  • If the student chooses not to take the proficiency test, the student must register and attend classes for the four required courses. A grade of B+ (B plus) or better must be obtained in the courses.

Students should follow the rules and regulations stated in the departmental Graduate Student Manual.

Course Selection:

Of the 90 quarter hours, at least 36 must be at the 4000 level. Up to 24 credits may be taken in other relevant disciplines, as approved by the Computer Science Department Graduate Committee. Courses should be chosen in consultation with, and are subject to the approval of, the student's adviser.

Qualifying Examination:

Every PhD student must pass the Qualifying Exam. It consists of two parts, the Breadth Requirement and the Written and Oral exam.

(a) Breadth Requirement
To fulfill the Breadth Requirement the student must take 5 graded courses (20 Quarter Credits) at the 3000 and 4000 level (not including independent study, internship, or independent research). At most, two may be at the 3000 level. At least three must be at the 4000 level. The course work should cover at least three distinct areas. The five courses should include a sequence of 3000 and 4000 level courses. The GPA in these courses must be at least 3.7/4.0. No course with a grade below a B may be used to fulfill this requirement. Graduate computer science courses taken at another university and transferred for credit at DU may be applied to the Breadth requirement up to a maximum of 2 courses (8 quarter credits).

(b) Written and Oral Examination
Before being admitted to this exam, the student must have fulfilled the Breadth Requirement. The student selects an area of examination from the list above. The Written part of the exam is a take home exam. It is a handed out on a Friday and is due the following Tuesday. The Oral Exam is held the following Friday. The take home exam consists of a set of research questions, a set of related papers and instructions. The student should prepare a written report of at least 10 but no more than 20 pages with answers to the questions. Study guides or other relevant material to prepare for the exam can be obtained from the chair of the examination committee. The oral portion of the exam is based on a student presentation in which the student explains and defends his/her answers. During the Oral Exam, questions in other areas of computer science may also be asked.
A failed exam may be retaken once (in the same or another area). Sufficiently prior to the exam date, the department chair will appoint an examination committee of three tenure-track faculty. One of the committee members must be in the area in which the examination will be held. The student’s advisor is allowed to be on the committee. The committee creates the take home exam and grades it. After the Oral Exam, the committee makes a recommendation to the CS faculty on whether the student passes or fails. If the faculty agrees, the committee recommendation stands. If there is a disagreement, the faculty as a whole decides.

Preliminary Examination:

Following successful completion of the Qualifying Examination, each student will prepare a dissertation proposal and take the Preliminary Examination. Passing this examination admits the student to Ph.D. candidacy. The dissertation proposal should be prepared in close consultation with the student’s advisor, and should be available to all committee members at least two weeks prior to the examination. It should reflect an extensive critical literature survey, and contain an accurate assessment of the state-of-the-art in the area of research, a precise statement of the problem to be solved, motivation for pursuing the research, and evidence to the effect that there is a good likelihood the problem is solvable with reasonable effort.

For full-time students, the Preliminary Examination must be taken within 5 quarters of passing the Qualifying Examination. Successful completion of the Preliminary Examination results in agreement between the student and the committee as to what will constitute successful completion of the dissertation research. The committee may choose to reconvene the examination to allow the student to further research the problem, complete additional course work, or revise the dissertation proposal document. In the event that the examination is to be retaken, the student should do so no later than the same quarter of the following academic year. The examining committee consists of at least 3 Computer Science faculty members, including the advisor. The preliminary exam is a one hour oral closed exam.

If a student passed the preliminary exam, but subsequently switches advisor and hence topic, the preliminary exam must be repeated within one year to ensure capability of the student and feasibility of the project.

Possible Thesis Proposal Outline:

  • Intro
    • Problem
    • Research questions, scope
  • Background
    • Lit search
    • Open Problems
    • Analysis with respect to research questions
  • Approach
  • Preliminary results
  • Plan for completion of work including timeline
  • Risks and risk mitigation
  • References

Thesis Defense:

After the dissertation has been completed, the student must defend it in a final examination, as specified by the Office of Graduate Studies.

Tool Requirement:

It is strongly recommended that students satisfy their tool requirement by demonstrating proficiency in a modern computer typesetting system suitable for writing technical papers that include mathematical equations and graphics. The faculty advisor must approve the specific system used to satisfy this requirement. Other options include reading competency in two languages selected from French, German, and Russian; a series of outside courses in another discipline; or significant laboratory experience involving computer science.

Please check the sample concentration electives listed here.