MS Old Requirements

 

 OVERVIEW

The Master of Science (MS) program is intended for people who wish to broaden and deepen their understanding of computer science. Columbia University and the New York City environment provide excellent career opportunities with multiple industries. The program provides a unique opportunity to develop leading-edge in-depth knowledge of specific computer science disciplines. The department currently offers concentration tracks covering eight such disciplines. MS students are encouraged to participate in state of the art research with our research groups and labs.

Every MS student completes a 12-credit core requirement taking four courses from the following six:

and completes an 18-credit concentration track. Students must also complete at least two 6000-level courses and maintain a minimum GPA of 2.7. Please refer to the FAQ for more details.

Students can choose from one of the following ten tracks:

    • Computational Biology
    • Computer Security
    • Foundations of Computer Science
    • Machine Learning
    • Natural Language Processing
    • Network Systems
    • Software Systems
    • Vision and Graphics
    • MS Personalized
    • MS Thesis

Columbia Video Network (CVN) students should also choose from one of the above concentration tracks.

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. 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). Track students seeking approvals for Curricular Practical Training (CPT) or Optional Practical Training (OPT) should instead contact Mrs. Janine Maslov. For faculty advisement, please contact the assigned track advisors.

Graduation

Candidates preparing for graduation should submit a completed application for degree to the Registrar’s Office and submit a track graduation form to CS Student Services (an example of a completed form is available here). See track pages for track-specific forms.

MS in Computer Engineering

In addition to the Computer Science MS Program, we offer the Computer Engineering MS Program jointly with the Electrical Engineering Department. More information about the program can be found in the Computer Engineering section of SEAS bulletin and on the Computer Engineering website.

Dual MS in Journalism and Computer Science

Admitted students will enroll for a total of four semesters. In addition to taking classes already offered at the Journalism and Engineering schools, students will attend a seminar and workshop designed specifically for the dual degree program. The seminar will teach students about the impact of digital techniques on journalism; the emerging role of citizens in the news process; the influence of social media; and the changing business models that will support newsgathering. In the workshop, students will use a hands-on approach to delve deeply into information design, focusing on how to build a site, section or application from concept to development, ensuring the editorial goals are kept uppermost in mind. For more information, please visit the program website.

The AP-Google Journalism Technology Scholarship has been announced. For more information, please visit their website.

The Computational Biology Track

The Computational Biology track is intended for students who wish to develop working knowledge of computational techniques and their applications to biomedical research. Recent advances in high-throughput technologies, e.g., for DNA sequencing and for measuring RNA expression via DNA microarrays, are changing the nature of biomedical research. They empower fundamental new understandings of biological mechanisms with far reaching applications to biological and medical sciences. To fulfill this promise, new computational techniques are needed to analyze genome sequences, protein structures, metabolic and regulatory pathways, evolutionary patterns and the genetic basis of disease. The computational-biology track seeks to provide state of the art understanding of this concomitant growth of high-throughput experimental techniques, computational techniques to analyze their data, the resulting new understandings of biological mechanisms and their applications to pharmacological and medical practice (from diagnosis to drug design).

SECTION 1: REQUIREMENTS OVERVIEW

REQUIRED ELECTIVES*
CORE TRACK TRACK GENERAL
MINIMUM REQUIRED CREDITS 12 6 6 6
COURSES SEE SECTION 2 SEE SECTION 3 SEE SECTION 4 SEE SECTION 5
TOTAL MINIMUM REQUIRED CREDITS 18 12
30
COURSE AND CREDIT REQUIREMENTS FOR THE COMPUTATIONAL BIOLOGY TRACK

Students must complete at least 30 credits, and of those 30 credits, minimum of 6 elective credits must be at the 6000 level and additional 3 elective credits must be from the biological departments. At least 3 credits must be a 6000-level course in Section 4. Students, who waive core or required track elective using previous courses, may take courses from Section 3, Section 4, or other Computer Science courses in lieu of waived ones.

SECTION 2: CORE COURSES

SECTION 3: REQUIRED TRACK COURSES

Candidates are required to complete the following two courses:

 COURSE ID  TITLE
COMS W4771 OR
SIEO W4150
Machine Learning OR
Probability and Statistics
CBMF W4761 Computational Genomics

SECTION 4: ELECTIVE TRACK COURSES

Students are required to take two courses from the following list, at least one of which must be a 6000-level course. Other courses on this list may be used as general electives or to replace core or required track courses when the student has received a waiver.

 COURSE ID  TITLE
 COMS W4111   Introduction to Databases
 COMS W4252   Introduction to Computational
Learning Theory
 COMS W4772 (E6772)  Advanced Machine Learning
 COMS E6111   Advanced Database Systems
 COMS E6901   Projects in Computer Science
 COMS E6998   Computational Human Genetics
 COMS E6998  Seminar on Biological Networks
 COMS E6998  Seminar in Evolutionary and
Comparative Genomics
 COMS E6998  Biological Networks
 COMS E6998  Comp Methods/High Thrghpt SEQ
 COMS E6998  Research Seminar in
