Over the last week, Columbia College, GS, and SEAS have all announced substantial changes to their Computer Science majors, an effort to both accommodate the developing academic field and mitigate the department’s years-long issues with over-enrollment.

Three colleges at Columbia have announced an overhaul of their Computer Science majors, impacting all students who declare in 2024 or later. The changes were first approved by the Committee on Instruction at SEAS for the college’s Bachelor of Science degree, but have since been approved for the Bachelor of Arts degrees at CC and GS as well. However, Barnard’s Committee on Instruction has not yet released an official decision on accepting the new requirements. The new requirements will only become mandatory for students who declare the major in 2024 or later, while any student who declares in 2023 will be allowed to choose between the old and new requirements. All Computer Science majors are encouraged to reach out to their advisors for more information. The new and previous requirements are both outlined in the table below.

Many of the changes specifically affect students completing the major at SEAS, which offers the program as a Bachelor of Science degree and thus has more extensive requirements. Most notably, students will no longer be required to choose a track, which the department defined as “one of five major areas of Computer Science for study in more depth.” Under the previous requirements, students were required to take 21 credits (about seven classes) toward a specific track, and an additional 15 credits of General Technical Electives (GTE) in mathematics, science, engineering or any “closely related discipline.” Going forward, they will instead be required to complete four “Area Foundations Courses,” four General Technical Electives, and four additional Computer Science courses.  

Several requirements have also changed for the Bachelor of Arts Computer Science degree at both CC and GS. While students at CC and GS were previously required to complete 15-18 credits toward a track, they will now be required to complete three Area Foundations Courses and three additional Computer Science courses instead.

Further, the CS department at SEAS appears to have expanded its allowances with regard to GTE offerings. In addition to electives from any SEAS department, students will now be allowed to take electives in a variety of additional departments across the University, including Astronomy, Earth and Environmental Sciences, and Psychology. 

Beyond electives, the CS Core requirements will remain relatively similar for both the BS and BA degrees, though both degrees have added an additional Probability requirement.

Old Requirements: Bachelor of Science (Mandatory for SEAS students who declared in 2022 or earlier, optional for students declaring in 2023) New Requirements: Bachelor of Science (Mandatory for SEAS students declaring after 2024, optional for students declaring in 2023)
CS Core: 

1. Intro to CS and Programming in Java (COMS W1004,) or Honors Intro to CS (COMS W1007) 

2. Data Structures in Java (COMS W3134, 3ps) or Honors Data

3. Structures and Algorithms (COMS W3137) 

4. Advanced Programming (COMS W3157) 

5. Discrete Mathematics (COMS W3203)

6. Computational Linear Algebra (COMS 3251) or Linear Algebra (MATH 2010, APMA 3101, or APMA 2101) 

7. Computer Science Theory (COMS 3261) Fundamentals of Computer Systems (CSEE 3827)
CS Core: 
1. Intro to CS and Programming in Java (COMS W1004) 

2. Data Structures in Java (COMS W3134) 

3. Advanced Programming (COMS W3157) 

4. Discrete Mathematics (COMS W3203) 

5. Linear Algebra (COMS 3251, APMA 3101, APMA 2101, MATH 2010, MATH 2015)

6. Computer Science Theory (COMS W3261) 

7. Fundamentals of Computer Systems (CSEE W3827) 

8. Probability: (STAT 1201, STAT 4001, IEOR 3658, MATH 2015)*

*The course MATH 2015: Linear Algebra and Probability can be used to simultaneously satisfy both the Linear Algebra and Probability requirements.
Track Coursework: 

A total of 21 credits following one of six tracks: Foundations of Computer Science, Software Systems, Digital Systems, Intelligent Systems, Applications, and Vision, Graphics, Interaction, and Robotics.
Four “Area Foundations Courses” from the following list: 

