Master of Science in Computer Science


Please note: This degree program requirements page is applicable to students who are seeking acceptance into the Masters Program in Computer Science for the Summer 2005 semester and later. For those students admitted into the program prior to the Summer 2005 semester, please refer to the old program requirements.

Department: Computer Science
Transcript Designation: Master of Science in Computer Science
Program Advisor: Academic Questions: e-mail advisor@cvn.columbia.edu
Administrative Questions: e-mail cvn@cvn.columbia.edu



Program Description:

The function and influence of the computer is pervasive in contemporary society. Today’s computers process the daily transactions of international banks, the data from communications satellites, the images in video games, and even the fuel and ignition systems of automobiles.

Computer software is as commonplace in education and recreation as it is in science and business. There is virtually no field or profession that does not rely upon computer science for the problem-solving skills and the production expertise required in the efficient processing of information. Computer scientists, therefore, function in a wide variety of roles, ranging from pure theory and design to programming and marketing.

The computer science curriculum at Columbia places equal emphasis on theoretical computer science and mathematics and on experimental computer technology. A broad range of upper-level courses is available in such areas as artificial intelligence, computational complexity and the analysis of algorithms, combinatorial methods, computer architecture, computer-aided digital design, computer communications, databases, mathematical models for computation, optimization, and software systems.

The Master of Science (M.S.) program is intended for professionals who wish to broaden and deepen their understanding of computer science. 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 seven such disciplines.


Admission Requirements:

Degree required for admission: Most candidates have completed an undergraduate degree in computer science. Applicants with degrees in other disciplines and a record of excellence are encouraged to apply; these applicants are required to have completed at least 4 computer science courses covering the foundations of the field and 2 math courses.

GPA required: Most students admitted have earned a grade point average above 3.5 (out of 4.0); a GPA of at least 3.3 is required.

GRE requirements: General test required. A subject GRE test is not required but may be helpful in strengthening your application.

Competence in English: Applicants whose native language is not English and who have not studied at schools where English is the primary language must complete the TOEFL exam with a minimum grade of 600 on the written TOEFL, or 250 on the computerized version.

Other application requirements: Two recommendation letters, transcripts, resume, and a personal-professional statement are required. All application requirements in the Graduate Application must be completed as specified in the application.


Degree Requirements:

Students must complete all core courses and selected electives for a total of 30 graduate points of academic work while maintaining a minimum grade point average of 2.7. All degree requirements must be completed within 5 years of the beginning of the first course credited toward the degree. This includes courses taken in the non-degree program.

Students must complete the Core breadth requirements and select among one of the Concentration Tracks.


Core Breadth Requirements:
Students must complete at least four Core courses out of the following six:

COMS W4115: Programming Languages and Translators

COMS W4118: Operating Systems

COMS W4156: Advanced Software Engineering

CSOR W4231: Analysis of Algorithms

COMS W4701: Artificial Intelligence

CSEE W4824: Computer Architecture


Concentration Tracks:
Concentration tracks enable students to gain an in-depth understanding of specific computer science disciplines.

The following tracks are offered by the department:

The Computer Security Track

The Foundations of Computer Science Track

The Machine Learning Track

The Natural Language Processing Track

The Network Systems Track

The Software Systems Track

The Vision and Graphics Track

M.S. Personalized Track


Transfer of credit:

Up to 6 credit hours (points) of acceptable graduate-level academic work from an accredited academic institution earned prior to enrolling at Columbia may be transferred to Columbia, subject to departmental approval. Students must request the transfer of credit while applying to the MS program. Credit will only be considered for transfer if the grades earned were at least 3.0 on the 4.0 scale. An official college transcript and copy of the class syllabus and/or course description from the school's bulletin must accompany the "Transfer of Credit Request" form. Please note that courses already used towards completion of another degree program can not be re-used for transfer credit.