The Department of Computer Science is a research-oriented department with a distinguished history of contributions in systems, theory, artificial intelligence, and HCI. Over the past decade, a third of its PhD graduates have won tenure-track faculty positions, and its alumni include leaders at major research laboratories such as Google, Microsoft, and IBM.
Applicants with an undergraduate degree are admitted directly into the PhD program. Students receive an MS degree during their second year, and typically complete their PhD in a total of four to five years.
The program includes an option for a student to earn a joint PhD in computer science and another department.
During their first two years, students take courses in all areas of computer science, and complete the qualification requirements for one research area, in order to ensure technical depth.
A Dissertation Advisory Committee is formed during the first term of the third year. Students are required to submit and defend a thesis proposal during the second term of their third year. The committee conducts a formal review of the student's progress every six months. The final step is to write and defend a PhD thesis.
For application and financial support information see the apply to Rochester page.
The department believes that practical experience in industrial settings is crucial to motivating, guiding, and advancing research in computer science.
Many PhD students spend one or two summers interning at an industrial research laboratory. In recent years our students have interned at Google, Microsoft Research, Intel Research, Cadence, Nuance, and other leading research centers.
Internships can be found by responding to calls for interns distributed in the department, using faculty advisors' networks of personal contacts, and through the University's Career and Internship Center.
Both department support and research internships should be reported in your fall PAS materials.
PhD Program Requirements
The PhD students are required to complete:
- Six breadth courses
- CSC 400: Problem Seminar
- All of the qualifying requirements for one of the following areas:
- PhD thesis proposal
Breadth courses are divided into three groups as follows:
AI and HCI
CSC 446: Machine Learning (Required)
- CSC 412: Human-Computer Interaction
- CSC 444: Logical Foundations of Artificial Intelligence
- CSC 447: Natural Language Processing
- CSC 448: Statistical Speech and Language Processing
- CSC 449: Machine Vision
CSC 456: Operating Systems (Required)
- CSC 453: Dynamic Languages and Software Design
- CSC 454: Programming Language Design and Implementation
- CSC 455: Software Analysis and Improvement
- CSC 457: Computer Networks
- CSC 458: Parallel and Distributed Systems
- ECE 401: Advanced Computer Architecture
CSC 484: Advanced Algorithms (Required)
CSC 486: Computational Complexity (Required)
These breadth courses must be taken in the first or second year of graduate study. At least one course in each group must be taken in the first year. Students have the flexibility to complete all of the breadth requirements during their first year, or take fewer courses in order to allow time for research.
PhD students are expected to earn a B or better in all breadth courses. Students who have already taken a course that is equivalent to a breadth courses may petition to substitute an advanced course in the same area.
Some students may be required to take undergraduate courses so that they have the necessary foundational knowledge to complete the breadth courses. This modified course schedule should be created with your advisor and requires faculty approval.
In addition to the breadth requirements, PhD students will qualify for a research area. All research areas require writing and defending an area paper during the second year of graduate study.
A master’s degree is offered to those PhD-program students passing the area paper with an appropriate level of performance or, in special cases, passing an alternative comprehensive examination given by two or more faculty members appointed by the chair.
Area specific requirements are as follows:
AI Dissertation and Exam
The student should form a committee of three or more AI faculty members before the area paper is due, and schedule a time and date for the exam so that all committee members can attend.
The paper should include a survey of a research topic and initial original research.
The defense begins with the student providing a 20 minute overview of the area paper, followed by an hour of intensive questioning by faculty members.
Questions from faculty members will include:
- General questions about AI
- Questions covering content learned in AI breadth courses taken by the student
- Questions about the area paper
Students are responsible for preparing themselves these questions.
AI Course Requirements
By the end of the fourth year, the student must complete at least two of the following:
- CSC courses numbered 400 or higher that are in AI or HCI
- BCS 505: Perception and Motor Systems
- BCS 512: Computational Methods in Cognitive Science
The area paper may be a survey of a research topic, original research, or a combination of both.
Following a public presentation of the paper, the student will answer questions from the committee about the paper and about any topic in HCI that is broadly relevant to the research topic.
HCI Course Requirements
By the end of the fourth year, the student must complete three additional courses as follows:
- At least one in experimental design and analysis
- STT 422: Design of Experiments
- BCS 510: General Linear Approaches to Data Analysis I
- CSP 519: Data Analysis: General Linear Applications
- Two of the following:
- CSC courses numbered above 400
- BCS 505: Perception and Motor Systems
- BCS 511: Behavioral Methods
- One additional experimental design and analysis course
Systems Dissertation and Defense
The area paper should be original MS level research and a survey of related research topics.
Following a public presentation of the paper, the student will answer questions from the committee about the area paper and the papers listed in the systems area reading list, which includes subjects in:
- Computer architecture
- Programming languages and systems
- Operating systems
- Parallel and distributed systems
Systems Course Requirements
By the end of the fourth year, the student must complete at least two more courses numbered 400 or higher that are in systems areas.
Theory Dissertation and Defense
The area paper and defense process is organized as follows:
- The student submits an area paper reflecting research ability.
- Approximately two weeks before oral exam, the student is given a set of “take home” papers.
- Approximately three hours before the oral exam, the student is given a written set of “morning questions.”
- The area defense consists of a two hour oral exam, covering the area paper, take home paper, morning questions, and other area-related questions.
Theory Course Requirements
By the end of the fourth year, the student must complete one additional course:
- CSC 487: Advanced Modes of Computation
A more detailed written description of the logistics of this process is available from the graduate coordinator or any theory faculty member.
See PhD Thesis Proposal.