Breadth Requirement (Courses)

ALGORITHMS PREREQUISITE

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.  Students must submit the prerequisite form by no later than two weeks (14 days) after the first day of classes of their first semester enrolled in the doctoral program.   The prerequisite does not count as one of the ten courses for the breadth requirement unless it meets all the requirements for imported electives.

Sometimes new doctoral students are admitted without a prior Analysis of Algorithms course.  Those students are required to complete CSOR W4231 during 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).  CSOR W4231 is the only course offered at Columbia that satisfies the Analysis of Algorithms requirement.

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

DISTRIBUTION

Every doctoral student must complete the distribution requirement consisting of four graduate lecture courses taken 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 at Columbia (CSOR 4231) rather than at another institution prior to enrollment, then it satisfies the Theory distribution requirement.

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)

The approved lists consist entirely of regular 4000-level graduate lecture courses offered by the Computer Science department, in some cases jointly with other departments. The only joint-CS courses permitted are as specified in the table, all other distribution courses must be strictly “COMS”.  No 4995 topics courses, 5000-level or above courses, seminars, project or reading courses, courses offered by other departments at Columbia besides Computer Science, or courses taken at other institutions may be applied to the distribution requirement.  Summer session and “Vxx” (Columbia Video Network) sections usually cannot be applied to the doctoral breadth requirement, see exceptions here.

Regardless of the course number, courses labeled “certificate only” or “Data Science only”, or named “xxx for Data Science” or similar, may not be applied to the doctoral breadth requirement, neither for distribution nor electives.

[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. ]

HOW TO GET A COURSE APPROVED FOR DISTRIBUTION

The course must be designated COMS (or jointly offered with CS, such as CSEE), 4000 level with a regular number (i.e., not 4995/4996), a conventional lecture course suitable for seniors and MS students as well as PhD students, and already approved by the Academic Committee, full faculty, and relevant COIs (Committee On Instruction) for undergraduate CS majors and MS in CS students.  The rationale for requiring a regular number, such as 4123, is that the Academic Committee will not approve a course for a regular number unless the instructor agrees to offer that course on a regular basis such as every year or every other year. An implicit criteria of PhD distribution is that only regularly-offered courses are included on the list.  In contrast, 4995 is intended for only-once course offerings. Although in practice many 4995 sections are taught more than once, they are not expected to be offered “reliably” so that students can plan in advance on taking them. Contact the Chair of the Academic Committee for information about applying for a regular course number and obtaining the various approvals.  Courses following the standard COMS numbering scheme, i.e., 41xx, 42xx, 47xx, 48xx, are then automatically included in the PhD distribution requirement.  COMS and jointly offered courses not following the standard numbering scheme are considered by the PhD Committee on a case by case basis, normally only after they have already been added to the MS breadth requirement.  Contact the PhD Chair for further information after the course has already been approved by the Academic Committee and the MS Chair (on behalf of the MS Committee).  In rare cases a 4995 course may be listed temporarily because it has already been approved with a regular number at the 4k level but there is a delay before the bulletin and registrar course listings are updated.

ELECTIVES

In addition to the distribution requirement, all doctoral students must pass a total of six (6) elective graduate lecture courses, each three (3) or more points.  All electives require the advisor’s approval.

Additional courses from the approved lists, beyond the four needed to satisfy the distribution requirement, may be taken as electives.  Most other 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.  Thus most COMS, CSEE, CSOR, EECS, MECS, CBMF, STCS courses are acceptable as CS electives, provided they are designated as graduate level.  For COMS courses, this is 4k and above, but some Columbia departments consider 4k to be strictly undergraduate and only 5k and above are graduate.

At most two (2) electives may be outside CS.   That is, no more than two of the six electives may be graduate lecture courses offered by another department besides Computer Science, normally another STEM department (e.g., Electrical Engineering, Statistics).   At least four of the six electives must be Computer Science courses.  Typically all six electives are Computer Science courses.

