Undergraduate


Blue CS@CU Logo for undergraduates

UNDERGRADUATE PROGRAMS

Computer Science majors at Columbia study an integrated curriculum, partially in areas with an immediate relationship to the computer, such as programming languages, operating systems, and computer architecture, and partially in theoretical computer science and mathematics. 

A broad range of upper-level courses is available in topics including artificial intelligence, natural language processing, computational complexity and the analysis of algorithms, computer communications, combinatorial methods, computer architecture, computer graphics, databases, mathematical models for computation, optimization, and programming environments. Through this integrated approach, students acquire the flexibility needed in a rapidly changing field; they are prepared to engage in both applied and theoretical developments in computer science as they happen.

Most graduates of the Computer Science Program at Columbia step directly into career positions in computer science with industry or government or continue their education in graduate degree programs. Many choose to combine computer science with a second career interest by pursuing additional programs in business administration, medicine, or other professional studies.


DEGREE PROGRAM QUICK GUIDES

  • CC Students, please refer to the Bulletin for more details on your school’s policies and important exceptions. GS Students may use this link; Barnard Students should contact their Dean.
  • New BA Curriculum QuickguideCC/GS Students declaring in Spring 2024 or later must follow this. Barnard CS Students who join in Fall 2023 or later must follow this.
  • Old BA Curriculum Quick GuideCC/GS students who declared prior to Spring 2024, may choose to follow the new curriculum or the old Tracks. Barnard students who joined Barnard in or before Spring 2023 are subject to the old requirements – for additional questions or possibly exceptions, please consult your Barnard advisor.

From Fall 2024 and onwards, the Minor in Computer Science consists of 7 courses as follows:
1. COMS W1004: Intro to computer science and programming in Java (3) or COMS W1007: Honors intro to comp sci (3)
2. COMS W3134: Data structures in Java (3) or COMS W3137: Honors data structures and algorithms (4)
3. COMS W3203: Discrete mathematics (4)
4. One course of the following:
COMS W3157: Advanced programming (3)
COMS W3261: Comp science theory (3)
CSEE W3827: Fund of computer systems (3)
5. Any 3000-level or 4000-level COMS/CSXX/XXCS course of at least 3 points
6. Any 3000-level or 4000-level COMS/CSXX/XXCS course of at least 3 points OR one course from the following (linear algebra or probability/statistics): APMA E3101, APMA E2101, MATH UN2010, MATH UN2015, IEOR E3658, STAT UN1201, or STAT GU4001.


Prior to Fall 2024, the concentration/minor consisted of the following required courses:
1. Intro to CS and Programming in Java (COMS W1004, 3pts) or Honors Intro to CS (COMS W1007, 3pts)
2. Data Structures (COMS W3134, 3pts) or Honors Data Structures and Algorithms (COMS W3137, 4pts)
3. Advanced Programming (COMS W3157, 4pts)
4. Discrete Mathematics (COMS W3203, 3pts until Fall 2019, 4pts from Spring 2020)
5. Computer Science Theory (COMS W3261, 3pts)
6. Fundamentals of Computer Systems (CSEE W3827, 3pts) or a 4000-level COMS technical elective (3pts)
7. 1 course from the following: Computational Linear Algebra (COMS 3251, 4pts, Recommended), Linear Algebra
(MATH 2010, APMA 3101, APMA 2101), or Prob/Stats (STAT 4001, IEOR 4150) Please see the appropriate BS and BA program guides above. The Minor/Concentration in Computer Science consists of the CS Core Requirements.


ADVISORS


DEGREE PROGRESS CHECKLISTS & CLEARANCE FORMS

Access the Clearance Form via Google Docs. Make a copy of this form and enter your completed and/or planned courses. Name the file “Your Name UNI – SEAS BS Graduation Clearance Form” Share with Lionmail so your advisors can review it. Email ug-advising@cs.columbia.edu or your Faculty Advisor the link!

You can use this same form to check progress prior to graduation and update it each semester.

Access the Clearance Form via Google Docs. Make a copy of this form and enter your completed and/or planned courses. Name the file “Your Name UNI – CC/GS/BC BA Graduation Clearance Form” Share with Lionmail so your advisors can review it. Email ug-advising@cs.columbia.edu or your Faculty Advisor the link!

You can use this same form to check progress prior to graduation and update it each semester.


FREQUENTLY ASKED QUESTIONS (FAQ)


TOPICS COURSES

Undergraduate students must get permission from their faculty advisor to count any topics course toward the Major.

Students may take multiple sections of COMS 4995 and/or COMS 6998, as each section will vary by content each semester. If you aren’t sure if a course is the same, please email the instructor to verify.


CURRENT RESEARCH OPPORTUNITIES


CONTACT US

If you have questions about the CS Department and major/minor requirements, please email CS Advising.

If you have questions about the admissions requirements, please get in touch with the following admissions offices:


ACADEMIC HONESTY


Updated 06/04/2024