- ONLINE CATALOGUE HOME
- MESSAGE FROM THE PRESIDENT
- COLLEGE
- ADMISSIONS
- FINANCIAL AID
- FINANCIAL INFORMATION
- CURRICULUM
- COURSES OF INSTRUCTION
- Africana Studies
- American Studies
- Ancient Studies
- Anthropology
- Architecture
- Art History
- Asian and Middle Eastern Cultures
- Athena Center for Leadership Studies
- Biological Sciences
- Centennial Scholars Program
- Chemistry
- Classics
- Comparative Literature
- Computer Science
- Dance
- Economics
- Economics & Mathematics
- Economic and Social History
- Education
- English
- Environmental Biology
- Environmental Science
- European Studies
- Film Studies
- First-Year Seminar
- French
- German
- History
- Human Rights Studies
- Italian
- Jewish Studies
- Mathematics
- Medieval & Renaissance Studies
- Music
- Neuroscience & Behavior
- Philosophy
- Physical Education
- Physics & Astronomy
- Political Science
- Psychology
- Religion
- Science and Public Policy
- Slavic
- Sociology
- Spanish & Latin American Cultures
- Statistics
- Theatre
- Urban Studies
- Women's Studies
- ACADEMIC POLICIES & PROCEDURES
- ACADEMIC ADVISING
- STUDENT LIFE & SERVICES
- ACADEMIC CALENDAR
- TRUSTEES, FACULTY & ADMINISTRATION
Search the Online Catalogue
COURSE CATALOGUE
COMPUTER SCIENCE
Computer Science
450 Computer Science Building
212-939-7000
www.cs.columbia.edu
REQUIREMENTS FOR THE MAJOR
All majors should confer with the program consultant each term in planning their programs of study. Students considering a major in computer science are encouraged to talk to a program consultant during their first or second year. The requirements that follow are special to this department and must be read in conjunction with the general requirements for the bachelor's degree. As a rule, no more than 12 transfer credits will be accepted toward the degree.
Program of study:
- Introduction to Computer Science COMS W 1004 in the first year
- COMS W1007, W3203, W 3157 and W 3137 in the second year
- Most of the remaining required core courses in the second and third years
This allows the most freedom possible in selecting a specialized track and completing the requirements during the junior and senior years. It is particularly important to complete the core requirements and to seek advice from a track consultant to better plan your course of study as early as possible. W1004, W1007, and W3137 are taught in Java. Advanced Programming (W 3157) is taught in C/C++, so students will become multilingual. Programming classes make use of an extensive array of computing facilities available on campus.
Required courses: 41 or 44 points.
Computer Science Core (23 points): COMS W 1004, W 1007, W 3203, W 3137, W 3157, W 3261, W 3827. Students who have taken AP Computer Science in high school and received a grade of 4 or 5 can waive W 1004.
Mathematics (3 points): one semester of calculus.
Track requirement (15 or 18 points): each student must also fulfill the track requirement by selecting one of six upper-level tracks. Each track, except the combined track, requires five courses of which 2 or 3 are required, 1 is an elective breadth course, and 1 or 2 are elective track courses. The combined track requires a cohesive selection of six advanced courses: three 3000- or 4000-level Computer Science courses and three 3000- or 4000-level courses from another field. The elective breadth course in each track can be any 3-point COMS 3000-level or higher course that is not a Computer Science Core course or a technical elective in that track.
Foundations track (15 points): for students interested in algorithms, computational complexity, scientific computing, and security. The required track courses are Computer Science (COMS) W 4231, W 4236, W 4241. The elective track courses include COMS W 4203, W 4205, W 4252, W 4261, W 4281, W 4444, W 4771, W 4772, W 4995.
Systems track (12 points): for students interested in networking, programming languages, operating systems, and software systems. The required track courses are COMS W 4115, W 4118, W 4119. The elective track courses include any COMS W 41xx course, any W48xx course, W 4444, W 3902, W 3998, W 4901, W 4995, W 4996.
Artificial intelligence track (12 points): for students interested in machine learning, robots, and systems capable of exhibiting "human-like" intelligence. The required track course is COMS W 4701, plus any two of W 4705, W 4731, W 4733, W 4771. The elective track courses include COMS W 3902, W 3998, W 40xx, W 4165, W 4252, W 47xx, W 4901, W 4995, W 4996.
Applications track (12 points): for students interested in interactive multimedia applications for the Internet and wireless networks. The required track courses are COMS W 4115, W4170, W4701. The elective track courses include COMS W 3902, W 3998, W 41xx, W 47xx, W4901, W 4995, W 4996.
Vision and graphics track (12 points): for students interested in computer vision, graphics, and advanced forms of human-computer interaction. The required track courses are COMS W 4160 and W 4731. The elective track courses include COMS W 3902, W 3998, W 4162, W 4165, W4167, W 4170, W 4172, W 4701, W 4733, W 4735, W 4771, W 4901, W 4995, W 4996.
Combination track (15 points): for students who wish to combine Computer Science with another discipline. A coherent selection of six courses is required: three 3000- or 4000-level Computer Science courses and three 3000- or 4000-level courses from another discipline. This track should be selected by the end of the first semester of the junior year and the courses should be planned with your advisor. The other discipline can be any one in the arts, humanities, mathematics, natural sciences, or social sciences.
REQUIREMENTS FOR A MINOR IN COMPUTER SCIENCE
Required computer science courses - 23 points: COMS W 1004, W 1007, W 3203, W 3137, W 3157, W 3261, and W 3827 or any 4000-level computer science course.
