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
The following is a list of Computer Science 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 |
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 |
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
The following is a list of Computer Science 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 |
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
The following is a list of Computer Science 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 |
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 |
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
The following is a list of Computer Science 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 |
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 |
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
The following is a list of Computer Science 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 |
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 |
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
The following is a list of Computer Science 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 |
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 |
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
The following is a list of Computer Science 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) |
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) |
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 |
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
The following is a list of Computer Science core courses:
SECTION 3: REQUIRED TRACK 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
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 |
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 |
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
SECTION 4: ELECTIVE TRACK 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 |
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
The following is a list of Computer Science core courses:
Core courses may be imported from another institution.
SECTION 3: REQUIRED TRACK COURSES
SECTION 4: ELECTIVE TRACK COURSES
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 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).