Doctoral Program Requirements

All PhD students are expected to be full-time on-campus during every fall and spring academic semester from initial enrollment until the dissertation has been distributed to their defense committee, except during leaves of absence approved by the university.  New PhD students are not funded as Teaching Assistants.  PhD students receive full funding (tuition and stipend) from either a Graduate Research Assistant (GRA) position provided via their research advisor, or an internal or external fellowship.  Students funded as GRAs are required to obtain approval from their advisor for any activities outside their advisor’s research beyond those required to fulfill the doctoral program requirements.   Students are often encouraged by their advisor to accept summer internships outside Columbia sometime during their progress through the doctoral program.   The policy on outside activities is here.  



Analysis of Algorithms is the core of Computer Science, which unites the many disparate sub-fields.  All doctoral students are expected to have completed an acceptable graduate or upper-level undergraduate lecture course in Analysis of Algorithms, with grade B+ or higher, prior to entering the program.  This does not count as one of the ten courses unless it meets all the requirements for imported electives.

However, students are sometimes admitted without a previous Analysis of Algorithms course, but then must complete CSOR W4231 at Columbia, with grade B+ or higher, by the end of their first year in the program.  CSOR W4231 is then treated as one of the ten required courses, so can satisfy either the Theory distribution requirement or serve as an elective (not both).

Further details about the prerequisite are posted here.  Further details about course requirements is posted here


A total of ten distinct courses are required.  All ten courses must be completed by the end of the fifth semester, at the pace of two courses per semester.   An undergraduate Analysis of Algorithms course that satisfies the prerequisite does not satisfy the breadth requirement, only graduate lecture courses can be counted towards the breadth requirement.  B+ (“PhD pass”) is the minimum acceptable grade for doctoral students in all courses.   

Further details about the breadth requirement is posted here.  Further details about course requirements is posted here


The minimum passing grade for doctoral students in courses and exams is B+.  A grade of B or lower is considered failure and does not count towards the course requirement.  The same course may be repeated until the minimum B+ grade is obtained or a different course substituted. The average grade across all courses applied to the course requirement must be A- or higher.  If a student has less than average A- across the ten courses, additional courses (beyond the baseline ten courses) must be completed until the student attains A- average.  

Further details about the minimum and average passing grades are posted here.  Further details about course requirements is posted here


Doctoral students must complete at least four graduate lecture courses from the approved distribution course lists, including at least one from each of Artificial Intelligence and Applications, Systems, and Theory areas, and the fourth from any of these three approved lists.

The currently approved distribution courses are as follows:

Area Approved Courses
AI & Applications All COMS 47xx courses except { COMS 4721 and COMS 4776 }
All COMS 416x and COMS 417x
CBMF 4761 
Systems All COMS 41xx courses except { COMS 4121, COMS 416x and COMS 417x }
All COMS 48xx courses
COMS 4444
CSEE 4119, CSEE 4823, CSEE 4824, CSEE 4840, CSEE 4868
EECS 4340 
Theory All COMS 42xx courses
CSOR 4231 (not CSOR 4246)

These approved lists consist entirely of regular 4000-level graduate lecture courses offered by the Computer Science department (in some cases jointly with other departments).  Regardless of course number, no courses named “xxx for Data Science” or labeled “Data Science only” are acceptable.  No 4995 topics courses, 5000-level or above courses, seminars, project courses, courses offered by other departments at Columbia besides Computer Science, or courses taken at other institutions may be applied to the distribution requirement.

Further details about course requirements is posted here


In addition to the four distribution courses, doctoral students must complete six elective graduate lecture courses approved by the student’s advisor.

Additional courses from the approved lists, beyond the four needed to satisfy the distribution requirement, may be taken as electives.  Any other 4000-level or 6000-level graduate lecture courses offered by the Computer Science Department (or offered by Computer Science jointly with other departments) may be taken as electives, including 4995 and 6998 topics courses.  Project-only courses, such as COMS W4901 or COMS E6901,  cannot be taken by doctoral students and are not acceptable as electives even when taken prior to enrolling in the doctoral program.

