This page describes the requirements of the former PhD program. Students have the option of graduating under this program if their first enrollment as graduate students at UT was in Spring 2018 or earlier.

Students must have an undergraduate degree in computer science or an allied field such as engineering or math with appropriate CS background to be admitted into the Ph.D. program. Each student who is admitted should satisfy the following requirements:


The following UTCS undergraduate courses, or equivalent, are required as background (these are not prerequisites and can be met after admission):

  • Discrete Math for Computer Science (CS 311)
  • Introduction to Programming (CS 312)
  • Data Structures (CS 314)
  • Algorithms and Complexity (CS 331)
  • Computer Organization and Architecture (CS 429)
  • Principles of Computer Systems (CS 439)

A student can satisfy the background requirement using one of the following options:

  • Subject GRE in CS with score in at least the 90th percentile (last offered April 2013, ETS will report scores through Spring 2018)
  • Coursework that covers the background topics through any combination of:
    • Courses taken prior to admission. If these are not the UTCS background courses listed above, certification by an appropriate member of the UTCS tenure-track faculty is required.
    • Background courses named above (or the equivalent honors courses) may be taken at UTCS as a graduate student. An overall GPA of 3.50 on courses taken at UTCS is required unless only 1 course is taken, in which case the requirement is for a 3.0 in that single class. A B or better on the final exam in a background course may be substituted for a full course grade with certification by an appropriate member of the UTCS Tenure-track faculty.
    • Courses certified by appropriate UTCS tenure-track faculty as covering equivalent material may be taken at UTCS or elsewhere by our graduate students. Certification must be obtained prior to taking the course. Note that this does not empower students to register for UTCS graduate courses if they do not meet the prerequisites for admission to those courses.
  • UTCS faculty may certify a student as having covered required background material by interrogating the student’s knowledge of the material directly.

*Students who first enrolled prior to Fall 2016 may choose to graduate under the new rules above or fulfill the previous background requirements.  Please see the pre-2016 background coursework form for a list of previous background coursework.

Research Immersion

Every PhD student is expected to spend a substantial amount of time on research, starting from the first semester. Doctoral students are required to enroll in a special research course CS 398T during their first semester in the program. (Students entering in Spring will be required to take this course the following Fall.) As part of this class, students will be expected to find a research supervisor with whom the student will work throughout the first year; each PhD student must always have a research supervisor.

In each subsequent semester, until admission to candidacy, a Ph.D. student must enroll in and complete a CS395 (Research Course) with a research supervisor.  (Please submit the necessary form to the graduate office.)

Doctoral students may not enroll for 12 or more hours unless they receive special permission from the Graduate Advisor. Such permission is granted rarely.

Diversity Program

The goal of the diversity program is to expose students to different research styles and methods from various CS areas.

Each student must take one diversity course from each of five to seven different threads, with no more than two threads in each of the three areas:

  • Theory
  • Systems
  • Applications

See below for a list of the Diversity courses that are offered and their grouping into threads.

Courses used to satisfy the Diversity requirement should be completed with a grade of B- or better, and a combined grade point average of 3.5 must be achieved on the 5 courses used to satisfy the Diversity requirement. An overall grade point average of 3.1 must be maintained on all Diversity courses taken. Additional Diversity courses may be taken as part of the Depth program. Diversity courses may not be taken CR/NC due to the GPA requirements.

Diversity Course Waivers may be used to fulfill some Diversity requirements. A Diversity Course Waiver is granted when: (1) a student has taken a graduate-level course at another university and that course is equivalent to a UT-CS Diversity course, and (2) the student is able to demonstrate a satisfactory understanding of this material to a Graduate Studies Committee (GSC) member who teaches the Diversity course. The GSC member may choose any method to evaluate the student's knowledge: a written or an oral examination is possible. The GSC member sends an email with their approval of the diversity course waiver to the CS program coordinator for final approval at the next GSC meeting.  At most one Diversity Course Waiver may be used in each Diversity area.

