The Foundations of Computer Science Track


Blue CS@CU logo for MS students

Foundations of Computer Science

The Foundations of Computer Science track is intended for students who wish to develop state-of-the-art knowledge of the theoretical foundations of Computer Science. The theory of computation plays a crucial role in providing solid foundations for all areas of Computer Science, including systems, artificial intelligence, security, and circuit design. This track will help you develop leading-edge knowledge of theoretical Computer Science and its applications.


SUMMARY OF REQUIREMENTS

  • Complete a total of 30 points (Courses must be at the 4000 level or above)
  • Maintain at least a 2.7 overall GPA. (No more than 1 D is permitted).
  • Complete the Columbia Engineering Professional Development & Leadership (PDL) requirement
  • Satisfy breadth requirements
  • Take at least 6 points of technical courses at the 6000 level
  • At most, up to 3 points of your degree can be Non-CS/Non-track If they are deemed relevant to your track and sufficiently technical in nature. Please submit the course syllabus to your CS Faculty Advisor for review, and then forward the approval confirmation email to ms-advising@cs.columbia.edu

1. Breadth Courses

Visit the breadth requirement page for more information.

2. Required Track Courses

Students are required to complete the two following courses: CSOR W4231 and COMS W4236. Students who have taken equivalent courses in the past and received grades of at least a B may apply for waivers and take other CS courses instead.

Course ID

Title

CSOR W4231 Analysis of Algorithms I
COMS W4236 Intro. to Computational Complexity

3. Track Electives Part I

Students are required to complete 1 of the following courses:

Course ID

Title

COMS W4203 Graph Theory
COMS W4205 Combinatorial Theory
COMS W4241 Numerical Algorithms and Complexity
COMS W4252 Introduction to Computational Learning Theory
COMS W4261 Introduction to Cryptography
COMS W4281 Introduction to Quantum Computing

4. Track Electives Part II

Students are required to complete 9 points out of the following Electives II list, excluding the course already taken; at least 6 points must be at the 6000-level:

Course ID

Title

COMS W4203 Graph Theory
COMS W4205 Combinatorial Theory
COMS W4241 Numerical Algorithms and Complexity
COMS W4252 Introduction to Computational Learning Theory
COMS W4261 Introduction to Cryptography
COMS W4281 Introduction to Quantum Computing
CSEE E6180 Performance Analysis
COMS W4995 Visit the topics courses page to see which COMS 4995 courses apply to this track.
COMS E6204 Topics in Graph Theory
COMS E6232 Analysis of Algorithms II
COMS E6253 Computational Learning Theory II
COMS E6261 Advanced Cryptography
COMS E6291 Theoretical Topics in C.S.
COMS E6901 Projects in Computer Science (Advisor approval required)
COMS E6998 Visit the topics courses page to see which COMS 6998 courses apply to this track.
CSPH G4802 Incompleteness Results in Logic
STAT 4001 (previously known as SIEO 4150) Intro. to Probability and Statistics
IEOR E4407 Game Theoretic Models of Operation
IEOR E6400 Scheduling: Deterministic Models
IEOR E6603 Combinatorial Optimization
IEOR E6606 Advanced Topics in Network Flows
IEOR E6608 Integer Programming
IEOR E6610 Approximation Algorithms
IEOR E6613 Optimization I
IEOR E6614 Optimization II
IEOR 6616 Convex Optimization
IEOR E6711 Stochastic Models I
IEOR E6712 Stochastic motels II
IEOR E8100 Doctoral Seminar on Convex Optimization
ELEN 6717 Information Theory
ELEN E6718 Algebraic Coding Theory
ELEN E6970 Resource Allocation and Networking Games

* STAT 4001 taken Spring 2018 or prior may count as a substitute for Probability and Statistics/Advanced Data Analysis

5. General Electives

Students must complete the remaining credits with General Elecevtives at the 4000 level or higher. These courses can be selected from the Track Electives listed above or from the CS department (4000 level or higher.)

Students may also request to use at most 3 points of Non-CS/Non-Track coursework if approved by the process listed below.

  • At most, up to 3 points of your degree can be Non-CS/Non-track If they are deemed relevant to your track and sufficiently technical in nature. Please submit the course syllabus to your CS Faculty Advisor for review, and then forward the approval confirmation email to ms-advising@cs.columbia.edu
  • IEOR E4550y: Entrepreneurial Business Creation for Engineers is a known non-track course
Please note:
  • Students who waive track requirements by using previous courses must still complete 30 graduate credits. This can be done by expanding their elective selection to include courses listed as required track courses and elective track courses; or by taking other graduate courses
  • Due to a significant overlap in course material, MS students not in the Machine Learning track can only take 1 of the following courses – COMS 4771, ELEN 4903, IEOR 4525, STAT 4240, STAT 4400/4241/5241 – as part of their degree requirements
  • The Degree Progress Checklist should be used to keep track of your requirements. If you have questions for your Track Advisor or CS Advising, you should have an updated Checklist prepared

TRACK PLANNING

Please visit the Directory of Classes to get the updated course listings. Please also note that not all courses are offered every semester or even every year. A few courses are offered only once every two or three years or even less frequently.

Please note that some Data Science Institute courses, such as COMS/CSEE W4121 (Computer Systems for Data Science), do not count towards the CS MS degree. If you have any questions, please contact your advisor or CS Advising.


Updated 09/04/2024