At most two of the six electives may be graduate lecture courses offered by other departments besides Computer Science.   In other words, at least four of the six electives must be Computer Science courses (possibly offered jointly with another department).  In most cases, both non-CS courses would be offered by another STEM department (e.g., Electrical Engineering, Statistics). Typically all six electives are Computer Science courses.

Further details about course requirements is posted here


A small number of courses offer “comps” (comprehensive exams), which are cumulative final exams that may be taken by doctoral students in lieu of or in addition to enrolling for the course.  Those courses offering comps are announced mid-semester, with the exams offered at the end of the semester.  Sometimes multiple sections of the same course may offer comp exams the same semester, but students may sit for only one comp per course.  Passing the exam (B+ or higher) satisfies the corresponding doctoral program course requirement.  Sitting for an exam without finishing or submitting the exam is treated as de facto failure on the exam. 

Note that students do not receive Columbia credit (“points”) for a course completed via exam, only for regular registration for the course; see below for other ways to fulfill the Columbia credit requirements.  

Additional information about comp exams is posted here.  Further details about course requirements is posted here


Some or all of the six electives may be imported from previous schools for students who enrolled in the doctoral program with a prior masters degree.  However, students who enrolled for the PhD program without a prior masters degree may import at most four electives from a previous institution, since two electives offered by the Computer Science department, in addition to the four distribution courses, must be taken at Columbia to complete the MS/PhD (see MS Leading to PhD).  Distribution courses must be taken at Columbia and cannot be imported.

  • The courses must be graduate lecture courses that are applicable for credit towards a graduate degree in Computer Science at the institution offering the course.
  • No undergraduate courses can be imported or otherwise applied to the doctoral course requirements except for fulfilling the Analysis of Algorithms prerequisite.
  • All imported courses except the prerequisite should have been completed during the past five years (see Import Policy for exceptions).
  • Students must submit all completed import forms by the last day of classes of their first semester enrolled in the doctoral program. 

Further details about importing courses taken outside Columbia is posted here. Further details about course requirements is posted here.  



Every student must have an advisor throughout the program.  Most students arrange a research advisor (who will in most cases later become the thesis advisor) during the admissions process prior to enrollment, and work closely with him or her on directed research from their first day in the program. A few students (those funded by fellowships rather than GRAs) may be assigned only a nominal departmental advisor initially, and then must arrange a research advisor during their first year, normally by the end of their first semester.  Some students have two or more joint research advisors.  

In almost all cases, the research advisor is a tenured or tenure-track faculty member appointed in the Computer Science Department at Columbia.  In rare cases the research advisor may be a research scientist in the CS department, an officially approved “affiliated” faculty member in another department at Columbia, or a former CS faculty member who has left the department and/or the university, in which case the student must also have a “departmental advisor” who is a tenured or tenure-track faculty member whose primary appointment is in the CS department.  The departmental advisor is responsible for reporting to the faculty on the student’s progress through doctoral program milestones, but is not responsible for directing the student’s research nor the student’s funding.  Further details on the department’s advising policy are here


The primary focus of our doctoral program is research, with the philosophy that students learn best by doing – beginning as apprentices and becoming junior colleagues working with faculty on scholarly research projects.  All doctoral students are required to spend at least half-time effort on research under the direction of their advisor throughout the program, normally full-time after completion of courses and TAing requirements.  Students are also expected to participate in departmental and laboratory activities full-time throughout all fall and spring semesters of the program until the dissertation has been distributed to the defense committee.  The policy on outside activities is here.   


PhD students are required to advance register for their Candidacy Exam, Thesis Proposal, and Thesis Defense with the Computer Science Department using the PhD Program Milestones Registration Form. Candidacy Exam – Register 2 weeks in advance of anticipated exam date; Thesis Proposal – Register 2 weeks in advance of anticipated proposal date; Thesis Defense – Register 6 weeks in advance of anticipated defense date. Failure to register these PhD Milestones with the Computer Science Department in time may result in the rescheduling of the anticipated date.  Contact Cindy Meekins at for more information. 


