Computer Science, PhD

Academic Requirements for PhD in Computer Science

A minimum of 48 semester hours of course work beyond the BS/BA degree is required of all students.

Admission to Candidacy

All students must demonstrate sufficient knowledge in the fundamentals of computer science, as well as the ability to carry out research in an area of computer science.

The student must maintain a minimum GPA of 3.500 among the six core courses satisfying the above course requirements and receive a grade of B or better in each of these courses. Students who have taken equivalent courses in other institutions may petition to be exempted from the course(s) (subject to the approval of the PhD committee). Each student may repeat a course once for no more than three out of the six courses if they do not receive a B or better in the course. Students with an MS in Computer Science may petition to the PhD committee for an exemption from these courses. Petition forms are available on the college website.

The fields listed do not necessarily represent areas of specialization or separate tracks within the PhD program. Rather, they attempt to delineate areas on which the student must be examined in order to measure his or her ability to complete the degree. Therefore, they may be adjusted in the future to reflect changes in the discipline of computer science and in faculty interests within the College of Computer and Information Science. Similarly, these fields do not represent the only areas in which a student may write his or her dissertation. They are, however, intended to serve as a basis for performing fundamental research in computer science.

Research/Survey Paper

To demonstrate research ability, the student is required to submit to the PhD committee a research or a survey paper in an area of specialty under the supervision of a faculty advisor. Normally, the length of the paper should not exceed fifteen pages. A submitted paper from a student is considered to have fulfilled the paper requirement if:

  1. The paper has been submitted to a selective conference.
  2. The student has made a substantial contribution to the paper.
  3. The advisor has endorsed the paper with a written statement indicating the student’s contribution.
  4. The PhD committee has voted on a positive recommendation.

Upon completion of the course and the research paper requirements, the student is admitted to candidacy for the PhD degree. It is highly recommended that the student complete the candidacy requirement by the end of his or her second year but no later than the third year.


One year of continuous full-time study is required after admission to the PhD candidacy. It is expected that during this period the student will make substantial progress in preparing for the comprehensive examination.

Comprehensive Examination

The examination is taken after the student has achieved sufficient depth in a field of study in order to prepare a prospectus for the PhD dissertation. This process should take place no later than the end of the fifth year in residence. Prior to taking the comprehensive examination, the student prepares a thesis proposal for the examination, which describes the proposed research, including the relevant background materials from the literature. The thesis proposal should clearly specify the research problems to be attacked, the techniques to be used, and a schedule of milestones toward completion. Normally, the thesis proposal should not exceed fifteen pages, excluding appendices and bibliography.

The thesis proposal must be approved by the comprehensive committee. It is strongly recommended that the same members should serve on both the comprehensive and thesis committees. With the help of the advisor, a student selects the comprehensive committee, consisting of four members to be approved by the PhD committee. The four members must include the advisor, two other faculty members from the college, and an external examiner (optional for comprehensive committee).

To help the PhD committee to make an informed decision, a copy of the external examiner’s resumé should be submitted at the same time. Upon approval of the written proposal, the student has to present the proposed work orally in a public forum, followed by a closed-door oral examination from the comprehensive committee. The student may take the comprehensive examination twice, at most.

Doctoral Dissertation

Upon successful completion of solving the research proposed in the thesis proposal, the candidate has an opportunity to prepare the dissertation for approval by the doctoral committee. The dissertation must contain results of extensive research and make an original contribution to the field of computer science. The work should give evidence of the candidate’s ability to carry out independent research. It is expected that the dissertation should be of sufficient quality to merit publication in a reputable journal in computer science.

Doctoral Committee

If the thesis committee is the same as the comprehensive committee, no further approval is needed. If the thesis committee is changed in its composition, the approval process will follow that of the comprehensive committee.

Dissertation Defense

The dissertation defense is held in accordance with the regulations of the University Graduate Council. It consists of a lecture given by the candidate on the subject matter of the dissertation. This is followed by questions from the doctoral committee and others in attendance concerning the results of the dissertation as well as any related matters. The examination is chaired by the PhD advisor.

