Ph.D. in Computer Science (Pre-2023)

Overview

(The program on this page is only valid for students admitted to the Ph.D. in Computer Science program before Spring 2023. For the current curriculum, please click here.)

The Ph.D. in Computer Science is a research degree where the student completes a major research project that enhances the field of Computer Science.

Admission Requirements

Admission to this program requires a Bachelors degree in computer science or a closely related field. Applicants with a bachelors degree in an unrelated field will be considered provided they have completed course work covering the material in CSC 211, 212, 301, 305, 340 and MTH 141, 142, plus one MTH or STA course for which calculus is a prerequisite. Students may be admitted who have completed only a part of the above course work but they will be required to complete the deficiencies before taking more advanced classes.

GRE tests are no longer required for admission in our Computer Science programs.

Qualifying Examination

  • The qualifying examination will consist of written exams, with the purpose of testing the student’s knowledge of core areas of Computer Science (Currently the qualifying examination requirements cover the material of CSC 301. 411, 412, 440, and 445. These requirements are checked at the time of admission.);
  • a waiver could be granted to a student from taking an exam in one of the areas where the student can demonstrate competence in that area;
  • waivers could be granted at the time of admission.

Curriculum

Ph.D. Program Requirements

Students must complete 54 credits of course work beyond the bachelor’s degree in addition to 18 credits for the doctoral dissertation. A student entering the program with an M.S. degree in computer science or a related area may be granted up to 30 credits toward the Ph.D. in computer science.

Course Groups

For the purpose of describing degree requirements, Computer Science courses are organized into the following groups:   

Mathematical Foundations

  • CSC 541 – Advanced Topics in Algorithms (4cr)
  • CSC 542 – Mathematical Analysis of Algorithms (4cr)
  • CSC 544 – Theory of Computation (4cr)
  • CSC 550 – Computer Algebra (4cr)

Programming Languages

  • CSC 402 – Compiler Design (4cr)
  • CSC 501 – Programming Language Semantics (4cr)
  • CSC 502 – Theory of Compilers (4cr)

Architecture and Systems

  • CSC 511 – Advanced Computer Organization (4cr)
  • CSC 512 – Topics in Distributed Systems (4cr)
  • CSC 519 – Computer Networks (4cr)

Students must complete two courses from mathematical foundations, one course from programming languages, two courses from architecture and systems, plus three more approved CSC courses or equivalents. Other courses must be selected in order to meet the 54-credit minimum and will be selected in consultation with the student’s advisor or major professor.

Comprehensive Examination

Students must take a comprehensive examination, which is composed of a written examination and an oral examination.

The written examination, which will be held at least once a year, covers the three core areas: Mathematical Foundations, Programming Languages, and Architecture and Systems. Success in the written examination is conditional upon obtaining passing grades in all areas and is a prerequisite for taking the oral examination. Typically, a student would be expected to take the comprehensive examination within two years after joining the program.

The objective of the oral examination is for the student to present an intended research program and demonstrate satisfactory knowledge and understanding of the scientific literature of the corresponding research domain. A candidate whose comprehensive exam performance is deemed as failing by the Computer Science Graduate Committee may, with the recommendation of the committee and the approval of the Graduate School, be permitted one re-examination, to be taken no sooner than four months and no later than one year after the initial examination.