Computational Genomics
 COMS E6998  Search Engine Technology
 COMS E6998  Advanced Topics in Machine Learning
 COMS E6998  Intro/Distributed Data Mining
 COMS E6998  Cloud Computing
 COMS E6998  Algorithmic Graph Theory
 BIOC W4512   Molecular Biology
 BIOL W4031   Genetics I
 BIOL W4032   Genetics II
 BIOL W4034   Biotechnology
 BIOL W4037   Bioinformatics of Gene Expression
 BIOL W4041   Cell Biology
 BIOL W4070   The Biology and Physics of
Single Molecules
 BIOL W4300   Drugs and Disease
 BIOL W4073   Cellular and Molecular Immunology
 BIOL W4400  Biological Networks
 BIOL W4510   Molecular Systems Biology I
 BCHM G4026  Biochemistry of Nucleic
and Protein Synthesis
 BCHM G4250   Biochemistry and Molecular
Biophysics
 BCHM G6300   Biochemistry and Molecular
Biology of Eukaryotes I
 BCHM G6301   Biochemistry and Molecular
Biology of Eukaryotes II
 BMEE E6030   Neural Modeling
and Neuroengineering
 GEND G4050  Advanced Eukaryotic
Molecular Genetics
 STAT G6101   Statistical Modeling and Data Analysis I
 APMA E4400   Introduction to Biophysical Modeling
 BINF G4014   Computational Biology I:
Functional and Integrative Genomics
 BINF G4015   Computational Biology II:
Proteins, Networks, Function
Computer Science course descriptions are available here.

SECTION 5: GENERAL ELECTIVES

Candidates are required to complete at least 6 additional graduate credits above 4000 level; at least 3 of these credits must be CS, the other 3 credits may be a technical or non-technical elective approved by the track advisor. Please complete a non-technical approval form, and once it is signed, forward it to Janine Maslov or Remi Moss. At most 3 credits overall of the 30 graduate credits required for the MS degree may be non-technical.

SECTION 6: 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).

SECTION 7: CONTACT

Please direct all questions concerning the Computational Biology Track to Prof. Itsik Pe‘er.

*Please note that these course offerings are listed on a provisional basis only and may change from what is listed. Check the registrar’s website for definitive information.

The Computer Security Track

The Computer Security track is intended for students who wish to develop state-of-the-art knowledge of computer and network security technologies. Security considerations pervade personal, corporate, military, governmental, and national infrastructure systems and networks. This track will help you develop leading-edge knowledge in security.

SECTION 1: REQUIREMENTS OVERVIEW

REQUIRED ELECTIVES*
CORE TRACK TRACK GENERAL
MINIMUM REQUIRED CREDITS 12 9 6 3
COURSES COMS W4118 SEE SECTION 3 SEE SECTION 4 SEE SECTION 5
COMS W4156
TOTAL MINIMUM REQUIRED CREDITS 21 9
30
COURSE AND CREDIT REQUIREMENTS FOR THE COMPUTER SECURITY TRACK

Students must complete at least 30 credits, and of those 30 credits, minimum of 6 elective credits must be at the 6000 level. At least 3 of the track elective credits (Section 4) must be a 6000-level course. The security track has two required core courses: COMS W4118 (Operating Systems) and COMS W4156 (Advanced Software Engineering). Students, who waive core or required track elective using previous courses, may take other Computer Science courses in lieu of waived ones.

SECTION 2: CORE COURSES

SECTION 3: REQUIRED TRACK COURSES

Candidates are required to complete the following three courses:

 COURSE ID  TITLE
COMS W4261 OR
COMS E6185
Introduction to Cryptography OR
Intrusion Detection
COMS W4180 Network Security
COMS W4187 Security Architecture and Engineering

SECTION 4: ELECTIVE TRACK COURSES

Excluding courses already taken, candidates are required to complete two courses out of the following list; at least one course must be 6000 level. Please note that courses marked * are offered alternate years.

 COURSE ID  TITLE
COMS W4115 Programming Languages and Translators
CSEE W4119 Computer Networks
COMS W4261 Introduction to Cryptography
COMS W4995 VOIP Security
COMS W4995 Introduction to Computer Security
COMS W4995 Crypto & Financial Processes
COMS E6118 Operating Systems II
COMS E6181 Advanced Internet Services
COMS E6183* Advanced topics in Network Security
COMS E6184* Seminar on Anonymity & Privacy
COMS E6185 Intrusion & Anomaly Detection Systems
COMS E6261* Advanced Cryptography
COMS E6901 Projects in Computer Science
COMS E6998 Advanced Topics in Security
COMS E6998 Network Theory
COMS E6998 Virtual Machines
COMS E6998 Software Security & Exploitations
COMS E6998 Cloud Computing
COMS E6998 Formal Hardware & Software Verification
COMS E6998 Resilient Hardware Systems
COMS E6998 Cloud and Mobile Challenges
ELEN E4703 Wireless Communications
ELEN E6761 Computer Communication Networks
ELEN E6886 Topics in Multimedia Security
ELEN E6950 Wireless & Mobile Networking I
ELEN E6951 Wireless & Mobile Networking II

Computer Science course descriptions are available here.

SECTION 5: GENERAL ELECTIVES

Candidates are required to complete at least 1 Computer Science graduate-level course. Students may take up to 3 credits of a non-technical course approved by the advisor. Please complete a non-technical approval form, and once it is signed, forward it to Janine Maslov or Remi Moss.

