Ph.D. in Computer Science
The Ph.D. in Computer Science offers the opportunity to conduct practical research in a broad range of fields relating to:
- Formal methods for system design, hardware, and robotics
- Foundations: Theory of computing, algorithms, and applied logic
- High-performance computing
- Graphics and visualization
- Programming languages and compilers
- Artificial intelligence and cognitive science
- Distributed and parallel systems
- Database and information systems
- Computer networks and security
Download the computer science section (PDF) of the University Graduate School Academic Bulletin for more information about the following requirements.
A total of 90 credit hours of graduate-level course work is required. No computer science courses in the A500-A999 range may be counted toward the 90 credit hour requirement or toward the 24 credit hours of required computer science courses.
Most of the Computer Science Program’s courses at the 500 level and above are classified into these areas:
- Foundations (middle digit 0 or 1, e.g., B501, B502, B503, B510)
- Programming Languages (middle digit 2, e.g., B521, B522, P523, B524)
- Systems (middle digit 3 or 4, e.g., P536, B538, B541, P542, B543)
- Applications (middle digit 5, 6, 7 or 8, e.g., B551, B552, B553, B561, P565-566, P573, B581, B582)
General courses not associated with a specific area are numbered with a middle digit 9. Courses that involve a major programming project are designated as “programming-in-the-large,” and carry a course number with letter designation P.
Required Computer Science Courses (24 cr.)
Ph.D. candidates must take at least 24 credit hours—normally eight courses—in computer science at the 500 level or above, subject to the following conditions:
- P Requirement:
At least one must be a P course, with a substantial programming or software-development component.
- Essentials Requirement:
Of the eight courses, there must be at least one course in Foundations/Logic (indicated by middle digit 0/1) and one course in Software/Hardware Systems (indicated by middle digit 3/4). Both these courses must be passed with a minimum grade of B+.
- Area Distribution Requirements:
Of the eight courses, there must be at least one course each in six of the nine areas (indicated by the middle digit 0-8 in advanced Computer Science courses).
- Research Course Conditions:
CSCI Y790 Graduate Independent Study is excluded from these six area courses, and cannot fulfill the P requirement, but up to 6 hours of CSCI Y790 may be counted towards the 24 credit-hour requirement. Y890 and G901 are excluded from the 24 credit hours in this requirement.
A grade average of B (3.0) is required for computer science courses, in addition to the University Graduate School’s requirement of a B (3.0) average for all courses taken.
Theory, Methodology, and Electives (36–42 cr.)
Specific course work, including research-oriented independent study, will be determined by the student’s advisory committee.
Dissertation Work (21–30 cr.)
Ph.D. candidates are expected to pass a qualifying examination, normally by the first semester of your third year in the program. If failed, the exam may be retaken once, by the end of your third year.
The examination is expected to have a written and an oral component and to demonstrate (1) in-depth knowledge of the student’s specialization, (2) knowledge of some other area of computer science, (3) academic writing competence, and (4) the ability to defend a position in an oral setting.
The format of the examination will be determined by your advisory committee, but will follow these requirements:
You and your committee agree on a set of three topic areas, including two within your area of specialization, which must be approved by the director of Ph.D. studies.
You will be examined on each topic through either a conventional written exam or a paper that answers a specific question within the topic.
The examination must include at least one written paper; if two or more papers are written, they should reflect different methodological approaches to the content area (mathematical analysis, simulation, programs, experiments, etc.).
You have three months to prepare for the exam, normally during the summer following your second year in the program. You may consult previous works related to the topics but may not discuss them with other colleagues or your advisory committee.
For a conventional written exam, each committee member writes 1-2 questions, and you have two days, four hours per day, to answer them, using any resources you wish to bring to the exam room.
Within three weeks of the written exam, you will meet with your committee to orally defend your answers and respond to follow-up questions.
If the committee finds your written and oral answers satisfactory, you pass. You may also be required to provide further written elaboration to one or more questions before passing.
For topics examined via written paper, you will be required to meet with your committee to defend your paper orally, normally within a week of its submission. This defense is open to School of Informatics and Computing faculty as observers, but the decision to pass lies solely with your committee.
- Following an oral defense of a written paper, you may be asked to rewrite the paper and possibly meet with the committee again for a second oral defense.
All students are required to have an appropriate minor inside or outside the school. Minors will be selected with the advisor’s recommendation. Some of the courses included in the minor may also count towards the student’s methodology or other requirements.