Students who obtain a Master's of Science in Computer Science are qualified to do significant development work in the computer industry or important application areas. Those who receive a doctoral degree are in a position to hold faculty appointments and do research and development work at the forefront of this rapidly changing and expanding field. Additionally, the department offers a Masters of Science in Information Systems in collaboration with the Stern School of Business. The emphasis in the MS in Information Systems program is on the use of computer systems in business. The Master of Science in Scientific Computing, just established by the Mathematics and Computer Science Departments, is designed to provide broad training in areas related to scientific computing using modern computing technology and mathematical modeling arising in various applications.
Established in 1969 as part of the Courant Institute of Mathematical Sciences, the department has experienced substantial growth in its faculty, student body, research staff, and funding. Research areas include algorithmics, computational geometry, high-level programming languages, compilers and compiler optimization techniques, parallel and distributed computing, design of computer systems, databases, artificial intelligence, natural language processing, graphics, multimedia, computer vision, mathematical programming, numerical analysis, computational biology and computational finance.
The core of the curriculum consists of courses in algorithms, programming languages, compilers, artificial intelligence, database systems, and operating systems. Advanced courses are offered in many areas such as natural language processing, the theory of computation, computer vision, software engineering, compiler optimization techniques, computer graphics, distributed computing, multimedia, networks, cryptography and security, and computational finance. Adjunct faculty, drawn from outside academia, teach special topics courses in their areas of expertise.
The Masters in Computer Science (MSCS) program is designed to make you a better thinker, a better programmer and a better system architect. It will also provide you with a good understanding of current technology. Our philosophy is to require you to master foundational topics and then let you specialize in application areas of your interest. You will gain a broad and deep understanding of many aspects of computer science, choosing among such fields as security and cryptography, graphics, scientific computing, programming languages, databases, networking, and distributed systems, to name a few. This may enable you to become a design lead in a complex multi-faceted project.
Admissions
All applicants to the Graduate School of Arts and Science (GSAS) are required to submit the general application requirements, which include:
Master's Thesis Research (fulfills capstone requirement)
Total Credits
30
Foundational Course Requirement
To fulfill the foundational course requirement, students must successfully complete all three foundational courses, CSCI-GA 1170 Fundamental Algorithms, CSCI-GA 2110 Programming Languages and CSCI-GA 2250 Operating Systems with at least a GPA of 2.666 or B- or higher average between the three courses.
Application Area Elective
Students must successfully complete one 3 credit course in at least one application area: Intelligence Systems, Computing for Science and Society, Graphics or Databases.
Capstone Requirement
Capstone Course or Thesis
To fulfill the capstone requirement, students must successfully complete a capstone course with a grade of B or higher that represents a combination of the key elements of the MS program of study or with approval from the department, write a master’s thesis or complete (6 credits) or a capstone advanced lab (3 credits). To be eligible to write a master’s thesis, a student must achieve a GPA of 3.75 or higher after completing six courses and complete the three foundational courses with a grade of B+ or higher.
To fulfill the foundational course requirement, students must successfully complete all three foundational courses, CSCI-GA 1170 Fundamental Algorithms, CSCI-GA 2110 Programming Languages and CSCI-GA 2250 Operating Systems with at least a GPA of 2.666 or B- or higher average between the three courses.
Capstone Requirement
Concentration Capstone Course
To fulfill the concentration capstone requirement, students must successfully complete a concentration capstone course with a grade of B or higher that represents a combination of the key elements of the MS program of study. The master's thesis does not fulfill the concentration capstone course requirement.
Upon successful completion of the program, graduates will have achieved the following learning outcomes:
Algorithms: By the end of their first year (for full-time students), students should be able to analyze the mathematical complexity of a wide range of algorithms and be able choose the most appropriate algorithm to use for a given programming task.
Programming Languages. By the end of their first year (for full-time students), students should understand the fundamental features of programming languages of the procedural, object-oriented, and functional language paradigms, as well as be able to write programs in a substantial number of different languages covering these paradigms.
Operating Systems. By the end of their first year (for full-time students), students should have a detailed understanding of the design and implementation of modern operating systems, including processes and synchronization, memory management, file systems, and input/output.
Large-scale Software Development. By the completion of their studies, students should have extensive skills in large scale software development and should have completed a project integrating algorithmic design, software development, and testing (by completion of the studies). In this project, students are expected to be able to implement large software components using the analysis, design, and implementation skills learned in the MSCS program.