SECTION 6: 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).

SECTION 7: CONTACT

Please direct all questions concerning the Computer Security Track to Prof. Steve Bellovin.

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

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.

SECTION 1: REQUIREMENTS OVERVIEW

REQUIRED ELECTIVES*
CORE TRACK TRACK GENERAL
I II
MINIMUM REQUIRED CREDITS 12 3 3 9 3
COURSES CSOR W4231 SEE SECTION 3 SEE SECTION 4A SEE SECTION 4B SEE SECTION 5
TOTAL MINIMUM REQUIRED CREDITS 15 15
30
COURSE AND CREDIT REQUIREMENTS FOR THE FOUNDATIONS OF COMPUTER SCIENCE TRACK

Students must complete at least 30 credits, and of those 30 credits, minimum of 6 elective credits must be at the 6000 level selected from Section 4B. The Foundations track has one required core course: CSOR W4231 (Analysis of Algorithms). Students, who waive core or required track elective using previous courses, may take courses from other Computer Science courses in lieu of waived ones.

 

SECTION 2: CORE COURSES

SECTION 3: REQUIRED TRACK COURSES

Candidates are required to complete the following two courses:

 COURSE ID  TITLE
COMS W3261 or past equivalent Computer Science Theory
(Prerequisite; not for Masters credit)
COMS W4236 Introduction to Computational Complexity

4A: ELECTIVE TRACK COURSES I

Candidates are required to complete one 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: ELECTIVE TRACK COURSES II

Candidates are required to complete 9 credits out of the following list excluding courses 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
COMS W4995 Crypto & Financial Processes
CSEE E6180 Modeling and Performance
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 Computer Science
COMS E6901 Projects in Computer Science
COMS E6998 Advanced Topics in Computational Geometry
COMS E6998 Advanced Topics in Complexity Theory
COMS E6998 Network Theory
COMS E6998 Algorithmic Game Theory
COMS E6998 Advanced Topics in Comp. Geometry
COMS E6998 Advanced Topics in Complexity Theory
COMS E6998 Network Theory
COMS E6998 Algorithmic Game Theory
COMS E6998 Advanced Topics in Machine Learning
COMS E6998 Formal Verification
COMS E6998 Algorithmic Game Theory
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
COMS E6998 Econ of Social Networks
COMS E6998 Lower Bounds of Theoretical CS
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
Computer Science course descriptions are available here.

SECTION 5: GENERAL ELECTIVES

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

** Known non-technical courses**
IEOR E4550y Entrepreneurial business creation for engineers

SECTION 6: 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).

SECTION 7: CONTACT

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

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

The Machine Learning Track

The Machine Learning track is intended for students who wish to develop their knowledge of machine learning techniques and applications. Machine learning is a rapidly expanding field with many applications in diverse areas such as bioinformatics, fraud detection, intelligent systems, perception, finance, information retrieval, and other areas.

SECTION 1: REQUIREMENTS OVERVIEW

REQUIRED ELECTIVES*
CORE TRACK TRACK GENERAL
MINIMUM REQUIRED CREDITS 12 6 6 6
COURSES SEE SECTION 2 SEE SECTION 3 SEE SECTION 4 SEE SECTION 5
TOTAL MINIMUM REQUIRED CREDITS 18 12
30
COURSE AND CREDIT REQUIREMENTS FOR THE MACHINE LEARNING TRACK

Students must complete at least 30 credits, and of those 30 credits, minimum of 6 elective credits must be at the 6000 level. At least 3 of the track elective credits (Section 4) must be a 6000-level course. Students, who waive core or required track elective using previous courses, may take other Computer Science courses in lieu of waived ones.

SECTION 2: CORE COURSES

SECTION 3: REQUIRED TRACK COURSES

Candidates are required to complete two (2) of the following courses*:

 COURSE ID  TITLE
COMS W4252 Introduction to Computational Learning Theory
COMS W4771 Machine Learning
COMS W4772 Advanced Machine Learning

SECTION 4: ELECTIVE TRACK COURSES

Students are required to take two courses from the following list, at least one of which must be a 6000-level course. Other courses on this list may be used as general electives or to replace core or required track courses when the student has received a waiver.

 COURSE ID  TITLE
COMS W4111 Introduction to Databases
COMS W4252 Introduction to Computational Learning Theory
COMS W4705 Introduction to Natural Language Processing
COMS W4731 Computer Vision
COMS W4737 Biometrics
CBMF W4761 Computational Genomics
COMS W4771 Machine Learning
COMS W4772 Advanced Machine Learning
COMS W4995 Intro Social Networks
COMS E6111 Advanced Database Systems
COMS E6253 Advanced Topics in Computational Learning Theory
COMS E6735 Visual Databases
COMS E6737 Biometrics
COMS E6901 Projects in Computer Science
COMS E6998 Search Engine Technology
COMS E6998 Network Theory
COMS E6998 Algorithmic Game Theory
COMS E6998 Statistical Methods for NLP
COMS E6998 NLP for the Web
COMS E6998 Advanced Topics in Machine Learning
COMS E6998 Machine Translation
COMS E6998 Machine Learning for NLP
COMS E6998 Intro/Distributed Data Mining
COMS E6998 Analysis of Social Info. Nets
COMS E6998 Algorithms/Deal/Massive Data
COMS E6998 Large-Scale Machine Learning
COMS E6998 Sparse Signal Modeling
COMS E6998 Econ of Social Networks
COMS E6998 CV and ML on Mobile Platforms
COMS E6998 Data Science & Entrepreneurship
COMS E6998 Fund of Speaker Recognition
COMS E6998 Bayesian Analysis for NLP
IEOR E6613 Optimization I
IEOR E8100 Optimization Methods in Machine Learning
SIEO W4150 OR
STAT W4201
Probability and Statistics OR
Advanced Data Analysis
STAT W4240 Data Mining
STAT G6101 Statistical Modeling and Data Analysis I
Computer Science course descriptions are available here.