– Introduction to Databases (COMS W4111)
– Distributed Systems Fundamentals (COMS W4113)
– Programming Languages and Translators (COMS W4115)
– Operating Systems (COMS W4118)
– Computer Networks (CSEE W4119)
– Engineering Software-as-a-Service (COMS W4152)
– Software Engineering (COMS W4156)
– Computer Graphics (COMS W4160)
– Computer Animation (COMS W4167)
– User Interface Design (COMS W4170)
– Security 1 (COMS W4181)
– Analysis of Algorithms (CSOR W4231)
– Introduction to Computational Complexity (COMS W4236
– Artificial Intelligence (COMS W4701)
– Natural Language Processing (COMS W4705)
– Computer Vision (COMS W4731)
– Computational Aspects of Robotics (COMS W4733)
– Computational Genomics (CBMF W4761)
– Machine Learning (COMS W4771)
– Computer Architecture (CSEE W4824)
– System-on-Chip Platforms (CSEE W4868)

Four additional courses at the 3000-level or above that are in the Computer Science department or cross-listed in Computer Science and another department.*

*Example: Courses listed as “CSEE,” Computer Science-Electrical Engineering, or “CSOR,” Computer Science-Operations Research.   
General Technical Electives: 

Five advisor-approved 3000-level or above courses. Courses should come from Mathematics, Science, Engineering, or a closely-related discipline.
General Technical Electives: 

Four 3000-level or above courses from any SEAS department or any of the below departments: 

– Astronomy
– Biomedical Informatics
– Biological Sciences
– Chemistry
– Earth and Environmental Sciences
– Ecology, Evolution and Environmental Biology
– Mathematics
– Physics
– Psychology
– Statistics
– Economics
Old Requirements: Bachelor of Arts (Mandatory for CC and GS students who declared in 2022 or earlier, optional for students declaring in 2023) New Requirements: Bachelor of Arts (Mandatory for CC and GS students declaring after 2024, optional for students declaring in 2023)
1. Intro to CS and Programming in Java (COMS W1004) 

2. Data Structures in Java (COMS W3134) 

3. Advanced Programming (COMS W3157) 

4. Discrete Mathematics (COMS W3203) Linear Algebra (COMS 3251, APMA 3101, APMA 2101, MATH 2010, MATH 2015)

5. Computer Science Theory (COMS W3261) 

6. Fundamentals of Computer Systems (CSEE W3827) 

7. One of the following: 
– COMS W3251: Computational Linear Algebra
– MATH UN2010: Linear Algebra
– MATH UN2020: Honors Linear Algebra
– APMA E2101: Introduction to Applied Mathematics
– APMA E3101: Applied Math I: Linear Algebra
– STAT GU4001: Introduction to Probability and Statistics
1. Intro to CS and Programming in Java (COMS W1004) 

2. Data Structures in Java (COMS W3134) 

3. Advanced Programming (COMS W3157) 

4. Discrete Mathematics (COMS W3203) 

5. Computer Science Theory (COMS W3261) 

6. Fundamentals of Computer Systems (CSEE W3827) 
Mathematics Requirement: Calculus I or Calculus IIMathematics Requirement: 

1. Calculus: MATH 1201, MATH 1205, or APMA E2000

2. Linear Algebra: COMS 3251, APMA 3101, APMA 2101, MATH 2010, or MATH 2015

3. Probability: STAT 1201, STAT 4001, IEOR 3658, or MATH 2015*


*The course MATH 2015: Linear Algebra and Probability can be used to simultaneously satisfy both the Linear Algebra and Probability requirements.
Track Coursework: 

A total of 15-18 credits following one of five tracks: Foundations of Computer Science, Software Systems, Intelligent Systems, Applications, and Vision, Graphics, Interaction, and Robotics.*

*In place of one of these five tracks, students may also choose a track in the arts, humanities, social, or natural sciences by taking a “coherent selection” of six upper-level courses, three from CS and three from another discipline.
1. Three “Area Foundations Courses” (see above table for full list).

2. Three additional courses at the 3000-level or above that are in the Computer Science department or cross-listed in Computer Science and another department.*


*Example: Courses listed as “CSEE,” Computer Science-Electrical Engineering, or “CSOR,” Computer Science-Operations Research.   

According to Jae Woo Lee, Director of Undergraduate Studies for Computer Science at CC, GS, and Barnard, broadening these requirements may help mitigate the department’s existing issues with over-enrollment. Computer Science is Columbia’s largest major, with about 1,300 current students across the University. Because the program offers both B.A. and B.S. degrees, it is also the only department in which students from all four of Columbia’s undergraduate colleges can declare a major. The program’s overwhelming popularity, combined with the rigidity of its previous requirements, made it difficult for many students to access the classes they needed to complete the major, says Lee. Under these new requirements, Lee believes the degree will become “simple and easier to follow without sacrificing rigor,” and will also be more sustainable as it scales to a larger population of students.

However, while the changes were certainly created with enrollment mitigation in mind, Lee says they were also designed to accommodate the developing academic field of Computer Science. In particular, Lee cited the department’s choice to move away from the track model, saying the move “reflects the reality that CS is becoming broader and more interdisciplinary.” Similarly, he believes pulling GTE courses from a broader variety of STEM departments will support students in tailoring their electives to their academic and professional interests, with the knowledge that, Lee says, “CS is becoming an essential component in more and more fields.” 

Computer screen via Bwog Archives