The candidacy exam is a two-hour oral exam based on a syllabus prepared jointly by the student and his/her candidacy committee. If the student passes the exam, the candidacy committee signs a form that admits the student to doctoral candidacy. The candidacy exam should be completed by the end of the sixth semester and must be completed prior to the thesis proposal.  The candidacy exam may be taken earlier; it is not necessary to complete all coursework or any other doctoral program requirements before the candidacy exam.

The Candidacy Exam Form must be prepared prior to the Candidacy Exam Date, and presented to the Committee Chair for signatures upon completion of the Exam. The signed Candidacy Exam Form must be submitted to the Computer Science Department on the same day the Candidacy Exam is completed. The Candidacy Exam Form should be signed and emailed as a PDF to the PhD Program Administrator, currently Cindy Meekins at   

More detailed information, including the permitted composition of the candidacy committee, is here.


In the thesis proposal, the student lays out his or her intended course of research for the dissertation.  Both a written proposal and an oral presentation are required; at least two hours should be scheduled for the oral part.  If the student passes the written and oral components of the proposal, the thesis proposal committee signs a form to recommend that the candidate proceed.  The proposal should be completed by the end of the eighth semester. The proposal may be done earlier; the only doctoral program requirement that must be completed before the thesis proposal is the candidacy exam. 

The university’s permitted composition of the dissertation proposal committee and other requirements for the proposal are specified here.  Note that GSAS refers to the proposal as the “propectus”. Additional department-specific requirements for the proposal contents and presentation are here.  


The doctoral dissertation and defense is typically completed during the fifth or sixth year in the program. Some very highly motivated students, particularly in theoretical areas, may finish in less time.  However, it is important to note that students cannot formally distribute their dissertation until the semester they register for their sixth RU or, more typically, after completing six RUs. 

The defense is preceded by a public seminar where the PhD candidate presents their work and the audience may ask informal questions.  Following the seminar, only the candidate and the committee meet for the formal defense in closed session.  The candidate then steps out while the committee members deliberate.  The entire proceedings should be scheduled for a three-hour timeslot.

Various forms and instructions for filling out the forms, composition of the dissertation committee, handling of remote participants in the defense, revision and deposit of the dissertation, and many other topics, are available from the GSAS Dissertation Office.

The Application for the Dissertation Defense form should be submitted by the student to the department, and then by the department to the university, as soon as the (exactly) five committee members have been finalized, even when the defense has not yet been scheduled.  This form must be received by the department at least six weeks before a defense takes place.



Success as a Computer Scientist depends not only on the ability to generate and explore new ideas but also on the ability to communicate those ideas effectively. For this reason, all students are required to develop and exercise presentation and teaching skills as part of their doctoral education.  Students are required to fulfill two “teaching units”, together the equivalent of a one-semester TA appointment, which may involve a combination of teaching assistant and/or instructor positions, and can be spread over two semesters with approval of the student’s advisor.  All TA and instructor assignments must be for courses approved by the department’s Academic Committee as Computer Science courses and occur during regular academic semesters; the TA units must be completed while enrolled in the doctoral program. More detailed information is here.


The Department of Computer Science takes pride in maintaining a well-developed sense of community, and sees as an essential part of its doctoral program the preparation of its students for this important aspect of their future careers.  It therefore strongly encourages students to contribute a year of service to the department’s professional, operational, or social needs, preferably during their second and/or third year in the program. A list of community service positions normally held by doctoral students is available in mice.


The en-course degree of Master of Philosophy is conferred upon a PhD candidate who has satisfactorily fulfilled all milestones except the proposal and dissertation. This includes all courses, candidacy exam, teaching/TAing, and community service. The MPhil also requires completion of six Residency Units (RUs) and sixty graduate points beyond the undergraduate degree.  Two RUs and thirty points of advanced standing are granted for completing the masters degree. See the university requirements for the MPhil.

Last updated on September 5, 2021.