The breadth requirement includes two components, core and electives. The core consists of five (5) required areas:
1. 4115 Programming Languages and Translators (exam syllabus) Edwards fall 2008, Aho spring 2009 2. 4118 Operating Systems (exam syllabus) Nieh fall 2008, Yang spring 2009 3. 4231 Analysis of Algorithms (exam syllabus) Yannakakis fall 2008, Servedio spring 2009 4. 4701 Artificial Intelligence (exam syllabus) Stolfo fall 2008 and spring 2009 5. 4824 Computer Architecture (exam syllabus) Carloni fall 2008 and spring 2009
Every PhD student must pass all five (5) core areas, via either the course or the exam. Every core course is offered at least one semester per academic year, with the corresponding core exam offered both semesters. Definitive information regarding when a course is offered can be found ONLY on the Registrar's website.
Core courses/exams may not be "imported" or "transferred" from other institutions, they must be taken in the Computer Science Department at Columbia University.
[Change notes: Wordsmithing.]
In addition to the core, all PhD students must pass a total of five (5) elective graduate (4000 level or above) lecture courses, each three (3) or more points. All COMS or jointly offered with COMS (e.g., CSEE, CSOR) courses are acceptable as CS electives. At most two (2) electives may be outside CS, and only CS courses may be "imported" from another institution rather than taken at Columbia. All electives require the advisor's approval.
At least one (1) CS elective course must be taken in each of the three (3) "broad areas" - AI, Systems and Theory. It is the advisor's responsibility to ensure that the distribution requirement is fulfilled. The association of a given CS course with zero or more "broad areas" is the responsibility of the faculty member(s) in charge of the course. The same course cannot qualify in multiple areas for the same student.
[Note: Theory consists primarily of CS courses numbered 42xx and 62xx, Systems of CS courses numbered 41xx, 48xx, 61xx and 68xx, and AI of CS courses numbered 47xx and 67xx. But there are exceptions to this numbering scheme including but not limited to multiply listed courses, whereas Special Topics courses (4995 and 6998) are handled on an individual basis. Click here for the current list of these courses.]
[Change note: Clarified that courses awarding more than 3 points are ok and that any non-CS electives must be taken at Columbia (the linked import page already said the latter). Wordsmithing.
Huge can of worms issue: It is currently possible to complete
the entire breadth requirement taking only VG courses, even though
arguably they constitute a 4th area, not any of AI, Systems or Theory.
Should they be removed from the instructor's placement into one or more
of the original 3 areas? Should "someone else", other than the
instructor, have a veto over area placement? Should a 4th required
area be instituted, leaving only one general elective, or alternatively choose any 3 of the 4 areas?
Amother issue: Should 4995/6998 courses be treated only as general electives, never in any particular area, as in the original discussion of the current distribution requirement? Its a nightmare to manage all the new topics courses popping up every semester, many of them taught by adjuncts; on the other hand, any given semester it would be infeasible to finish the electives taking only regularly numbered courses, since so few are offered.]
The minimum passing grade for PhD students in both core and elective courses is B+; the average grade across all core and elective courses must be A- or higher. The PhD Pass threshold applies to both Columbia courses and imported electives. Courses may be retaken in a later semester, or a different elective substituted, with the highest grades used to compute the average. Exams taken in lieu of core or elective courses are graded on a pass/fail basis, and do not contribute to the average grade computation.
[Change notes: Wordsmithing. Issue: Mice apparently computes the GPA across all courses, ignoring this rule.]
Satisfactory progress towards fulfilling the breadth requirement is defined as either at least two (2) breadth course/exam passes per semester or at least 2*N breadth course/exam passes total, where N is the number of semesters enrolled thus far in the program, until the breadth requirement has been completed. For the purpose of determining satisfactory progress, any courses "imported" from other institutions do not count towards the 2 per term or 2*N total (however, courses or exams taken here at Columbia do count towards the 2*N total even if completed prior to formal enrollment in the PhD program).
A 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.
[Change notes: Removed extraneous footnote about course scheduling
mishaps. Moved CVN rerun note to the linked details page. Wordsmithing. Issues: Need to reword either/or clause to match intent: We do not actually let a student go, say, four
semesters with zero breadth areas total completed, but in the fifth
semester they do two, and call it satisfactory progress. The wording of "and/or subsequent semesters" for probation is confusing, but not sure how to fix.]