The Foundations of Computer Science Track

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.

1. Overall Requirements

Students must complete at least a total of 30 graduate credits:

  • Fulfill the 12-credit core requirement. One of the core requirements must be CSOR W4231. In addition, COMS W3261 or past equivalent is a required pre-requisite (No MS credit for W3261).

  • 1 required course: COMS W4236.

  • 1 course chosen from the "Electives I" list: COMS W4203, COMS W4205, COMS W4241, COMS W4252, COMS W4261, or COMS W4281.

  • At least 9 additional credits from the "Electives II" list, excluding the course chosen from the "Electives I" list to satisfy above. At least 6 of the credits must come from 6000-level courses.

  • Remaining credits from any qualifying graduate course (4000 and 6000 level).

2. Pre-requisite

 Course ID Title

COMS W3261

Computer Science Theory (not for Masters credit)

3. Required Core Course

Course ID

Title

CSOR W4231

Analysis of Algorithms I

4. Required Track Course

Course ID

Title

COMS W4236

Intro. to Computational Complexity

4a. Track Program: Electives I

Candidates are required to complete one (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

4b. Track Program: Electives II

Candidates are required to complete 9 credits out of the following list* excluding the course already taken; at least 6 credits 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 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 E6717 (ELEN E6717)

Information Theory

COMS E6901

Projects in Computer Science

COMS E6998

Adv. Topics in Comp. Geometry

COMS E6998

Adv. Topics in Complexity Theory

COMS E6998

Network Theory 

COMS E6998

Algorithmic Game Theory

COMS E6998
Adv. Topics in Machine Learning
COMS E6998
Formal Verification 
COMS E6998
Algorithms for Dealing with Massive Data
COMS E6998
Algorithmic Graph Theory
COMS E6998
Advanced topics in Programming Language/Compilers
COMS E6998
Randomness in Computing

CSPH G4802 

Incompleteness Results in Logic

SIEO W4150

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 E6711 

Stochastic Models I

IEOR E6712 

Stochastic motels II

IEOR E8100 

Doctoral Seminar on Convex Optimization

ELEN E6718

Algebraic Coding Theory

ELEN E6970

Resource Allocation and Networking Games

5. General Elective

Remaining credits from any qualifying Computer Science graduate course (4000 and 6000 level). Students may take up to 3 credits of non-tech course approved by the advisor. Please complete a non-tech approval form, and once it is signed, forward it to Janine Maslov or Remi Moss. 

** Known non-tech courses**

IEOR E4550y Entrepreneurial business creation for engineers

6. Track Planning

Please visit the Directory of Classes to get the updated course listings. If you would like to see how often the courses are offered, please visit the course page on the CS Department website.  

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. Among the core courses, 4115, 4118, 4701, and 4231 are normally offered every semester (fall and spring) but 4156 and 4824 are normally offered only one semester per year and which semester (fall vs. spring) may vary. Among the 4000-level track electives, only 4111 is normally offered every semester; none of the 6000-level track courses are offered every semester and some are not even offered every year. There are, however, typically one or more relevant 4995 and/or 6998 offerings each semester, and its generally possible to find a suitable 6901 project any semester. For more information, please see the SEAS Bulletin CS course-offering schedule (Please note that the course-offering schedule can change due to unforeseeable circumstances; thus, it should only be used as a reference).

7. Contact

Please direct all questions concerning the Foundations of Computer Science Track to Prof. .

8. Graduation

Candidates preparing for graduation should submit a completed application for degree to the Registrar's Office and submit a track graduation form to C.S. Student Services (an example of a completed form is available here).



The list of electives may be updated to reflect changes in the schedule of course offerings.

**Please note that these course offerings are listed on a provisional basis only and may change from what is listed here.

Last updated 2/14/2012