SECTION 5: GENERAL ELECTIVES

Candidates are required to complete at least 6 additional graduate credits at, or above, the 4000 level; at least 3 of these credits must be CS, the other 3 credits may be a technical or non-technical elective approved by the track advisor. Please complete a non-technical approval form, and once it is signed, forward it to Janine Maslov or Remi Moss. At most 3 credits overall of the 30 graduate credits required for the MS degree may be non-technical.

SECTION 6: 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).

SECTION 7: CONTACT

Please direct all questions concerning the Machine Learning Track to Prof. Michael Collins and Prof. Tony Jebara.

*Please note that these course offerings are listed on a provisional basis only and may change from what is listed. Check the registrar’s website for definitive information.
**ELEN-E4810 – Students who took it in Fall 06 or earlier can use it as an elective
***IEOR E6613 – Students who took it in Fall 06 or earlier can use it as an elective

The Natural Language Processing Track

The Natural Language Processing (NLP) track is intended for students who wish to gain expertise in NLP technologies and applications. NLP technologies are of central importance in automating the analysis of text and speech databases and in enabling man-machine interactions through natural language. This track will help you develop leading edge knowledge of these technologies.

SECTION 1: REQUIREMENTS OVERVIEW

REQUIRED ELECTIVES*
CORE TRACK TRACK GENERAL
MINIMUM REQUIRED CREDITS 12 9 6 3
COURSES COMS W4701 SEE SECTION 3 SEE SECTION 4 SEE SECTION 5
TOTAL MINIMUM REQUIRED CREDITS 21 9
30
COURSE AND CREDIT REQUIREMENTS FOR THE NATURAL LANGUAGE PROCESSING TRACK

Students must complete at least 30 credits, and of those 30 credits, minimum of 6 elective credits must be at the 6000 level. At least 3 of the track elective credits (Section 4) must be a 6000-level course. The Natural Language Processing track has one required core course: COMS W4701 (Artificial Intelligence). Students, who waive core or required track elective using previous courses, may take other Computer Science courses in lieu of waived ones.

 

SECTION 2: CORE COURSES

SECTION 3: REQUIRED TRACK COURSES

Candidates are required to complete the following three courses:

 COURSE ID  TITLE
COMS W4705 Natural Language Processing
COMS W4706 Spoken Language Processing
COMS E6998 Topic Courses that focus on NLP

Students who have completed equivalent courses with grades of at least 3.0 may apply these courses to satisfy these requirements and devote more credits to pursue elective courses.

SECTION 4: ELECTIVE TRACK COURSES

Candidates are required to complete two (2) courses out of the following list*; at least one course must be a 6000-level CS course.
Since other departments vary their offerings considerably from year to year, it is possible to count such courses toward the M.S. degree; please propose courses you think might be suitable to the track advisor.

 COURSE ID  TITLE
COMS W4170 User Interface Design
COMS W4172 3D User Interfaces & Augmented Reality
COMS W4252 Introduction to Computational Learning Theory
COMS W4771 Machine Learning
COMS E6901 Projects in Computer Science
COMS E6998 Search Engine Technology
COMS E6998 Network Theory
COMS E6998 NLP for the Web
COMS E6998 Statistical Methods for NLP
COMS E6998 Machine Learning for NLP
COMS E6998 Advanced Topics in Machine Learning
COMS E6998 Machine Translation
COMS E6998 Fundamentals/Speaker Recognition
COMS E6998 Semantic Tech in IBM Watson
COMS E6998 Bayesian Analysis for NLP
SIEO W4150 Probability and Statistics
ELEN E4810 Digital Signal Processing
ELEN E6820 Speech/Audio Processing & Recognition
PSYC G4232 Production and Perception of Language
PSYC G4275 Contemporary Topics in Language and Communication
PSYC G4205 Models of Cognition
PSYC G4470 Psychology and Neuropsychology of Language
PSYC G6006 Introduction to Statistical Modeling in Psychology
Computer Science course descriptions are available here.

SECTION 5: GENERAL ELECTIVES

Candidates are required to complete at least one general elective graduate CS course (3 credits) at 4000 level or above approved by the Track Advisor. Please complete a non-technical approval form, and once it is signed, forward it to Janine Maslov or Remi Moss. At most 3 credits overall of the 30 graduate credits required for the MS degree may be non-technical.

SECTION 6: 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).

SECTION 7: CONTACT

