Master's Program

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. 

Program requirements include four core courses taken over the first two semesters of study. These courses are Computer Architecture and Organization, 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. In addition to the four 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.  Course selections are subject to change.

Master's students must meet the following degree requirements:

1. Complete the following four core courses:

  • CS 520 Computer Architecture and Organization  (offered in fall semester)
  • CS 550 Operating Systems  (offered in spring semester)
  • CS 571 Programming Languages  (offered in fall semester)
  • CS 575 Design & Analysis of Computer Algorithms  (offered in spring semester)

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 533   Information Retrieval
  • 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 576   Programming Models for Emerging Platforms (must complete the project option)
  • CS 580G Game Development for Mobile Platforms
  • 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:

Note:

  • 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

 

Last Updated: 8/12/16