Summer session and “Vxx” (Columbia Video Network) sections usually cannot be applied to the doctoral breadth requirement, see exceptions here.  Project and reading courses, such as COMS 4901, COMS 6901 and COMS 6900, cannot be taken by doctoral students and are never acceptable for the breadth requirement even when taken prior to enrolling in the doctoral program.  

Regardless of the course number or offering department, courses labeled “certificate only” or “Data Science only”, or named “xxx for Data Science” or similar, may not be applied to the doctoral breadth requirement, neither for distribution nor electives.

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.

MINIMUM AND AVERAGE PASSING GRADES

The minimum passing grade for doctoral students in both distribution and elective courses is B+ (“PhD Pass”).  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.  All courses for the doctoral program must be taken for a letter grade, no pass/fail or “R” (audit) registration is acceptable.

COMPREHENSIVE EXAMS

A very small number of courses offer “comps” (comprehensive exams), which are cumulative final exams that may be taken by doctoral students, usually in addition to enrolling for the course at Columbia.  Sometimes students take a comp exam for a course they have already completed here but received B or lower, so the course does not count towards the doctoral breadth requirement.  In rare cases, a student may have already taken essentially the same course during their final year at a prior institution but it does not qualify for import.

Cumulative means the exam assesses the entire course.  But to offer a final exam as a comp, it has to be more than cumulative: it also has to be suitable for students not currently enrolled in the course. Very few instructors are willing to provide such exams.

Every semester, the CS department announces which courses, if any, are offering comps about a month before the end of the semester.  Comps must be identical to and co-timed with the course’s regular final exam, usually during the last week of classes or finals week.  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 points for a course completed via comp exam. To get credit, the student must register for the course and complete the entire course.

Additional details about comp exams are posted here.

COURSES TAKEN PRIOR TO ENROLLING IN THE DOCTORAL PROGRAM

Doctoral students who were previously enrolled in another program at Columbia, such as a different PhD program or an MS or BS/BA in Computer Science or a related field, may be able to count some of their previous Columbia courses towards the CS doctoral program.  At most two non-CS courses can be included in the CS doctoral program.  To be included:

  • The student’s grade in the course must be B+ or higher.
  • The course must be designated graduate-level by the offering department.  For COMS courses, this is 4k and above, but some Columbia departments consider 4k to be strictly undergraduate and only 5k and above are graduate.
  • The course must have been completed during the past five (5) academic years.

Courses taken at Columbia do not need to be “imported”.  However, students should check with the doctoral program administrator (Cindy Meekins, cam2362@columbia.edu) to make sure their previous courses have been added to their doctoral program record in mice.

It is important to note that no additional points are awarded for previous courses at Columbia.  See the registration instructions for information about registering for credit towards the MS/PhD, PhD or DES.

IMPORTING COURSES FROM OTHER INSTITUTIONS

Distribution courses must be taken at Columbia and cannot be imported. However, 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 six graduate lecture courses offered by the Computer Science department must be taken at Columbia to complete the MS/PhD (see MS Leading to PhD).  In either case, at most two non-CS courses can be included in the CS doctoral program. [Revised by full faculty vote 12/17/20 to allow imports of non-CS courses.  Effective immediately.]

Students must submit all import forms by no later than two weeks (14 days) prior to the last day of classes of their first semester enrolled in the doctoral program.   Doctoral students must use the pdf import forms posted on this page and should not try to import courses using mice.  (Mice will let doctoral students submit but the request will never be processed.)  To be acceptable for import:

  • The student’s grade in the course must be B+ or higher.
  • The course must be a graduate lecture course accepted for credit towards a graduate degree in Computer Science at the institution offering the course.
  • The course must have been completed during the past five (5) academic years.

It is important to note that no Columbia credit (“points”) is awarded for imported courses.  See the registration instructions for information about registering for credit towards the MS/PhD, PhD or DES.

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

SATISFACTORY PROGRESS

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.  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 QUALIFIER

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 August 19, 2022.