## ##   * Overview
  * Program Requirements 
  * Plan of Study
  * Advanced Entry Program Requirements
The PhD in Computer Science is designed to prepare students for careers in
academia, industrial and national research labs, and technical leadership in
industry and government. The rigorous curriculum provides a broad background
in the fundamentals of computer science, advanced courses in a wide range of
focus areas, and opportunity to make an impact at the forefront of computing.
The program provides training in conducting research, publishing and
presenting papers, developing systems, and establishing science and technology
policy.
## Coursework
A minimum of 48 semester hours of coursework beyond the BS/BA degree is
required of all students.
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 grade-point average of 3.500 among the six
core courses 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 computer
science curriculum 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 a Master of Science in Computer Science may petition
to the PhD computer science curriculum 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 their 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 Khoury College of Computer Sciences. Similarly, these fields do not
represent the only areas in which a student may write their dissertation. They
are, however, intended to serve as a basis for performing fundamental research
in computer science.
## Paper Requirement
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. A submitted paper from a student is
considered to have fulfilled the paper requirement if:
  1. The paper has been accepted by 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 computer science curriculum committee has voted on a positive recommendation. The committee may require a presentation from the student before making a recommendation.
## Admission to Candidacy
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 their second year but
no later than the third year.
## Residency
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.
## Teaching Requirement
All computer science PhD students must satisfy the teaching requirement in
order to graduate. This requirement is fulfilled when the student works as a
teaching assistant or instructor of record for one semester and during this
semester:
  * Teaches at least three hours of classes
  * Prepares at least one assignment, or quiz, or equivalent
PhD students are expected to satisfy the teaching requirement some time after
completing their first year and at least one semester prior to scheduling
their PhD defense.
## Comprehensive Examination/Dissertation Proposal
After the student has achieved sufficient depth in a field of study, they
prepare a proposal for the PhD dissertation. This process should take place no
later than the end of the fifth year in residence. The student prepares a
dissertation proposal, which describes the proposed research, including the
relevant background materials from the literature. The proposal should clearly
specify the research problems to be attacked, the techniques to be used, and a
schedule of milestones toward completion.
The dissertation proposal must be approved by the dissertation committee. With
the help of the advisor, a student selects the committee, consisting of at
least four members, to be approved by the PhD computer science curriculum
committee. The four members must include the advisor, two internal members,
and an external member.
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 dissertation committee. The student may take the dissertation proposal
examination twice, at most.
## Doctoral Dissertation
Upon successful completion of solving the research proposed in the
dissertation proposal, the candidate has an opportunity to prepare the
dissertation for approval by the dissertation 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
With the help of the advisor, a student selects the committee, consisting of
at least four members, to be approved by the PhD computer science curriculum
committee. The four members must include the advisor, two internal members,
and an external member.
## Dissertation Defense
The dissertation defense is held in accordance with the regulations of the
University Graduate Curriculum Committee. It consists of a lecture given by
the candidate on the subject matter of the dissertation. This is followed by
questions from the dissertation committee and others in attendance concerning
the results of the dissertation as well as any related matters. The defense 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.
* * *
  * Concentrations and course offerings may vary by campus and/or by program modality. Please consult with your advisor or admissions coach for the course availability each term at your campus or within your program modality.
  * Certain options within the program may be  _required_ at certain campuses or for certain program modalities. Please consult with your advisor or admissions coach for requirements at your campus or for your program modality. 