The courses that are currently approved to fulfill the diversity requirement of the Ph.D. are shown below. There are three Diversity areas: Theory, Systems, and Applications, with at least four threads in each area. Ph.D. students must take 5 diversity courses from the 3 areas. These are to be listed on the Research Qualification form (PDF). The courses taken must fall within the following rules:

  1. Two courses from one area, two courses from a second area, and 1 course from a third area.
  2. Within the areas where 2 courses are taken, they must be from different threads. The threads are numbered below.
  3. It is permitted to take as many diversity courses as you need for your research with the approval of your supervising professor, but only the courses that follow these rules may be counted towards the degree plan.


  1. CS 388G Algorithms: Techniques & Theory; CS 388R* Randomized Algorithms
  2. CS 388T Theory of Computation; CS 388C Combinatorics & Graph Theory; CS 388M* Communication Complexity
  3. CS 388P* Parallel Algorithms; CS 388H Cryptography
  4. CS 388L Introduction to Mathematical Logic; CS 389R Recursion & Induction I; CS 388S Formal Semantics & Verification; CS 389L* Automated Logical Reasoning


  1. CS 380L Advanced Operating Systems; CS 380N Systems Modeling; CS 380J* Operating Systems Implementation
  2. CS 380D Distributed Computing I; CS 386C Dependable Computing Systems; CS 380P* Parallel Systems
  3. CS 386M Communication Networks; CS 396M Advanced Networking Protocols; CS 386W* Wireless Networking
  4. CS 386L Programming Languages; CS 380C Compilers
  5. CS 380S* Theory and Practice of Secure Systems; CS 386S Network Protocol Security
  6. CS 382M Advanced Computer Architecture


  1. CS 386D Database Systems (This course takes the place of courses CS 386 and CS 387H which will no longer be taught. Students who have taken these courses may still apply them toward their degree; however they cannot also get credit for CS 386D).
  2. CS 383C Numerical Anaylsis: Linear Algebra; CS 383D Numerical Analysis: Interpolation, Approximation, Quadrature,and Differential Equations
  3. 384G Computer Graphics; CS 384R* Geometric Modeling & Visualization; CS 384P Physical Simulation*
  4. 391L Machine Learning; CS 394N Neural Networks; CS 394R* Reinforcement Learning: Theory and Practice; C S 391D* Data Mining: A Mathematical Perspective
  5. CS 388* Natural Language Processing; CS 393R* Autonomous Robots; *CS 381V Visual Recognition
  6. CS 381K Artificial Intelligence; CS 393C* Agent-Based Electronic Commerce; CS 394F Knowledge Representation & Reasoning
  7. CS 394P Automatic Programming; CS 392F* Automated Software Design (formerly Feature Oriented Programming)
  8. CS 394C Algorithms for Computational Biology (Originally named Computational Biology)

*These courses were originally taught as topic courses (CS 395T). Students should be aware that they will not receive dual credit for retaking the course under the new course number.


Students satisfy this requirement by taking at least 3 graduate courses related to their particular research interests. At most one of these courses may be outside the Computer Sciences Department; they are usually chosen from the CS department's list of graduate classes. No course used to satisfy the minor requirement for the Master's may be used. Courses listed as Diversity courses may be used as part of a depth program as long as they were not also used in the student's Diversity program. No CS 395 (conference) or CS 398T course may be included in a Research Qualification (RQ) document. All courses used to satisfy this requirement must be completed with a grade of B or better. A grade point average of 3.6 over all depth courses must be attained.

Research Preparation Exam

The Research Preparation Exam requires students to learn and demonstrate specific skills necessary to do research early in their careers.  Please send the title, date, time, place, short abstract, and committee members for your RPE to when you have scheduled it.  The CS faculty and students will be notified.

For this exam, the student (in consultation with faculty) selects and conducts research on a topic, and presents a talk, to be approved by a committee of 3 UT GSC faculty members. The chair of the RPE committee should be a CS GSC member and one of the committee members should be from outside the student's research area. The committee will evaluate the student with respect to two questions:

  • Has the student demonstrated scholarship and potential to conduct original research?
  • Has the student demonstrated ability to communicate technical content effectively to a general-CS audience?

A student should pass the exam by the end of their 3rd year in the PhD program (before filing the Research Qualification document). It is not necessary to complete all coursework before doing the RPE. Following the RPE, an email should be sent by the chair of the committee to the graduate adviser and the CS graduate program coordinator with a copy to all committee members indicating the student successfully completed the RPE requirement.

Research Qualification (RQ) Document

The RQ document may be downloaded from the Forms Bank.  In the RQ document, the student:

  • provides evidence of satisfying the background requirements
  • submits coursework (5 Diversity courses completed and 3 Depth courses, some of which may remain to be taken) with satisfaction of the GPA requirements
  • provides evidence of completing the Research Preparation Exam
  • formalizes dissertation advisor(s)

The RQ document must be filed by the end of the 3rd year in the PhD program.

Dissertation Proposal and Advancing to Candidacy

Each student must prepare a written dissertation proposal and then give an oral public presentation of the proposal. This will normally happen soon after the RQ document is filed.  Please see advancing to candidacy for more information on this requirement.

Dissertation Final Defense

Each student writes a dissertation that describes original research and submits it to the members of the dissertation committee. There are many resources available to assist in writing a dissertation. Please see final defense to read the steps for the defense.

Additional Requirements

A minimum grade point average of 3.0 must be maintained over all CS graduate courses. All course requirements must be completed within a six-year period. There is a two-semester requirement for Ph.D. Candidacy. The first semester requires enrollment in _99R and the second semester requires enrollment in _99W. A student may enroll in a summer session as part of the 2 semester enrollment requirement.

The Requirements of the Graduate School

The Graduate School imposes a set of requirements on all graduate students, which must be met by all CS graduate students. These requirements deal with such issues as grades, courses taken in residence, transfer credit, and time limits.  If you are unsure about a requirement please speak with the CS graduate office.

Earlier Doctoral Program

Doctoral students who first enrolled prior to January 2006 may choose to graduate under the new rules above or under the earlier program. See the former Ph.D. program for a description of the earlier Ph.D. program.

Parallel Masters Study

Ph.D. students may also pursue the M.S.C.S. degree as long as it does not interfere with their pursuit of the doctorate. The course requirements for an M.S.C.S., other than the background courses and two additional courses for a minor, are a subset of those for the Ph.D. Students must obtain approval of the graduate adviser and their research supervisor before taking a minor course. Send an email to the graduate adviser with a scholarly justification of the reasons leading to choosing the minor course(s). The student's research supervisor should send an email to the graduate adviser and copy the CS program coordinator indicating approval of the minor course(s) choice.