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.
Track Advisor
Prof. Rocco Servedio is the advisor
for Masters students following this track. E-mail: rocco@cs.columbia.edu.
Overall Requirements
Students must complete at least a total of 30 graduate credits:
1. Fulfill the 12-credit core breadth requirement. One of the core breadth requirements must be COMS W4231. In addition,
COMS W3261 or past equivalent is a required prerequisite.
2. One required course: COMS W4236.
3. One course chosen from the "Electives I" list: COMS W4203, COMS W4205, COMS W4241, COMS W4252, COMS W4261,
or COMS W4281.
4. At least 9 additional credits from the "Electives II" list, excluding the course chosen from the "Electives I"
list to satisfy (3) above. At least 6 of the credits must come from 6000-level courses.
5. Remaining credits from any qualifying graduate course (4000 and 6000 level). At least 3 of these credits must
be in COMS.
Core Breadth Requirements:
Students must complete at least four Core courses out of the following six:
COMS W4115: Programming Languages and Translators
COMS W4118: Operating Systems
COMS W4156: Advanced Software Engineering
CSOR W4231: Analysis of Algorithms
COMS W4701: Artificial Intelligence
CSEE W4824: Computer Architecture
Prerequisite
COMS W3261: Computer Science Theory (not for Masters credit)
Required Core Breadth Course
COMS W4231: Analysis of Algorithms
Required Track Course
COMS W4236: Introduction to Computational Complexity
Track Program: Electives I
Candidates are required to complete one (1) of the following courses:
COMS W4203: Graph Theory
COMS W4205: Combinatorial Theory
COMS W4241: Numerical Algorithms and Complexity
COMS W4252: Computational Learning Theory
COMS W4261: Introduction to Cryptography
COMS W4281: Quantum Computing
Track Program: Electives II
Candidates are required to complete 9 credits from the following list excluding the course already taken.
At least 6 credits must be at the 6000 level
COMS W4203: Graph Theory
COMS W4205: Combinatorial Theory
COMS W4241: Numerical Algorithms and Complexity
COMS W4252: Computational Learning Theory
COMS W4261: Introduction to Cryptography
COMS W4281: Quantum Computing
COMS E6291: Theoretical Topics in Computer Science
COMS E6998: Advanced Topics in Cryptography
COMS E6253: Computational Learning Theory II
COMS E6998: Advanced Topics in Complexity Theory
COMS E6901: Projects in Computer Science
ELEN E6717: Information Theory
COMS E6232: Analysis of Algorithms II
CSEE W6180: Performance Analysis
IEOR E6610: Approximation Algorithms
SIEO W4150: Introduction to Probability and Statistics
IEOR E4004: Introduction to Operations Research - Deterministic Models
IEOR E4407: Game Theoretic Models of Operation
IEOR E6603: Combinatorial Optimization
IEOR E6606: Advanced Topics in Network Flows
ELEN E4710: Introduction to Network Engineering
ELEN E6718: Algebraic Coding Theory
ELEN E6970: Resource Allocation and Networking Games
*Note: The list of electives may be updated to reflect changes in the schedule of course offerings.