Time and Time Limitation

After the establishment of degree candidacy, a maximum of five years will be allowed for the completion of the degree requirements, unless an extension is granted by the college graduate committee.

Complete all courses and requirements listed below unless otherwise indicated.


Qualifying examination and area examination
Annual review
Dissertation proposal
Dissertation committee
Dissertation defense

General Requirements

CS 7400Intensive Principles of Programming Languages4
CS 7600Intensive Computer Systems4
CS 7800Advanced Algorithms4
CS 7805Theory of Computation4
Specialization Courses
Note: Please see specialization section below for full list of approved courses.
Complete 8 semester hours from the following:8
Open Electives
Note: Consult faculty advisor for the other acceptable courses.
Complete 24 semester hours from the following:24


Upon achieving PhD candidacy, complete the following two (repeatable) courses for two consecutive semesters:
CS 9990Dissertation2-4
CS 8982Readings1-8
For remaining semester(s), please complete:
CS 9996Dissertation Continuation0


 Complete 8 semester hours from the following:

Artificial Intelligence
Foundations of Artificial Intelligence
Robotic Science and Systems
Knowledge-Based Systems
Natural Language Processing
Machine Learning
Advanced Machine Learning
Seminar in Artificial Intelligence
Special Topics in Artificial Intelligence
Computer-Human Interface
Computer/Human Interaction
Applied Geometric Representation and Computation
Empirical Research Methods
Advanced Machine Learning
Data Science
Database Management Systems
Machine Learning
Information Retrieval
Data Mining Techniques
Parallel Data Processing in MapReduce
Seminar in Database Systems
Special Topics in Database Management
Computer Graphics
Digital Image Processing
Pattern Recognition and Computer Vision
Mobile Application Development
Computational Imaging
Seminar in Graphics/Image Processing
Special Topics in Graphics/Image Processing
Information Security
Software Vulnerabilities and Security
Foundations of Formal Methods and Software Analysis
Network Security
Cryptography and Communications Security
Privacy, Security, and Usability
Special Topics in Software Engineering
Fundamentals of Computer Networking
Social Computing
Wireless Network
Network Security
Cryptography and Communications Security
Privacy, Security, and Usability
Seminar in Computer Networks
Seminar in Computer Security
Special Topics in Networks
Programming Languages
Principles of Programming Language
Semantics of Programming Language
Advanced Software Development
Software Development
Seminar in Programming Languages
Special Topics in Programming Language
Seminar in Software Development
Software Engineering
Web Development
Advanced Software Development
Methods of Software Development
Analysis of Software Artifacts
Engineering Reliable Software
Foundations of Formal Methods and Software Analysis
Seminar in Software Engineering
Special Topics in Software Engineering
Computer Architecture
High Performance Computing
Parallel Computing
Network Security
Seminar in Computer Systems
Special Topics in Computer Systems
Parallel Computing
Cryptography and Communications Security
Application of Information Theory
Distributed Algorithms
Theory of Computation
Seminar in Theoretical Computer Science
Special Topics in Theories of Computer Science
Game Design
Game Artificial Intelligence
Computer Graphics
Computer/Human Interaction
Building Game Engines
Advanced Machine Learning

Program Credit/GPA Requirements

48 total semester hours required
Students must maintain a minimum GPA of 3.500 among the four core courses and two area electives as well as earn a grade of B or better in each of these courses. 

Minimum overall 3.000 GPA required

Sample Curriculum 

Year 1
CS 74004CS 76004
Elective (specialization)4Elective (specialization)4
 8 8
Year 2
CS 78004CS 78054
 8 8
Year 3
CS 99904CS 99904
CS 89824CS 89824
 8 8
Year 4
CS 99960CS 99960
 0 0
Year 5
CS 99960CS 99960
 0 0
Year 6
CS 99960CS 99960
 0 0
Total Hours: 48