Shaped by coursework, teaching, and research.
The Computer Science Ph.D. program balances broad technical knowledge with focused research expertise. Students enjoy research flexibility while meeting essential requirements set by both the Field of Computer Science and Cornell Graduate School to maintain academic standards.
Planning your curriculum.
Program structure and requirements.
Our Ph.D. program combines broad computing expertise with deep specialization. While offering flexibility in your research journey, the program includes key requirements from both the Field of Computer Science and Cornell Graduate School to ensure academic excellence:
View the Computer Science Ph.D. Handbook
- Form a special committee by 3rd semester.
- In residence for at least six (6) semesters, four (4) if MS degree at enrollment with petition..
- Complete two (2) minors, one external to computer science, one internal.
- Take A before 7th Semester
- Time to degree 14 semesters
- Complete competency requirement.
- Complete breadth requirement.
- Take CS 6006 first semester.
- Complete project requirement.
- TA for at least two semesters.
Field Exceptions
We recognize that the Field requirements as stated above may not be universally appropriate, especially in nontraditional areas such as computational biology that may require significant coursework outside of computer science. In such exceptional cases, students are encouraged to formulate an alternative course of study in consultation with the special committee and to present a proposal to the Field for approval..
Building on core foundations.
The Field believes that knowledge of computer science at the undergraduate level is an indispensable foundation for doctoral study in computer science. Ph.D. candidates are expected to demonstrate competency at the high undergraduate level in four (4) areas of computer science: Artificial Intelligence; Programming Languages; Systems; and Theory. This requirement can be discharged in one of the following ways:
- by demonstrating competency through one's prior coursework; generally means with a grade of B+ or higher for graduate courses, A- or higher for 5xxx courses
- by taking a course for grade credit (acceptable courses are listed below, subject to change);
- by taking the prelim and/or final exam in one of these courses, if permitted by the instructor.
Students who have earned a bachelor's or master's degree in computer science are automatically deemed to have satisfied the competency requirement in all four (4) areas.
Students with no prior degree in computer science may still be exempted from one or more of the four competency requirements based on their prior coursework. Requests for such exemptions are to be accompanied by documentation concerning the relevant prior coursework (course website, detailed syllabus, list of assignments when possible) and will be judged on a case-by-case basis by the DGS in consultation with the faculty on the CS Advisory Committee.
Each area is required to offer students at least one of option 2 or 3. Whichever method is chosen, the requirement must be fulfilled with acceptable performance, as judged by the Field. For option 1, acceptable generally means with a grade of B+ or higher for graduate courses, A- or higher for 5xxx courses.
The acceptable courses to take under Option 2:
- Artificial Intelligence: CS 4700/5700, CS 4780/5780
- Programming Languages: CS 4110/5110, CS 4120/5120, CS 6110 or CS 6120
- Systems: CS 4410/5410, CS 6410, or 6412
- Theory: CS 4820/5820 or CS 6820
This requirement must be fulfilled by the time of the A Exam.
Expanding expertise.
Ph.D. students must take at least five (5) 5000/6000-level courses for grade credit. Note that only certain 5000 level courses count. These courses must cover at least three (3) different computer science areas and all three computer science research styles.
The requirement is designed to expose students to both the research problems and techniques of different research areas, as well as the different value systems and validation methods used across computer science research styles.
Most courses used to fulfill the competency requirement may also count towards the breadth requirement. However, courses at the 7000-level do not count, nor do courses from other Fields (see "Exceptions” below).
- Algorithms and theory of computation, including algorithms, complexity theory, cryptography, logical and type-theoretic foundations of computer science.
- Artificial intelligence, including robotics, computer vision, natural language processing, information organization and retrieval, and machine learning.
- Systems, including concurrency, parallel computing, networks, distributed computing, and data management.
- Programming languages and methodology, including applied logic, automated reasoning, and compilers.
- Scientific computing and applications, including graphics and computational biology.
- Theoretical. The theoretical research style is characterized by constructing formal models of computation that are validated primarily by mathematical proof.
- Systems. The systems research style focuses on how to improve computing platforms by making them faster, more reliable, more secure, etc. Validation is primarily empirical or experiential.
- Applied. The applied research style develops new methods for using computers to solve problems of interest. Validation is achieved primarily by demonstrating empirically that these methods are effective for the problem.
Students are required to take five 5000/6000-level courses across three research areas and all research styles, as shown above. A grade of B or better is required.
Research Styles | ||||
| Theoretical | Systems | Applied | ||
| Algorithms/ Theory | 58xx\{5820, 5830,5850}, 68xx\{6828} | |||
| AI | 5486, 6752, 6783, 6789, 6828 | 5775 (CT), 6751 |
5382, 5434, 5540, 5670 (CT), 5724, 5740 (CT), CS 5757, 5780, 5781 (CT), 5785, 5788 (CT), 6125, 6360, 6382, 6384 (CT), 6670, 67xx\{6751, 6752, 6783, 6789} | |
| Research Areas | Systems | 6432 |
5300, 5412, 5414, 5420, 5430, 5432, 632x, 6386, 641x, 6431, 6450, 6453, 6455, 6458, 6465, 6466, 6480 | 5435, 6434 |
|
PL |
611x, 6180, 6182 |
5114, 5120, 6120, 6114, 6156 | 5154, 6158, 6172 |
Sci. Comp. & Apps | 5220 |
5625, CS 5630 5643, 62xx, 65xx, 66xx\{6670} | ||
Pursuing two minors.
The minor requirement is mandated by the Graduate School, not by the Field of Computer Science. All Ph.D. students must have two minors. For computer science Ph.D. students, the Field requires one of these to be external to computer science and one to be internal.
The external minor must be in a field other than computer science. The minor requirements are up to the minor field. Related fields such as Operations Research, Applied Mathematics, Cognitive Science or Electrical and Computer Engineering are common choices. However, any minor field is acceptable.
When you choose your minor field, you must also choose an area of concentration in that field, and have an advisor who is a field member of that field. The external minor advisor serves on your special committee and will work with you in setting your minor requirements. Typically, this involves knowledge of 3-4 graduate courses in the field, but expectations can vary depending upon the Field. It is recommended to explore the Field’s requirements prior to declaring a minor.
There are no additional requirements for the internal minor, other than the minor area of concentration must differ from the major area of concentration.
Forming your special committee.
Before the start of your fourth semester, you must form a special committee. The special committee consists of a chair and two or more minor members.
The chair of your special committee represents your major area of concentration and is normally your thesis advisor. The chair can be any member of the Field of Computer Science. The computer science concentration is only for graduate students in other fields who wish to minor in computer science. It may not be specified as either a major or minor area of concentration for Ph.D. students in CS. The two minor members of your special committee represent your minor subjects.
When selecting your committee members, you must also specify the areas of concentration they represent. These areas must be officially recognized by the Graduate School and correspond to the committee member's Field. The Field of Computer Science has five official areas of concentration, listed here along with their associated subareas:
Systems
- operating systems
- fault tolerance
- distributed systems
- database systems
- digital libraries
- machine architecture
- networks
- parallel computing
- Security
Theory of Computation
- algorithms
- complexity theory
- Cryptography
Artificial Intelligence
- robotics
- human-computer interaction
- information retrieval
- natural language processing
- computer vision
- machine learning
- knowledge representation and reasoning
Programming Languages and Logics
- programming methodology
- programming environments
- program logic and verification
- automated reasoning
- compilers
- type theory and program analysis
- programming language design
Scientific Computing and Applications
- computer graphics
- computational biology and bioinformatics
- scientific computing
Members:
Your committee needs to have at least three (3) members:
- a chair, the main person advising your research
- a second CS field member who is not in the immediate area of your advisor.
- a member of a field other than CS, representing an outside minor.
Example:
An example of how your committee should look in Student Center if you choose the minimum of three members:
- Faculty Member - Role - Concentration/Plan
- Faculty A - chairman - Systems
- Faculty B - Minor - Artificial Intelligence
- Faculty C - Minor - Applied Math
*Optional
- Faculty D - co-chair - Systems
- Faculty D - Minor - Systems
If your co-advisor is not in the same concentration as your chair, you do not need a computer science minor member. Per the Cornell Graduate School this will satisfy your committee requirements (advisor, co-chair outside minor)
From the Code of Legislation: “A co-chair has the same rights, responsibilities, and obligations as a single special committee chair; both co-chairs must fulfill all chair requirements. Doctoral committees with two co-chairs require only one additional minor member.”
*Please do not use the plan "Computer Science", you must use the concentration/plan in which your member represents such as Artificial Intelligence, Systems, etc.
It is advisable to have more than one faculty from the same area on your committee. While this will lead to having more than three (3) member committees, additional committee members are an extra source of advice, and likely an extra source of recommendations.
Committees can be changed any number of times later — all you need is a signature from everyone on your committee stating that they are OK with the change. Although it becomes a bit more difficult to change your committee after your A Exam.
You may also have members of your committee who are not field members. You need to have three (3) who are field members, so a non-field member would be a fourth . You may want to add a Cornell researcher, who is not a field member, or even someone not from Cornell (if you are working with someone long distance). This is called an ad-hoc committee member. Please reach out to Becky Stewart for instructions on how to add an ad hoc member, if you decide you would like to do this.
The A Exam
The A exam (Admission to Candidacy Exam) is an oral exam. It tests computer science knowledge and thesis expertise. It is a final test of your preparedness for undertaking thesis research. The student and committee agree on a topic of research---it could be broad or narrow. Typically, the topic will align closely with the research interests of the student. The exact format of the exam is up to the special committee.
In one format, the student and advisor agree on some set of (typically 3-5) important papers in the subject. The student synthesizes the contents of those papers and writes a survey (length to be decided by the special committee) that must be submitted to the committee at least one week before the A-exam. The survey should include a discussion of open research problems in the area. Doing PhD research will—at some point—require an understanding of the background literature. So, time spent on this will be an investment in the PhD research and in writing a thesis.
Another format is possible if the student is already further along with their research before the A-exam deadline and will typically have written papers on the subject already. The student can give a talk including progress already made, as well as a proposal for further research. The special committee may or may not require a written proposal or survey in this format, although the presentation should contextualize the current work.
In either path, the student must prepare to give an oral presentation at the exam, usually using a slide set. While the student is expected to work independently, the student is allowed to ask the advisor and/or committee specific technical questions throughout the A-exam preparation. The advisor or committee should not be helping the student to do the synthesis, proofread the written materials, or prepare the presentation. That is, the advisor or committee does not see dry-runs and does not edit prose.
The A-Exam typically lasts two hours and includes both a public and private component. The goals are for the special committee to determine whether the student shows the ability to generalize and organize, whether the student is able to identify interesting open research questions, and whether the student has adequate presentation skills (including the organization and delivery).
In the first hour (approximately), the student presents their prepared work, which may include a written statement, a research plan, and early research results. During and directly after the presentation, the audience as well as the special committee members can ask questions. Only the student can answer those questions and decide how much time to allocate to them.
The remaining time of the exam is not public and may only be attended by the student, members of the special committee, and, optionally, members of the graduate field of computer science. It is split into three parts. In the first part, the committee can ask additional questions. For example, the committee may ask specific questions about the presentation or the related work. In the second part, the committee discusses the student’s performance at the exam. In the third part, the committee discusses the outcome with the student.
To discuss the A-exam, it is useful to follow this rubric (excellent, satisfactory, needs work, unsatisfactory):
- Ability to synthesize, doing critical analysis, discuss broader implications
- Demonstrate capability for independent thinking and research
- Presentation quality (incl. organization, time management, English proficiency)
- If applicable, survey quality (incl. well-written, sound knowledge of the literature)
The student can pass, conditionally pass, or fail the A-exam. A student who fails the exam is no longer in good standing and can be invited to retake it again within three months. If invited to retake the A-exam again, the student may work more closely with the advisor to obtain an improved organization and presentation. A conditional pass typically involves additional work to be done on the written survey, to be completed within a month and to be approved by the special committee afterwards.
Students normally aim to take the A Exam in their third year of graduate study. Students are required to have completed the competency requirement and to have at least two units of residency prior to the A Exam.
In addition, students must attempt the A Exam before beginning their seventh semester of study. Although students have normally made substantial progress towards completing the breadth requirement before taking their A Exam, it is not necessary to have completed this requirement prior to the A Exam. (Note that your minor advisor may require you to have taken some courses in your minor before your A Exam; you should check with them.)
The B Exam
The B exam is your thesis defense and discussion with the committee. It is strongly recommended that a draft of your thesis be provided to your committee three to four weeks prior to the B Exam (discuss with your committee the preferred timeline) In most cases, it should require only minor editing after the exam. However, during the B Exam, the committee may ask for revisions, in which case it is possible that the student will pass the B Exam but not yet have full approval of the thesis itself. The Ph.D. degree is awarded after you have passed the B Exam and filed an approved dissertation with the University, and completed all the other requirements above.
The University requires a minimum of two units of residency between the A Exam and the B Exam. Most students complete their B Exam within four to six years after starting their Ph.D.
Research in the field
Ph.D. students are required to satisfy the project requirement by writing a significant piece of software.
Coursework:
One way to satisfy the project requirement is by taking a course with a significant coding component and having the instructor for the course certify that the project satisfied the project requirement. The student is typically expected to get a grade of B- or better in the course.
Independent Research:
The project requirement may also be fulfilled through projects outside of classes— for example, through independent research, your thesis research, or as part of a summer job. In such cases, the Chair of your special committee needs to certify that you satisfied the project requirement.
*Note external projects require a deliverable or artifact that can be inspected by your chair of your special committee.
The Teaching Requirement
Ph.D. Students must serve as a teaching assistant for at least two semesters
Ph.D. students must serve as a teaching assistant for at least two semesters or teach a course for at least one semester. Contact with students is valuable both as preparation for a possible academic career and for the experience in communicating ideas to groups, which is important in any setting, academic or otherwise.
Succeeding in the graduate environment.
All first-year Ph.D. students are required to enroll in CS 6006, an onboarding course,during their first fall semester at Cornell.
This practical course teaches vital non-academic skills for Ph.D. success, including: wellness strategies; research planning; funding applications; and professional development. Students will gain a comprehensive understanding of computer science doctorate programs and develop confidence in managing their graduate school experience.
Cornell Tech
Computer Science is one department operating on two campuses - Ithaca and Cornell Tech in New York City. The computer science Ph.D. at Cornell Tech is the same program in Ithaca. Any CS field member can advise CS Ph.D. students.
Explore Cornell TechExplore Cornell Tech
Students interested in pursuing their research at the Cornell Tech campus are expected to spend their first year of graduate studies on the Ithaca Campus. During their first year, PhD students are strongly encouraged to complete their competency requirements in AI, PL, Systems and Theory as well as initiating research with faculty. Students who choose an advisor at Cornell Tech generally relocate to New York City. Students at Cornell Tech can engage with Ithaca faculty on their committees and are welcome to spend time in Ithaca as appropriate for their research.
Students should consider carefully their minor subject area as limited minor courses are available at Cornell Tech. Suggested minors are: Information Science, Applied Math, Electrical and Computer Engineering, Operations Research and Information Engineering.
First year PhD students in the Field of Computer Science may petition to waive the default first-year Ithaca residency requirement; allowing a student to start the PhD program located in NYC to start research with a Cornell Tech CS field member. You may petition this requirement by using this form. You will need the approval of a faculty member located on the Cornell Tech campus and the DGS. Please submit the completed form to Becky Stewart.
If Ph.D. students wish to move to Cornell Tech, they must complete the following:
- Must have advisor at Cornell Tech
- Approval from Cornell Tech Advisor to move to NYC
- Satisfactory progress on competency requirements
- Inform rss7 [at] cornell.edu (CS Graduate Office) and jk886 [at] cornell.edu (Cornell Tech) of your intention to move to the Tech campus. Suggested timeline is early during summmer. Please also include the date of your intended move.
- Once you have informed Cornell Tech of your arrival date, you will receive further technical details with regard to your move from Student & Academic Affairs (access to the Tech Campus Building, computer, space, etc). studentaffairs [at] tech.cornell.edu
- Please be sure to remove all personal belongings from your graduate office on the Ithaca campus.
- The laptop that you were issued when you arrived to the Ithaca campus will move with you to the Tech Campus.
Please see: Cornell Tech PhD Student Campus Policy
For housing: https://thehouseatcornelltech.com/


Ph.D. in Robotics
Cornell’s Ph.D. in Robotics is offered through four graduate school fields — Aerospace Engineering, Computer Science, Electrical and Computer Engineering, and Mechanical Engineering — and prepares students for interdisciplinary, cutting-edge research while emphasizing ethical considerations, stakeholder engagement, and the broader societal impact of their work.
Field of Computer Science Robotics Program PhD Students need to complete the following requirements: TA Requirement (2 semesters); Take CS 6006, Succeeding in the Graduate Environment. Students will also need to complete an outside minor in Computer Science.
Outreach Programs
Our program has been engaged in outreach and building solid partnerships with local teachers and schools. Outreach activities fall into three broad categories: Teacher Development, Opportunities for Grades K-12 Students, and Promoting Mathematics Awareness.
The Graduate Student School Outreach Program (GRASSHOPR) pairs Cornell graduate students with teachers in Tompkins county and Geneva to teach 3- to 5-session mini-courses on topics related to the graduate student's field or interests.
A one-day conference for 7th–9th grade girls. The 7th & 8th grade girls each participate in three workshops organized by Cornell students and faculty, while 9th grade girls participate in two extended workshops. The goals of the conference are to stimulate the participants’ interest in math and science through these hands-on activities, to provide them with woman scientist role models, and to foster awareness of opportunities in math and science-related careers.
Contact:%20eyh [at] cornell.edu (eyh[at]cornell[dot]edu)
Affiliation: Cornell University
Splash is a very open style of learning, designed to let students explore anything that they are passionate about. If you’re passionate about math and science, we have courses on gravitational waves and complex analysis! Perhaps, you’re more interested in the humanities, and want to learn about ancient history and creative writing.
Contact:%20splashcornell [at] gmail.com (splashcornell[at]gmail[dot]com)
Affiliation: Cornell University
Code Red Student completes 4 hours of individual community service every month. This can amount to about 2,500 collective hours of community service per year. Students work at local soup kitchens, the Ithaca Children's Garden, or even fixing Ithaca City School District computers.c
Contact:%20ikrywe [at] icsd.k12.ny.us (Ian Krywe )or outreach [at] team639.org
Affiliation: Ithaca City School District
HYPE is a High School FIRST Robotics team in Trumansburg NY, which brings STEM and Robotics to a small rural school that has limited engineering and computer science curriculum. As a part of the program, we build a 120 pound robot for competition (build season Jan-Mar; competition season Mar-Apr). In the off-season, we work on enhancing skills including CAD, coding, building mechanisms, CNC, 3D printing, teamwork and leadership.
Contact:%20roy [at] trumansburgrobotics.org (Roy Westwater)
Affiliation: FIRST Robotics / Trumansburg High School
REACT (Research Education and Activities for Community Teachers) brings teachers to campus to meet graduate students, see what kind of research is really going on, and learn about activities they can bring back to their own classrooms.
Contact: %20react [at] cornell.edu (react[at]cornell[dot]edu)
Affiliation: Cornell University
Curricular Practical Training (CPT)
Computer Science Ph.D. students are encouraged to pursue industry internships involving large-scale programming projects.
Industry internships involving large-scale programming projects help make the student's dissertation more relevant and offer the opportunity to bring ideas from industry into our research program.
- Typically students participate in part-time internships during either the Fall or Spring semester while also supported on a TA, GRA for fellowship. The part-time internship can only be an additional five (5) hours per week on top of the TA, GRA, and 8 hours for Fellowships. Please confirm with your fellowship that it allows for a part-time internship.
Full-time CPT can be taken during Fall, Spring, or Summer for 40 hours a week. Students must register LOA for the Fall or Spring semester while on CPT.
International students wishing to partake in an internship during a semester (Fall, Spring, or Summer) will need to apply for Curricular Practical Training (CPT).
The International Services Office of Global Learning has moved their CPT Forms Online. Below the process for applying for CPT.
- Discuss your offer of an internship with your advisor to get their approval.
- Obtain an offer letter for your CPT.
- Enter your request for CPT online. Link found here: https://international.globallearning.cornell.edu/employment-and-taxes/f-1-cpt
- If your internship will be remote, please note on the form the address in which you will be working from.
- Please enter Becky Stewart’s name and email (rss7 [at] cornell.edu) as advisor information so that Becky can finalize the process with supporting documentation.
Travel Resources
Eligible students are encouraged to apply for funding to travel to Cornell Tech, professional conferences and research travel. Key resources:
The Field of Computer Science and the Graduate School provide the following funding opportunities to enhance your research.