Please direct all questions concerning the NLP Track to Prof. Michael Collins.

*Please note that these course offerings are listed on a provisional basis only and may change from what is listed. Check the registrar’s website for definitive information.

The Network Systems Track

The Network Systems track is intended for students who wish to develop state-of-the-art knowledge of network systems technologies and the underlying principles, protocols and algorithms. Networking technologies play a central, driving role in shaping the directions of both the IT and communication industries. This track will help you develop leading-edge knowledge of these technologies.

SECTION 1: REQUIREMENTS OVERVIEW

REQUIRED ELECTIVES*
CORE TRACK TRACK GENERAL
MINIMUM REQUIRED CREDITS 12 3 12 3
COURSES COMS W4115 SEE SECTION 3 SEE SECTION 4 SEE SECTION 5
COMS W4118
TOTAL MINIMUM REQUIRED CREDITS 15 15
30
COURSE AND CREDIT REQUIREMENTS FOR THE NETWORK SYSTEMS TRACK

Students must complete at least 30 credits, and minimum of 6 elective credits (Section 4) must be at the 6000 level. The Networking Systems track has two required core courses: COMS W4115 (Programming Language and Translators) and COMS W4118 (Operating Systems). Students, who waive core or required track elective using previous courses, may take other Computer Science courses in lieu of waived ones.

SECTION 2: CORE COURSES

SECTION 3: REQUIRED TRACK COURSES

Candidates are required to complete the following course:

 COURSE ID  TITLE
CSEE W4119 Computer Networks

Students who have completed equivalent courses with grades of at least 3.0 may apply these courses to satisfy these requirements and devote more credits to pursue elective courses.

SECTION 4: ELECTIVE TRACK COURSES

Candidates are required to complete four (4) courses out of the following list*; at least two courses must be 6000 level CS courses:

 COURSE ID  TITLE
CSEE W4140 Networking Laboratory
COMS W4180 Introduction to Network Security
COMS W4261 Introduction to Cryptography
COMS W4737 Biometrics
COMS W4995 VoIP Security
COMS W4995 Introduction to Semantic Web
COMS W4995 Social Information Networks
COMS W4995 Fundamentals of Distributed Systems
COMS W4995 Business of Software Delivery
COMS E6118 Operating Systems II
COMS E6125 Web-Enhanced Information Management
CSEE E6180 Modeling & Performance
COMS E6181 Advanced Internet Services
COMS E6184 Seminar on Anonymity & Privacy
COMS E6185 Intrusion and Anomaly Detection Systems
COMS E6737 Biometrics
COMS E6901 Projects in Computer Science
COMS E6998 Practical Cryptography
COMS E6998 Challenges in Cloud and Mobile Computing
COMS E6998 Web Application Servers – Arch-Design
COMS E6998 Advanced Internet Routing
COMS E6998 Search Engine Technology
COMS E6998 Content Networking
COMS E6998 Network Theory
COMS E6998 Virtual Machines
COMS E6998 Algorithmic Game Theory
COMS E6998 Mobile Computing with iPhone and Android
COMS E6998 Next Generation Network Arch
COMS E6998 Internet Economics
COMS E6998 Network Systems Implementation
COMS E6998 Practical Cryptography
COMS E6998 Cloud Computing
COMS E6998 Content Distribution
COMS E6998 Analysis of Social Info. Nets
COMS E6998 Social Networks/Systems Point of View
COMS E6998 Cellular Networks Mobile Computation
COMS E6998 Econ of Social Networks
COMS E6998 Mobile Computing
COMS E6998 Data Science & Entrepreneurship
COMS E6998 Cloud and Mobile Challenges
COMS E6998 Cellular Networks/Mobile Computing
COMS E6998 Software Defined Networking
ELEN E4703 Wireless Communications
ELEN E6761 Computer Communication Networks
ELEN E6770 Next-Generation IP Networks
ELEN E6771 Next Generation Networks
ELEN E6950 Wireless & Mobile Nets, I
ELEN E6951 Wireless & Mobile Nets, II
STAT W4606 Elementary Stochastic Processes
ELEN E6771 Next Generation Networks OR
substitute with IEOR W4106
IEOR E6704 Queueing Theory and Applications
IEOR E6801 Monte Carlo & Discrete Event Simulation
IEOR E4406 Facilities Location, Routing, Network Design
Computer Science course descriptions are available here.

SECTION 5: GENERAL ELECTIVES

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

SECTION 6: 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).

SECTION 7: CONTACT

Please direct all questions concerning the Network System Track to Augustin Chaintreau.

*Please note that these course offerings are listed on a provisional basis only and may change from what is listed. Check the registrar’s website for definitive information.

The Software Systems Track

The Software Systems track is for students who want to pursue knowledge of software development and software systems methodologies and technologies. Software plays the key role in practical, real-world computing systems and applications. This track enables students to understand and master classic and current software systems, and provides the fundamentals for later self-study of future software systems.

SECTION 1: REQUIREMENTS OVERVIEW

REQUIRED ELECTIVES*
CORE TRACK TRACK GENERAL
MINIMUM REQUIRED CREDITS 12 6 6 6
COURSES COMS W4115 SEE SECTION 3 SEE SECTION 4 SEE SECTION 5
COMS W4118
COMS W4156
TOTAL MINIMUM REQUIRED CREDITS 18 12
30
COURSE AND CREDIT REQUIREMENTS FOR THE SOFTWARE SYSTEMS TRACK

