The Master's program leads to a Master of Science in Computer Science. It is intended for students with a strong background in computer science and a desire to prepare for research studies or professional practice. Holders of the baccalaureate degree in computer science or a related field are invited to apply for admission to the MSCS program. Students whose undergraduate degree is not in computer science may be required to complete some preparatory work in addition to fulfilling the requirements listed below.
Program requirements include four core courses taken over the first two semesters of study. These courses are Computer Organization and Architecture, Operating Systems, Programming Languages and Design & Analysis of Computer Algorithms. Three graduating options are offered: a thesis option, a project option and a comprehensive exam. Beyond the 4 core courses, these options require students to complete 4, 5 and 6 elective courses, respectively, chosen from a broad set of courses offered by the Department.
Master's students must meet the following degree requirements:
1. Complete the following four core courses
- CS 520 Computer Organization and Architecture,
- CS 550 Operating Systems
- CS 571 Programming Languages
- CS 575 Design & Analysis of Computer Algorithms
2. Complete at least one of the following courses that involve the design and implementation of large programs
- CS 527 Mobile Computing and Networking
- CS 528 Data Comm and Computer Networks
- CS 529 High Performance Computer Networks
- CS 540 Topics in Object-Oriented Programming
- CS 542 Design Patterns
- CS 547 Web Services & XML Programming
- CS 551 Systems Programming
- CS 553 Introduction to Grid Computing
- CS 554 Introduction to Real-time Embedded Systems (must complete the project option)
- CS 555 Introduction to Visual Information Processing
- CS 557 Introduction to Distributed Systems
- CS 558 Introduction to Computer Security (must complete the project option)
- CS 560 Computer Graphics
- CS 572 Compiler Construction
- CS 622 Advanced Computer Architecture Seminar
- CS 634 Web Data Management (must complete the project option)
- CS 654 Distributed Systems
Before each semester, a list of other courses (if any) meeting this requirement will be published.
3. Complete one of the following
- Complete five additional courses approved by the student's faculty adviser (making a total of ten courses) and pass a comprehensive examination covering the four core areas.
- Complete four additional courses approved by the student's faculty adviser (making a total of nine courses) and develop and present a project.
- Complete three additional courses approved by the student's faculty adviser (making a total of eight courses) and write and defend a thesis.
4. Maintain a B average for all course work.
- Students whose undergraduate degree is not in computer science may be required to complete some preparatory work in addition to fulfilling the requirements listed above.
- With faculty adviser approval, courses may be taken from other departments in the Watson School or from other schools within the University.
The online University Bulletin contains the official departmental degree requirements and course descriptions.
- MS degree requirements can be found by selecting "Computer Science - Graduate" in the pull-down list under the heading "Graduate Programs by Department."
- Graduate course descriptions can be found by selecting "Computer Science - Graduate" in the pull-down list under the heading "Courses by Department."
The University also maintains an online list of courses by semester and department