* * *
Complete all courses and requirements listed below unless otherwise indicated.
## Milestones
Coursework  
Paper requirement  
Admission to candidacy  
Residency  
Teaching requirement  
Comprehensive examination/dissertation proposal  
Doctoral dissertation  
Doctoral committee  
Dissertation defense
## Course Area Requirements
A grade of B or higher is required in each course. A cumulative 3.500 GPA is
required for the core requirement.
Students should refer to the course numbering table for[ graduate course
leveling](/graduate/academic-policies-procedures/records-transcripts/).
Course List Code | Title | Hours  
---|---|---  
Complete a total of six courses. Courses must cover at least four of the five
areas, and a maximum of two courses may be at the 5000 level.| 24  
At least two courses must be 7000-level seminar courses.|  
At least two courses must be 7000-level nonseminar courses.|  
Artificial Intelligence and Data Science|  
_Seminar Courses_|  
[CS 7170](/search/?P=CS%207170 "CS 7170")| Seminar in Artificial Intelligence|  
_Nonseminar Courses_|  
[CS 7140](/search/?P=CS%207140 "CS 7140")| Advanced Machine Learning|  
[CS 7150](/search/?P=CS%207150 "CS 7150")| Deep Learning|  
[CS 7180](/search/?P=CS%207180 "CS 7180")| Special Topics in Artificial
Intelligence|  
[CS 7200](/search/?P=CS%207200 "CS 7200")| Statistical Methods for Computer
Science|  
[CS 7240](/search/?P=CS%207240 "CS 7240")| Principles of Scalable Data
Management: Theory, Algorithms, and Database Systems|  
[CS 7280](/search/?P=CS%207280 "CS 7280")| Special Topics in Database
Management|  
[CS 7290](/search/?P=CS%207290 "CS 7290")| Special Topics in Data Science|  
[CS 7380](/search/?P=CS%207380 "CS 7380")| Special Topics in Graphics/Image
Processing|  
_Other Courses_|  
[CS 5100](/search/?P=CS%205100 "CS 5100")| Foundations of Artificial
Intelligence|  
[CS 5150](/search/?P=CS%205150 "CS 5150")| Game Artificial Intelligence|  
[CS 5170](/search/?P=CS%205170 "CS 5170")| Artificial Intelligence for Human-
Computer Interaction|  
[CS 5180](/search/?P=CS%205180 "CS 5180")| Reinforcement Learning and
Sequential Decision Making|  
[CS 5200](/search/?P=CS%205200 "CS 5200")| Database Management Systems|  
[CS 5330](/search/?P=CS%205330 "CS 5330")| Pattern Recognition and Computer
Vision|  
[CS 5335](/search/?P=CS%205335 "CS 5335")| Robotic Science and Systems|  
[CS 5850](/search/?P=CS%205850 "CS 5850")| Building Game Engines|  
[CS 6120](/search/?P=CS%206120 "CS 6120")| Natural Language Processing|  
[CS 6140](/search/?P=CS%206140 "CS 6140")| Machine Learning|  
[CS 6200](/search/?P=CS%206200 "CS 6200")| Information Retrieval|  
[CS 6220](/search/?P=CS%206220 "CS 6220")| Data Mining Techniques|  
[CS 6240](/search/?P=CS%206240 "CS 6240")| Large-Scale Parallel Data
Processing|  
[DS 5110](/search/?P=DS%205110 "DS 5110")| Introduction to Data Management and
Processing|  
[DS 5220](/search/?P=DS%205220 "DS 5220")| Supervised Machine Learning and
Learning Theory|  
[DS 5230](/search/?P=DS%205230 "DS 5230")| Unsupervised Machine Learning and
Data Mining|  
Human-Computer Interaction|  
Seminar Courses|  
[CS 7375](/search/?P=CS%207375 "CS 7375")| Seminar in Human-Computer
Interaction|  
_Nonseminar Courses_|  
[CS 7250](/search/?P=CS%207250 "CS 7250")| Information Visualization: Theory
and Applications|  
[CS 7260](/search/?P=CS%207260 "CS 7260")| Visualization for Network Science|  
[CS 7295](/search/?P=CS%207295 "CS 7295")| Special Topics in Data
Visualization|  
[CS 7300](/search/?P=CS%207300 "CS 7300")| Empirical Research Methods for
Human Computer Interaction|  
[CS 7340](/search/?P=CS%207340 "CS 7340")| Theory and Methods in Human
Computer Interaction|  
[CS 7390](/search/?P=CS%207390 "CS 7390")| Special Topics in Human-Centered
Computing|  
_Other Courses_|  
[CS 5097](/search/?P=CS%205097 "CS 5097")| Mixed Reality|  
[CS 5170](/search/?P=CS%205170 "CS 5170")| Artificial Intelligence for Human-
Computer Interaction|  
[CS 5340](/search/?P=CS%205340 "CS 5340")| Computer/Human Interaction|  
[CS 6350](/search/?P=CS%206350 "CS 6350")| Empirical Research Methods|  
Software|  
_Seminar Courses_|  
[CS 7470](/search/?P=CS%207470 "CS 7470")| Seminar in Programming Languages|  
[CS 7575](/search/?P=CS%207575 "CS 7575")| Seminar in Software Engineering|  
_Nonseminar Courses_|  
[CS 7430](/search/?P=CS%207430 "CS 7430")| Formal Specification, Verification,
and Synthesis|  
[CS 7480](/search/?P=CS%207480 "CS 7480")| Special Topics in Programming
Language|  
[CS 7485](/search/?P=CS%207485 "CS 7485")| Special Topics in Formal Methods|  
[CS 7580](/search/?P=CS%207580 "CS 7580")| Special Topics in Software
Engineering|  
_Other Courses_|  
[CS 5310](/search/?P=CS%205310 "CS 5310")| Computer Graphics|  
[CS 5400](/search/?P=CS%205400 "CS 5400")| Principles of Programming Language|  
[CS 5500](/search/?P=CS%205500 "CS 5500")| Foundations of Software
Engineering|  
[CS 5520](/search/?P=CS%205520 "CS 5520")| Mobile Application Development|  
[CS 5610](/search/?P=CS%205610 "CS 5610")| Web Development|  
[CS 6410](/search/?P=CS%206410 "CS 6410")| Compilers|  
[CS 6510](/search/?P=CS%206510 "CS 6510")| Advanced Software Development|  
Systems and Security|  
_Seminar Courses_|  
[CS 7270](/search/?P=CS%207270 "CS 7270")| Seminar in Database Systems|  
[CS 7670](/search/?P=CS%207670 "CS 7670")| Seminar in Computer Systems|  
[CS 7770](/search/?P=CS%207770 "CS 7770")| Seminar in Computer Networks|  
[CS 7775](/search/?P=CS%207775 "CS 7775")| Seminar in Computer Security|  
_Nonseminar Courses_|  
[CS 7600](/search/?P=CS%207600 "CS 7600")| Intensive Computer Systems|  
[CS 7610](/search/?P=CS%207610 "CS 7610")| Foundations of Distributed Systems|  
[CS 7680](/search/?P=CS%207680 "CS 7680")| Special Topics in Computer Systems|  
[CY 7790](/search/?P=CY%207790 "CY 7790")| Special Topics in Security and
Privacy|  
_Other Courses_|  
[CS 5600](/search/?P=CS%205600 "CS 5600")| Computer Systems|  
[CS 5700](/search/?P=CS%205700 "CS 5700")| Fundamentals of Computer
Networking|  
[CS 6620](/search/?P=CS%206620 "CS 6620")| Fundamentals of Cloud Computing|  
[CS 6650](/search/?P=CS%206650 "CS 6650")| Building Scalable Distributed
Systems|  
[CS 6710](/search/?P=CS%206710 "CS 6710")| Wireless Network|  
[CS 6760](/search/?P=CS%206760 "CS 6760")| Privacy, Security, and Usability|  
[CY 5130](/search/?P=CY%205130 "CY 5130")| Computer System Security|  
[CY 5150](/search/?P=CY%205150 "CY 5150")| Network Security Practices|  
[CY 5770](/search/?P=CY%205770 "CY 5770")| Software Vulnerabilities and
Security|  
[CY 6740](/search/?P=CY%206740 "CY 6740")| Network Security|  
Theory|  
_Seminar Courses_|  
[CS 7870](/search/?P=CS%207870 "CS 7870")| Seminar in Theoretical Computer
Science|  
_NonSeminar Courses_|  
[CS 7800](/search/?P=CS%207800 "CS 7800")| Advanced Algorithms|  
[CS 7805](/search/?P=CS%207805 "CS 7805")| Complexity Theory|  
[CS 7810](/search/?P=CS%207810 "CS 7810")| Foundations of Cryptography|  
[CS 7840](/search/?P=CS%207840 "CS 7840")| Foundations and Applications of
Information Theory|  
[CS 7880](/search/?P=CS%207880 "CS 7880")| Special Topics in Theoretical
Computer Science|  
_Other Courses_|  
[CS 5800](/search/?P=CS%205800 "CS 5800")| Algorithms|  
[CY 5120](/search/?P=CY%205120 "CY 5120")| Applied Cryptography|  
## Electives
Course List Code | Title | Hours  
---|---|---  
Complete 24 semester hours in the following:| 24  
Note: Consult faculty advisor for the other acceptable courses.|  
[CS 5100](/search/?P=CS%205100 "CS 5100") to [CS 5850](/search/?P=CS%205850
"CS 5850"), except [CS 5340](/search/?P=CS%205340 "CS 5340")|  
CS 6110 to CS 6810|  
[CS 7340](/search/?P=CS%207340 "CS 7340")| Theory and Methods in Human
Computer Interaction|  
[CS 7930](/search/?P=CS%207930 "CS 7930")| Effective Scientific Writing in
Computer Science|  
[CS 8982](/search/?P=CS%208982 "CS 8982")| Readings|  
## Dissertation
Course List Code | Title | Hours  
---|---|---  
Upon achieving PhD candidacy, complete the following courses for two
consecutive semesters:|  
[CS 9990](/search/?P=CS%209990 "CS 9990")| Dissertation Term 1|  
[CS 9991](/search/?P=CS%209991 "CS 9991")| Dissertation Term 2|  
For remaining semester(s), complete the following (repeatable) course until graduation: |   
[CS 9996](/search/?P=CS%209996 "CS 9996")| Dissertation Continuation|  
## Program Credit/GPA Requirements
48 total semester hours required  
Minimum overall 3.000 GPA required
## Sample Plan of Study
Year 1  
---  
Fall| Hours| Spring| Hours  
Area course| 4| Area course| 4  
Readings| 4| Readings| 4  
| 8|  | 8  
Year 2  
Fall| Hours| Spring| Hours  
Area course| 4| Area course| 4  
Readings| 4| Readings| 4  
| 8|  | 8  
Year 3  
Fall| Hours| Spring| Hours  
Area course| 4| Area course| 4  
Readings| 4| Readings| 4  
| 8|  | 8  
Year 4  
Fall| Hours| Spring| Hours  
[CS 9990](/search/?P=CS%209990 "CS 9990")| 0| [CS 9991](/search/?P=CS%209991
"CS 9991")| 0  
| 0|  | 0  
Year 5  
Fall| Hours| Spring| Hours  
[CS 9996](/search/?P=CS%209996 "CS 9996")| | [CS 9996](/search/?P=CS%209996 "CS 9996")|   
| 0|  | 0  
Year 6  
Fall| Hours| Spring| Hours  
[CS 9996](/search/?P=CS%209996 "CS 9996")| | [CS 9996](/search/?P=CS%209996 "CS 9996")|   
| 0|  | 0  
Total Hours: 48  
* * *
  * Concentrations and course offerings may vary by campus and/or by program modality. Please consult with your advisor or admissions coach for the course availability each term at your campus or within your program modality.
  * Certain options within the program may be  _required_ at certain campuses or for certain program modalities. Please consult with your advisor or admissions coach for requirements at your campus or for your program modality. 
