Computer Science (Ph.D.)

Candidates must fulfill the requirements of the College of Graduate Studies and the Department of Computer Science.  See the College of Graduate Studies section for the general requirements applicable to each degree. No 300-level course that is required in the B.S.C.S. curriculum may be used to satisfy the requirements of the graduate degree.

A graduate degree in computer science from UI prepares a student for a lifetime of discovery. It enables the graduate to advance the state of the art in computing, not merely to keep up with it. The graduate program develops the student's critical thinking, investigatory, and expository skills. The student will learn the foundations of computer science theory and application, and the interaction between the two. By understanding the extent and limitation of current knowledge in computer science, the graduate will learn to understand what issues are important and why. He or she will acquire the methodological skills to resolve important open problems and tackle challenging new projects. The student will learn to present problems and solutions, both orally and in writing. For examples of active research areas please visit the department’s website

The study of computer science at the graduate level requires mathematical maturity, skill in the use of high-level and machine-level programming languages, and basic knowledge of computer hardware. Admission to this program is highly competitive. An undergraduate degree in Computer Science is not a requirement. Students with a bachelor’s degree from other closely allied undergraduate programs will be considered. Students who wish to enter the graduate program must ultimately demonstrate competence in specific areas equivalent to the material covered in several of the undergraduate computer science core courses. We expect at least a 3.0 undergraduate GPA, but take into account other student achievements. International students for whom English is a second language must have a TOEFL score of 550 or higher for the written test, 213 or higher for the computer based test, or 79 or higher for the internet-based test.

As a prerequisite to graduate program admission, competence in the following areas must be demonstrated: knowledge of a structured, high-level language; algorithms and data structures; and a full year of calculus.

If prerequisite requirements are met, a student who does not have an adequate coursework background in computer science may be admitted with deficiencies. He or she must then demonstrate knowledge of this material early on in their graduate studies by either taking the GRE Computer Science Subject Test and receiving a score in the 60th percentile or higher or by completing those courses in which he or she is deficient. Deficiency areas for graduate work in computer science are: computer organization and architecture; computer languages; computer operating systems; software engineering; analysis of algorithms; and theory of computation. Credit for deficiency courses cannot be counted toward the total credits required for the graduate degree.

Doctor of Philosophy. Major in Computer Science.

The PhD degree represents a continuation in the mastery of the theory underlying computer science. A doctoral student develops a graduate program of at least 78 semester hours in consultation with his or her major professor and supervisory committee. The PhD graduate candidate must successfully complete the CS graduate breadth requirement. As a part of the program the student is required to include at least two semesters of CS 501 (graduate seminar). The student must have at least one full semester of teaching experience, with the teaching assignment determined by the student's supervisory committee. There is no foreign language requirement. The student must satisfy the residency requirement by spending at least two terms at the Moscow campus or a UI Residence Center. The purpose of the residency requirement is to provide the student with access to facilities, faculty, and colleagues.

The qualifying examination is a written and/or oral examination, administered by the student's graduate committee, which covers fundamental areas of computer science. The preliminary examination is an examination of a student’s proposed dissertation research, including both a written proposal and an oral public presentation covering related research, preliminary results, and a research plan. The student must produce a dissertation, presenting an original, significant contribution to computer science. The dissertation should be publishable, in whole or in part, and should demonstrate the ability of the candidate to successfully initiate and pursue a significant, original research project. A public presentation and defense of the final dissertation is required. It is expected that all PhD students will publish the results of their research before completion of their degree.