Requirements for the Ph.D. in Computer Science
The Graduate Field of
Computer Science seeks to produce well-rounded researchers who have demonstrated
depth through their doctoral research and breadth through coursework in a
variety of topics. Although the program is designed to be flexible, the field
nonetheless adheres to the philosophy that certain areas are so fundamental to
Computer Science that all students should demonstrate competence in them.
This document describes the
area proficiency requirement, graduate course requirements, and other
requirements for the Ph.D. in Computer Science. The last page of the document is
a copy of the checklist that we use to track your progress; it includes tables
listing the specific courses that satisfy requirements described below.
The field expects that most
students will complete the area proficiency requirement within two years and the
graduate course requirements within three years. Students are strongly
encouraged to affiliate with a research group as early as possible and to begin
research even before satisfying the various requirements.
Area Proficiency Requirement
Students in the CS Ph.D.
program must demonstrate competence in the following areas: theory, languages,
systems, scientific computing, and artificial intelligence. Most students
satisfy this requirement within 18 months. The requirement in each area is
satisfied by taking an exam or by taking courses. Courses may be employed in at
most two of the five areas.
Some areas designate the
final of a single 400-level course as the proficiency exam, in which case the
exam is taken with the students in that course, on the designated day of the
final. The areas that offer a separate qualifying exam do so once each year, in
January, during the week prior to the start of the semester. The syllabus for
each exam includes references to texts that can be used to prepare for that
To satisfy an area
proficiency requirement using coursework, the student must take a set of
400-level courses designated by the area and receive a grade of B+ or better in
each. The courses are listed on the "student progress checklist" (page
4). The checklist also includes a table of acceptable substitutions, specifying
permitted substitutions in cases where a student has previously taken one of the
Graduate Course Requirement
Cornell graduate students
are expected to take a minimum of six 600-level graduate courses for letter
grades early in their program of studies. If desired, a single 500-level course
can be substituted for one of the 600-level courses. These courses need not all
be in Computer Science, and they may include courses that are being counted
toward a graduate "minor" field, as described below.
A studentís program must
include one graduate-level course in each of the following areas: theory,
programming languages, and systems. Each area has developed a list of courses
that can be used to satisfy this requirement; this list is included as part of
the "student progress checklist" on page 4. Typically, students take
two or three courses at a time in their first year or two at Cornell, mostly at
the 600 level, but also at the 400, 500 and 700 level. For this reason, many
students will take more than six CS graduate courses, thus exceeding the minimum
You also are required to do
a significant CS project. One way to satisfy this project requirement is either
by taking a course with a significant project component for a grade (B- or
better). For example, the projects in the courses CS 632, CS 513, CS524, CS 519,
CS 664 satisfy the requirement. You can also satisfy this requirement by
projects outside of classes, for example, by doing an independent project as
part of your research, or part of a summer job. To use such an independent
project you need a CS field member to certify that your project satisfied the
Students are encouraged to
identify a special committee chair early in their studies, and most students
should have their entire committee appointed within their first 18 months at
Cornell. The full committee needs to be formed by the first 24 months at Cornell.
A full committee will consist of the faculty research advisor (chair), who can
be any Computer Science field member, and two or more additional faculty
members. One of the additional members should be a computer science field
member who is not directly in the studentís main research area; another one of
the additional members is the minor field advisor (see below).
Students normally aim to
take the A exam, thereby being "admitted into candidacy", in their
third year of graduate studies. The University mandates a minimum residency
prior to taking the A exam (2 units of residency credit), and they must attempt
the exam before the beginning of their 7th semester of study. A
residency unit is equivalent to 1 semester of full-time study. In addition, the
University mandates a minimum of 2 units of residency credit between the A exam
and the B exam.
The A exam is oral. During
the A exam the student needs to demonstrate his/her understanding of the chosen
general area of research. Depending on the special committee, the student may be
asked to prepare a short written thesis proposal and/or to do a presentation
about his/her proposed area of research this to the special committee. The
committee will then pose questions both on the proposal itself and on any other
topic they believe to be appropriate.
Students are required to
pass the Q-exam (Area Proficiency Requirement) prior to taking the A exam. Normally,
a student will have made substantial progress on the graduate coursework
requirement prior to taking this exam and most students will have also completed
their minor prior to doing so. However, there is no restriction on taking
additional courses for grades after the A exam, and the special committee may
allow a student to take the A exam prior to finishing coursework requirements
provided that there is an acceptable plan for doing so.
The CS field requires that
each Ph.D. student have a minor in a field other than CS. Related fields such as
Operations Research, Mathematics, Cognitive Studies or Electrical Engineering
are common choices. However, any minor field is acceptable. The minor field
member on the special committee will work with you in setting the requirements
for the minor field. Typically, this involves knowledge of 3-4 graduate courses
in the field, but expectations can vary depending upon the field. Before
settling on a minor field, a student should find out about that fieldís
Most student engage in
research well before they are ready to take the A exam. Having passed the A
exam, the student will continue his/her program of research that ultimately
leads to writing a doctoral dissertation and defending it, in the B exam. The
dissertation should be written prior to taking this exam, and in most cases,
should require only minor editing after the exam. However, during a 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 dissertation itself.
The Ph.D. degree is awarded after the student has passed the B exam and filed an
approved dissertation with the University. Most students complete their studies
within four to six years after arrival at Cornell.
Students are strongly
encouraged to look for opportunities to publish their ideas and work. In Europe,
it is common to require that a candidate for the Ph.D. present some number of
published papers. Cornell has no explicit publication requirement. Nonetheless,
publications are the most important tool for communicating a good idea and for
demonstrating that the broader research community considers an idea to be
important and well developed. The feedback obtained from referee reports or a
conference presentation can be extremely helpful in appreciating the best way to
"sell" a research result. It is not uncommon for a graduate from the
program to have two or more publications before starting to interview for jobs.
Finally, although not a
requirement of the field, all students are also encouraged to serve as TAís at
least once in every four semesters, and/or to consider teaching a course during
the summer months. Contact with students is valuable both as preparation for a
possible academic career and also for experience in communicating ideas to
groups. The latter talent will be important in any setting, academic or
Annual Review of Progress
A Computer Science field
meeting is held annually, in January. At this time, the field examines the
progress of each student toward satisfying area proficiency and course
requirements, and also toward establishing a program of research expected to
lead to successful completion and defense of a doctoral thesis.
During this annual review,
the field sometimes identifies a student who has failed to make satisfactory
progress. Each case is considered separately and is handled in a manner
appropriate to the specific situation. If the field is convinced that the
problem is relatively minor, the student may be asked to take additional courses
or to serve as a TA to rectify the deficiency. In cases where a broader pattern
of unsatisfactory performance is found, the student may receive some form of
warning or, if the situation is sufficiently serious, be asked to withdraw from
Every policy needs to have
provisions for unanticipated special cases. In developing this policy, the field
has tried to anticipate many special cases and, through a separate
"frequently asked questions" document, developed standardized means
for dealing with them. In rare situations that fall outside of those covered by
the FAQ sheet, the normal procedure is as follows. The student will start by
discussing the matter with the chairman of the special committee or, if the
committee has not yet been established, with the director of graduate studies.
The committee chair and/or DGS will either resolve the matter or will bring it
to the attention of suitable members of the field.
for the PhD in Computer Science: Progress Summary
Semester when you entered
the Ph.D. Program: ___________________________
For each area, you are
required to either take a Q exam or a series of courses for grades of B+ or
better. Give the date you passed the exam or list the courses taken in
satisfaction of this requirement. You can use courses in lieu of exams in at
most two areas out of the five.
Courses taken in lieu of Q exam.
(CS 481 or CS682) and (CS482 or CS681)
CS314 and CS414 and CS432*
(CS411 or CS611) and (CS412 or CS612)
CS421 or CS621 or CS622
*Students who enter the program prior to January 2002 may take
CS632 in place of CS432.
**Students who enter the
program prior to January 2002 may take CS672 in place of CS472.
Graduate course and project requirements
We require that you take a total of six graduate courses (500 or 600 level) for a grade (B- or better), including at most one 500-level course. You also need to take one course from each of the lists of courses shown below in Theory, Languages and Systems. A single course can be used to satisfy both the area proficiency and graduate course requirements. As you take courses that satisfy this requirement, list them here. The courses that can be listed under "other" are not restricted to the field of CS. You also are required to do a significant CS project.
Courses satisfying the area proficiency requirement
Theory of Computation Analysis of Algorithms
CS681 or CS682
Programming Paradigms and Languages
CS611 or CS612
601 or 614 or 632*
*Students who enter the
program prior to January 2001 are not subject to the project requirement, and
may use the old course list to satisfy the systems course requirement that
included CS 514 or CS 519 or CS 617 or CS 631 or CS 664 in addition to the above
CS FIELD REQUIREMENTS FOR THE Ph.D.:
This document lists some of
the more common questions and answers concerning the computer science field
requirements for the Ph.D. degree in computer science. Although exceptions can
be made with the approval of the studentís graduate committee, the policy
document, together with this FAQ document, are intended to cover almost all
situations expected to arise commonly, and exceptions to cases covered here
would only be granted in genuinely unusual situations.
Ph.D. students will have extensive coursework in Computer Science prior to
arrival at Cornell; hence this situation is the norm, not the exception. The
field established the area proficiency exam to ensure that despite the varied
emphasis and coverage of undergraduate programs from which our students come,
the graduate program can assume a basic level of broad competence among the
students. Thus, it would be normal to take the Q exam in this case, and with
such a good background, it shouldnít be a difficult matter to pass it. Some
students may find that they need to take an undergraduate course to fill a gap,
but then they will pass the proficiency exam rather than taking the full set of
undergraduate courses for the area.
answer to this depends upon the specific course and area. Included as part of
the "student progress checklist" is a table of courses that are used
to demonstrate area proficiency and the field policy for people who have already
taken an equivalent course and wish to substitute a graduate-level course. As
you will see, in some cases this is not a problem, but in others the
graduate-level course is not considered an acceptable substitute.
an example, consider CS414 and the graduate courses that correspond to it, CS514
and CS614. CS414, an undergraduate operating systems course, spends a lot of
time on concurrency and techniques for protecting concurrent programs against
bugs caused by race conditions, unprotected shared variables, and reentrancy. It
delves deeply into memory management and virtual memory mechanisms and looks at
questions of protection, performance, and general O/S structure and
functionality. Although CS514 and CS614 are also systems courses, these tend to
specialize on only a few topics, and in fact the reason for the CS414 systems
area requirement is precisely so that courses like CS614 can assume that
students have a broad grounding. One could earn a high grade in CS614 without
ever needing to demonstrate a good understanding of concurrency, despite the
fact that such a weakness in oneís background would be a real problem in terms
of exploiting modern computing platforms. For these reasons, the systems area
does not consider CS614 to be an acceptable substitute for CS414 in
demonstrating area proficiency.
the other hand, there are areas for which the graduate versions of courses
extend the undergraduate versions that success in the graduate course makes it
clear that the student knows the undergraduate material. In such cases, the
graduate course can be substituted for the undergraduate one. An example is
CS682, which can be used to satisfy the same theory area requirement as CS481.
general, the policy of a given area is controlled by that area, and the faculty
member responsible for the proficiency exam in a given year is also the person
most knowledgeable about the areaís position on substitutions.
this is acceptable.
students enter Cornell with a good idea of what area they want to work in, and
those that enter without a sense of this still have areas of interest. By
reading recent research papers, the annual report and course descriptions, you
should pick courses taught by faculty members you might enjoy working with, in
areas for which you believe you have talent, good ideas, or interest. TAíing
for a faculty member with whom you may want to work is often a good idea,
especially if the course is in the general area of your interests and talents.
members are always available to talk to graduate students about potential
research topics in their area, and most students will talk to a few before
joining a research group. It is common for a faculty member to suggest working
with the student for a period of time, perhaps a semester, before considering
the relationship "official". Some students will approach a potential
advisor soon after arriving on campus, but others may take some time to shop
around. All students should try to identify an advisor by the end of their first
year at Cornell.
your interests change over time, or things just arenít working out, you or
your committee chair (advisor) may decide to reconstitute the committee. This
isnít considered a bad thing and wonít leave a blot on your record. All the
faculty members in the field have an interest in seeing our students do the best
and most innovative work they are capable of, and if this means changing
advisors or topics, so be it.
students who take an A exam will have satisfied the majority of their course
requirements, and many will have completed their minor (for some minor fields,
this is a requirement; read the rules published by the minor field that you
select!) If a student still has a small amount of coursework left to complete,
and has a plan for doing so, the special committee will often let you schedule
the A exam prior to the coursework being completed. It is expected that most
students will have finished all coursework requirements after three and one-half
years at Cornell.
minor requirement is not purely a CS invention: The University itself requires
that there be a member on each special committee "representing each of a
studentís minor field(s)". Many departments interpret this to be a
de-facto University requirement for a serious minor, and each field sets its own
requirements which the minor committee member is expected to enforce.
broadly, the minor requirement reflects a CS field philosophy, namely that our
students should demonstrate breadth of knowledge. The area proficiency
requirements relate to breadth within the CS area itself, but we want our
students to be scholars familiar with a world beyond their area in CS. The minor
requirement reflects that requirement.
CS field accepts any proposed minor, even one unrelated to the studentís
program of studies.
want you to get started on research without much delay. The exams focus on
undergraduate material basic to our program. When a student is admitted, we
confirm that their CS background is adequate, so it would be a surprise if a
student needed to take courses to satisfy many of the area requirements.
If an area covers more than one course, the Q exam would normally be made up and
administered specifically for the Q requirement, and offered in January.
DGS office maintains a file on each student which includes a checklist for the
various requirements. Each year, prior to the annual review of student progress
that occurs in January, the DGS office will update these checklists.
taken as part of some other degree program (an undergraduate or masterís level
degree) will not be counted towards the Ph.D. in Computer Science at Cornell.
Moreover, the field believes that Cornellís 600-level courses are an important
part of our program and that graduate courses taken at other institutions may
not be of comparable content or emphasis. Exceptions can be made for students
who transfer into the Cornell Ph.D. program from some other Ph.D. program and
who might experience a substantial delay if subjected to our area course
requirements. Such cases are uncommon and will be dealt with on an individual
basis by the DGS.
uncommon situation involves students who completed an undergraduate or
masterís degree program at Cornell prior to entering the Ph.D. program and who
may have taken some of our 600-level courses as part of their prior studies. In
such cases, the courses taken can be counted towards the graduate course
our students are asked to take six or more graduate courses, three of which will
often be courses in the minor field. This works out to fewer than one per
semester for an average student. Obviously, some courses will prove to be more
interesting or more directly relevant than others, but our hope is that many
students will discover new areas of interest by taking courses outside of a
narrow research focus. The theory, systems and languages requirements reflect
the fieldís consensus that the corresponding courses cover a core set of
concepts and material with which any computer scientist needs to be familiar and
comfortable, simply to be able to participate in normal dialog with other
computer scientists. We donít see this as a "penalty" being imposed
on people who work outside the core areas, but rather as a type of background
that one needs in order to interact with colleagues in a future professional
policies apply to students who are entering their first, second or third year as
of fall 1998. Students entering their fourth year or beyond in fall of 1998 are
not expected to take more than one course per semester (even if this means that
a student may complete a Ph.D. without satisfying the new course requirements),
and students in their final semester, who are writing a dissertation, need not
take any courses, again, even if this leaves the course requirements
any student who has already passed the qualifying exam need not be concerned
with the area proficiency requirements. We will continue to enforce any
"conditional pass" requirements that were imposed on students who
passed the Q exam conditional on taking some course. Students who have passed
part of the Q exam should complete the area proficiency requirements under the
conditions of the new policy.
you appoint a special committee, the committee can request that the DGS approve
an exception to the rules. (Prior to this, exceptions would be by approval of
the DGS). If the matter is not straightforward, the DGS may consult with the CS
field as a whole before approving the request. As noted earlier, exceptions are
intended to be just that: exceptional, uncommon solutions to unexpected
problems. Thus, requests of this sort will not routinely be granted.
the annual field review of the graduate students, the field meets to discuss the
progress of each student in the program. The DGS summarizes progress towards
requirements, presents a summary of courses taken and grades received and
indicates whether the student has taken (or scheduled) an A exam. For students
who have been at Cornell for a few semesters, the emphasis of the discussion is
on progress toward identifying a research topic and launching a research program
that will lead to a dissertation. Normally, the studentís current advisor will
briefly describe the status of their research. Faculty members who were
impressed by the student in a class will often bring this up. The emphasis of
the review is to put the studentís progress in a positive light.
is to understand how we can help the students in the field establish themselves
as researchers, publish their work, and graduate within the normal time period.
If a consensus emerges that a particular student may not be heading toward
successful completion of the degree program, the field will discuss appropriate
action, which would always depend upon the specific situation.