Students must complete at least 30 credits, and out of those 30 credits, 6 elective credits (Section 4) must be at the 6000 level. The Software Systems track has three required core courses: COMS W4115 (Programming Language and Translators), COMS W4118 (Operating Systems), and COMS W4156 (Advanced Software Engineering). Students who waive a core course using previous courses may take other Computer Science courses in lieu of waived ones. If a required track elective is waived, another required track elective must be substituted for a total of 6 points taken at Columbia in required track electives.

SECTION 2: CORE COURSES

SECTION 3: REQUIRED TRACK COURSES

Candidates are required to complete at least two 4000-level courses (6 points) selected from the following list of track courses:

 COURSE ID  TITLE
COMS W4111 Introduction to Databases
COMS W4112 Database System Implementation
COMS W4117 Compilers and Interpreters
COMS W4130 Principles and Practice of Parallel Programming
COMS W4170 User Interface Design
COMS W4187 Security Architecture and Engineering
COMS W4444 Programming and Problem Solving
COMS W4460 Principles of Innovation and Entrepreneurship
COMS W4995* Topics in Computer Science (Fall 13: Distributed Systems Fundamentals)
*Topics in Computer Science (4995) sections must be approved as qualifying “software systems” track courses by your Software Systems Track Advisor. Typically this would mean topics offered by a software systems faculty member or by an affiliated adjunct.
* COMS W4995 Business of Software Delivery is not a technical course thus cannot be taken to satisfy Section 3.

SECTION 4: ELECTIVE TRACK COURSES

Candidates are required to complete at least two 6000-level courses (6 points) selected from the following list of track courses:

 COURSE ID  TITLE
COMS E6111 Advanced Database Systems
COMS E6117 Topics in Programming Languages and Translators
COMS E6118 Operating Systems II
COMS E6121 Reliable Software
COMS E6125 Web-Enhanced Information Management
COMS E6901* Projects in Computer Science
COMS E6998* Topics in Computer Science (Fall 13: Search Engine Technology, Cloud Computing: Concepts/Practice)
*Projects in Computer Science (6901) and Topics in Computer Science (6998) courses must be approved as qualifying “software systems” electives by your Software Systems Track Advisor. Typically this would mean topics/projects offered by a software systems faculty member or by an affiliated adjunct. Although rarely used, COMS E6900 Tutorial in Computer Science can be substituted for E6901 with the advisor’s approval.
Computer Science course descriptions are available here.

SECTION 5: GENERAL ELECTIVES

Candidates are required to complete at least six additional graduate points at or above the 4000 level; at least three of these points must be CS, the other three points may be technical or non-technical electives approved by the track advisor. At most three credits overall of the 30 graduate credits required for the MS degree may be “non-technical”.

 

Important note: Not all COMS or SEAS courses qualify as “technical”, a few are considered “non-technical” (most non-SEAS courses are considered “non-technical”, but a few may be deemed “technical”). Please complete a non-technical approval form, and once it is signed, forward it to Janine Maslov or Remi Moss.

SECTION 6: 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).

SECTION 7: CONTACT

Please direct all questions concerning the Software Systems Track to your designated advisor, which should be Prof. Ken Ross, Prof. Gail Kaiser or Prof. Roxana Geambasu.

*Please note that these course offerings are listed on a provisional basis only and may change from what is listed. Check the registrar’s website for definitive information.

The Vision and Graphics Track

The Vision and Graphics track is intended for students who wish to develop their knowledge of Computer Vision and Computer Graphics. The track also includes courses in related fields, such as Robotics, Machine Learning, and User Interfaces. Many of the courses are taught by faculty in the Columbia Vision and Graphics Center.

SECTION 1: REQUIREMENTS OVERVIEW

REQUIRED ELECTIVES*
CORE TRACK TRACK GENERAL
MINIMUM REQUIRED CREDITS 12 6 6 6
COURSES SEE SECTION 2 SEE SECTION 3 SEE SECTION 4 SEE SECTION 5
TOTAL MINIMUM REQUIRED CREDITS 18 12
30
COURSE AND CREDIT REQUIREMENTS FOR THE VISION AND GRAPHICS TRACK

Students must complete at least 30 credits, and of those 30 credits, minimum of 6 elective credits must be at the 6000 level. At least 3 of the track elective credits (Section 4) must be a 6000-level course. Students, who waive core or required track elective using previous courses, may take other Computer Science courses in lieu of waived ones.

SECTION 2: CORE COURSES

SECTION 3: REQUIRED TRACK COURSES

Candidates are required to complete two (2) courses out of the following eight (8) courses.
 COURSE ID  TITLE
COMS W4160 Computer Graphics
COMS W4167 Computer Animation
COMS W4170 User Interface Design
COMS W4731 Computer Vision
COMS W4733 Computational Aspects of Robotics
COMS W4735 Visual Interfaces to Computers
COMS W4771 Machine Learning
COMS W4737 (E6737) Biometrics

SECTION 4: ELECTIVE TRACK COURSES

