Breadth Requirement


Analysis of Algorithms is the core of Computer Science, which unites the many disparate subfields.  All PhD and DES students are expected to complete an acceptable lecture course (graduate or upper-level undergraduate) in Analysis of Algorithms, with grade B+ or higher, prior to entering the program.  However, we permit students who have not already satisfied the Analysis of Algorithms prerequisite prior to enrollment to take CSOR 4231 at Columbia as part of the Breadth Requirement.  The prerequisite must be completed by the end of the first year in the program. Note the only course offered here that satisfies this requirement is CSOR 4231.

[Instituted by full faculty vote April 23, 2014, modified by full faculty vote September 16, 2015.]


Every doctoral student must complete a distribution requirement consisting of four graduate lecture courses taken here at Columbia.   There must be one course each from the approved course lists for Theory, Systems, and AI & Applications, plus one additional course chosen from any of the three approved course lists.  In the case where a student takes the Analysis of Algorithms prerequisite here (CSOR 4231) rather than at another institution prior to enrollment, then it satisfies the Theory distribution requirement.  Doctoral students may complete any or all of the distribution courses via only the course’s cumulative final exam, if it has one, without formally enrolling in the course.  Instructors are not obligated to provide a cumulative final exam suitable for students not enrolled in the course.

Approved distribution courses:

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)

*IMPORTANT NOTE: The only joint-CS courses permitted are as specified, all other distribution courses must be strictly “COMS”. Regardless of the course number, courses labeled “certificate only” or named “xxx for Data Science”, or similar, may not be applied to the doctoral breadth requirement.

[Instituted by full faculty vote, 4/4/14, to replace the core.  Effective in Fall 2014.  Students who first enrolled in Spring 2014 or earlier may substitute the old “core” for the distribution requirement. ]


In addition to the distribution requirement, all doctoral students must pass a total of six (6) elective graduate (4000 level or above) lecture courses, each three (3) or more points.  Most COMS or jointly offered with COMS (e.g., CSEE, , CSOR, EECS, MECS, STCS) courses are acceptable as CS electives.  At most two (2) electives may be outside CS.  All electives require the advisor’s approval.  [Revised by full faculty vote 12/17/20 to allow imports of non-CS courses.  Effective immediately.]

Some other departments at Columbia and elsewhere offer graduate courses on the same subjects as Computer Science courses.  Students cannot apply two courses on the same subject to the ten course requirement whether taken in a Computer Science Department or in another department.

Courses labeled “certificate only” or named “xxx for Data Science”, or similar, may not be applied to the breadth requirement. [Revised by full faculty vote 11/6/13.]


The minimum passing grade for doctoral students in both distribution and elective courses is B+.  A grade of B or lower is considered failure. The same course may be repeated in a later semester until the minimum B+ grade is obtained or a different course substituted, but repeated courses count only once towards the degree.  The average grade across the ten courses applied to the breadth requirement must be A- or higher.  If a student has less than average A- across the initial ten courses, additional courses (beyond the baseline ten courses) must be completed until the student attains A- average.


Satisfactory progress towards fulfilling the breadth requirement is defined as at least 2*N breadth course/exam passes, where N is the number of semesters enrolled thus far in the program, until the breadth requirement has been completed.  [Revised by full faculty vote 12/18/08.]

A doctoral student who has not made satisfactory progress towards the breadth requirement is normally placed on probation at the end of the first and/or subsequent semesters that he/she “falls behind”. The student can be immediately dismissed from the program at the end of any such unsatisfactory semester unless the full faculty accepts a petition from the advisor for one semester’s grace.


The doctoral program does not have a qualifier exam.  Completion of the Analysis of Algorithms prerequisite together with all four distribution courses constitutes completion of “the qualifier”.  This definition of “the qualifier” is relevant only when a doctoral student needs to fill out external forms, e.g., for applying as a student volunteer and/or for student travel funds for a conference, or applying to attend a doctoral symposium at a conference, where the form asks whether the student has completed the qualifier.  Students normally try to complete “the qualifier” during their first year in the program.
[Added by full faculty vote, September 16, 2015.]


Last updated on October 6, 2021.