* * *
## Coursework
Incoming PhD in Computer Science students who have already completed a Master
of Science in Computer Science or an adjacent field may petition to the PhD in
Computer Science program administration for advanced entry. Advanced entry
petitions are reviewed by the program administration on a case-by-case basis.
Please note that advanced standing does not waive by itself any part of the
PhD coursework requirements.
As a degree conferral requirement, a minimum of 16 semester hours of
coursework beyond the 32 semester hours of the master’s degree is required of
advanced entry PhD students (48 semester hours is required of standard entry
PhD students). Students must maintain a minimum GPA of 3.500 as well as earn a
grade of B or better in each course.
## Paper Requirement
Refer to the [Computer Science, PhD, overview](/graduate/computer-information-
science/computer-science/computer-science-phd/#text), for research/survey
paper requirements.
## Admission to Candidacy
Refer to the [Computer Science, PhD, overview,](/graduate/computer-
information-science/computer-science/computer-science-phd/#text) for admission
to candidacy requirements.
## Residency
Refer to the [Computer Science, PhD, overview,](/graduate/computer-
information-science/computer-science/computer-science-phd/#text) for residency
requirements.
## Teaching Requirement
Refer to the [Computer Science, PhD, overview,](/graduate/computer-
information-science/computer-science/computer-science-phd/#text) for the
teaching requirement.
## Comprehensive Examination/Dissertation Proposal
Refer to the [Computer Science, PhD, overview,](/graduate/computer-
information-science/computer-science/computer-science-phd/#text) for
comprehensive examination requirements.
* * *
Complete all courses and requirements listed below unless otherwise indicated.
## Milestones
Annual review  
Course requirements  
Paper requirement  
Comprehensive exam  
Teaching requirement  
Doctoral candidacy  
Dissertation committee  
Dissertation proposal  
Dissertation defense
## Core Requirements
Students must maintain a minimum GPA of 3.500 as well as earn a grade of B or
better in each course.
Course List Code | Title | Hours  
---|---|---  
Consult your faculty advisor for acceptable courses.| 16  
## Dissertation
Course List Code | Title | Hours  
---|---|---  
Upon achieving PhD candidacy, complete the following courses for two
consecutive semesters:|  
[CS 9990](/search/?P=CS%209990 "CS 9990")| Dissertation Term 1|  
[CS 9991](/search/?P=CS%209991 "CS 9991")| Dissertation Term 2|  
For remaining semester(s), complete the following (repeatable) course until graduation: |   
[CS 9996](/search/?P=CS%209996 "CS 9996")| Dissertation Continuation|  
## Program Credit/GPA Requirements
16 total semester hours required  
Minimum overall 3.500 GPA required