Candidates are required to complete two (2) courses from the following list*. At least one of these courses must be a 6000-level CS course.
 COURSE ID  TITLE
COMS W4160 Computer Graphics
COMS W4162 Advanced Computer Graphics
COMS W4165 Computational Techniques in Pixel Processing
COMS W4167 Computer Animation
COMS W4170 User Interface Design
COMS W4172 3D User Interfaces
COMS W4731 Computer Vision
COMS W4733 Computational Aspects of Robotics
COMS W4735 Visual Interfaces to Computers
COMS W4737 Biometrics
COMS W4771 Machine Learning
COMS W4772 Advanced Machine Learning
COMS W4995 Video Game Technology (Production) and Design
COMS W4995 Video Game Development
COMS E6160 Topics in Computer Graphics
COMS E6161 Rendering
COMS E6174 Interaction Design: A Perceptual Approach
COMS E6176 User Interfaces for Mobile & Wearable Computing
COMS E6732 Computational Imaging
COMS E6733 3-D Photography
COMS E6734 Computational Photography
COMS E6735 Visual Databases
COMS E6737 Biometrics
COMS E6998 Topics in Computer Vision
COMS E6998 Mobile HCI
COMS E6998 Advanced Image-Based Vision and Rendering
COMS E6998 3D UI Curriculum Design
COMS E6998 Computational Aspects of Geometrical Design
COMS E6998 Advanced Video Game Development
COMS E6998 Humanoid Robotics
COMS E6998 CV and ML on Mobile Platforms
COMS E6998 Graphics & Comp Motion
COMS E6998 Geometry Processing and Animation
COMS E6901 Projects in Computer Science
Computer Science course descriptions are available here.

SECTION 5: GENERAL ELECTIVES

Students must complete six credits of appropriate General Elective graduate courses, three at the 6000 level and three at the 4000 level or above, all approved in advance by the Track Advisor. Students may take up to 3 credits of non-technical course approved by the advisor. Please complete a non-technical approval form, and once it is signed, forward it to Janine Maslov or Remi Moss.

SECTION 6: 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).

SECTION 7: CONTACT

Please direct all questions concerning the NLP Track to Prof. Peter Allen and Prof. Peter Belhumeur.

*Please note that these course offerings are listed on a provisional basis only and may change from what is listed. Check the registrar’s website for definitive information.

The MS Personalized Track

The MS Personalized track is for students who want to study the areas of Computer Science that are not covered by one of the other tracks. Prior to selecting the Personalized track, you must consult a CS faculty member who agrees to be your advisor and agrees to oversee your program. This should happen in your first semester so that you can plan an appropriate and coherent course of study for the following two semesters. Retroactive approvals for the Personalized track in your second or third semester will not be considered. Also, please note that minor changes to existing tracks are not considered for the Personalized track.

SECTION 1: REQUIREMENTS OVERVIEW

REQUIRED ELECTIVES*
CORE TRACK TRACK GENERAL
MINIMUM REQUIRED CREDITS 12 6
COURSES SEE SECTION 2 SEE SECTION 3 SEE SECTION 4 SEE SECTION 5
TOTAL MINIMUM REQUIRED CREDITS 18 12
30
COURSE AND CREDIT REQUIREMENTS FOR THE MS PERSONALIZED TRACK

How to select a Personalized track:

1) Arrange with a faculty member in the CS Department to be your advisor, and consult with your advisor to plan your course of study in your first semester.

2) Finalize the plan by the beginning of your second semester.

3) Email the Program Plan to Remi Moss to change your track in MICE. Deadline to change your track is the beginning of your second semester.

SECTION 2: CORE COURSES

The following is a list of Computer Science core courses:

Students must complete at least 30 credits, and of those 30 credits, minimum of 6 elective credits must be at the 6000 level. Students should discuss the program plan with advisors.

SECTION 3: REQUIRED TRACK COURSES

While core courses may be imported from another institution, this is an advisor-approved 30-point program. Students must complete at least 6 points of 6000-level graduate courses selected from Computer Science and/or related areas together with your faculty advisor. At most 3 credits overall may be from “non-technical” graduate courses.

SECTION 4: ELECTIVE TRACK COURSES

Students using previous courses to fulfill core requirements may complete the 30 graduate credits by selecting additional graduate courses; at most 3 credits overall may be from “non-technical” graduate courses.

SECTION 5: GENERAL ELECTIVES

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

SECTION 6: 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).

SECTION 7: CONTACT

Please direct all questions concerning the MS Personalized Track to Prof. Mihalis Yannakakis.

The MS Thesis Track

The MS Thesis track is for students who want to concentrate on research in some sub-field of Computer Science. You are required to arrange for a Computer Science faculty member who agrees to advise the thesis and the rest of your course selection prior to selecting the track.

SECTION 1: REQUIREMENTS OVERVIEW

REQUIRED ELECTIVES*
CORE TRACK TRACK GENERAL
MINIMUM REQUIRED CREDITS 12 9 9
COURSES SEE SECTION 2 SEE SECTION 3 SEE SECTION 4 SEE SECTION 5
TOTAL MINIMUM REQUIRED CREDITS 21 9
30
COURSE AND CREDIT REQUIREMENTS FOR THE MS THESIS TRACK

Students must complete at least 30 credits, and of those 30 credits, minimum of 6 elective credits must be at the 6000 level. Students in this track must take 9 credits of thesis project course.

SECTION 2: CORE COURSES

 

SECTION 3: REQUIRED TRACK COURSES

Candidates are required to complete 9 points of COMS E6902 Thesis. The points are typically spread over multiple semesters, e.g., 3 points each for 3 semesters or 4.5 points each for 2 semesters. No more than 9 points of E6902 may be taken. Sign up for the section number of E6902 associated with your thesis advisor.

 

SECTION 4: ELECTIVE TRACK COURSES

Candidates are required to complete 9 additional elective credits of graduate courses (4000 level or above) selected from Computer Science and/or related areas together with your faculty thesis advisor. These would normally be strongly related to your thesis topic. Up to 3 of these points may be in COMS E6901 – Projects in Computer Science. The elective track courses cannot be imported from another institution.

 

SECTION 5: GENERAL ELECTIVES

Students using previous courses to fulfill core requirements may complete the 30 graduate credits by selecting additional graduate courses beyond the 9 points required for the track. At most 3 credits overall may be from “non-technical” graduate courses. All general electives must be approved by your thesis advisor.

SECTION 6: 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).

SECTION 7: THESIS DEFENSE

A thesis proposal is presented to your thesis committee at least three months before your defense. Your thesis committee should have three members. Two of them must be internal, but one can be an outsider. A publication-quality thesis document is published as a CS department technical report. Please bring the thesis defense form to your defense.

SECTION 8: CONTACT

Please direct all questions concerning the MS Thesis Track to Prof. Mihalis Yannakakis.

The Dual MS in Journalism and Computer Science Program

The dual degree program is designed to provide students with skills in Computer Science and Journalism to prepare them for new digital-media oriented careers in journalism. Students will earn Master’s degrees in Computer Science and in Journalism.

Students will enroll for a total of four semesters. In addition to taking classes already offered at the Journalism and Engineering schools, students will attend a seminar and workshop designed specifically for the dual degree program. The seminar will teach students about the impact of digital techniques on journalism; the emerging role of citizens in the news process; the influence of social media; and the changing business models that will support newsgathering. In the workshop, students will use a hands-on approach to delve deeply into information design, focusing on how to build a site, section or application from concept to development, ensuring the editorial goals are kept uppermost in mind. Students will also engage in projects supervised jointly by professors in Computer Science and Journalism to give them hands-on experience.

SECTION 1: ADMISSION REQUIREMENTS

    • Official Transcript(s)
    • Three letters of recommendation
    • GRE General Test (GRE Subject Test is not required)
    • TOEFL scores (International applicants for whom English is not their first language)
    • Autobiographical essay & Professional essay
    • Resume/CV
    • Writing samples
    • Writing Test (Administered by the J-School)
    • Application fee: $100

*Deadline to apply for the program is February 15, 2013.

For more information about the admissions requirements, please visit the Journalism website.

Admissions inquiries should be directed to Leon Braswell, the Director of Admission and Financial Aid, in Graduate School of Journalism, and Remi Moss, the Assistant Director of Academic Programs, in the CS Department.

SECTION 2: OVERALL CS REQUIREMENTS

A: CORE REQUIREMENTS

Students are required to take four courses from the following six:

 COURSE ID  TITLE
COMS W4111 Introduction to Databases
COMS W4115 Programming Language and Translators
COMS W4156 Advanced Software Engineering
COMS W4170 User Interface Design
CSOR W4231 Analysis of Algorithms
COMS W4701 Artificial Intelligence

B: REQUIRED TRACK COURSES

Candidates are required to complete three of the following courses:

 COURSE ID  TITLE
COMS W4112 Database Systems Implementation
COMS W4172 3D User Interfaces and Augmented Reality
COMS W4180 Network Security
COMS W4705 Natural Language Processing
COMS W4706 Spoken Language Processing
COMS W4731 Computer Vision
COMS W4771 Machine Learning
COMS W4772 Advanced Machine Learning
COMS W4995 Topics in CS with appropriate focus
COMS W4999 Computing and the Humanities

C: ELECTIVE TRACK COURSES

Students are required to take two courses from the following list, at least one of which must be a 6000-level course. Other courses on this list may be used as general electives or to replace core or required track courses when the student has received a waiver.

 COURSE ID  TITLE
COMS E6111 Advanced Database Systems
COMS E6113 Topics in Database Systems
COMS E6125 Web-Enhanced Information Management
COMS E6175 Interaction Design
COMS E6176 User Interfaces for Mobile and Wearable Computing
COMS E6733 3D Photography
COMS E6734 Computational Photography
COMS E6735 Visual Databases
COMS E6901 Projects in CS
ELEN E6850 Visual Information Systems
COMS E6998 Topics in CS with appropriate focus

If you have any questions about the CS requirements, please contact Prof. Augustin Chaintreau.

3. JOURNALISM REQUIREMENTS

Please visit the Journalism website to see journalism requirements. If you have any questions, please contact Emily Bell and Susan McGregor.

4. GRADUATION

Candidates preparing for graduation should submit a track graduation form to Remi Moss (an example of a completed form is available here).