Skip to main content
Computer Science

Master's Program

The Master's Program 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. View the Official University Requirements

While students maintain a “B” average throughout their academic work, there are three graduating options are offered:

  • a thesis option (4 advisor-approved elective courses)
  • a project option (5 advisor-approved elective courses)
  • a comprehensive exam (6 advisor-approved elective courses)

Note: Elective courses may be taken from other departments in the Watson School or from other schools within the University, subject to approval by the Graduate Director of the Department of Computer Science.

Students must take four core courses over the first two semesters of study:
Electives may be chosen from this list. One of the chosen electives must involve the design and implementation of large programs — electives matching this description are marked with an asterisk.
  • CS 526 Wireless Sensor Networks
  • CS 527* Mobile Computing and Networking
  • CS 528 Computer Networks (designation depends on semester/section offered*)
  • CS 532 Database Systems
  • CS 533* Information Retrieval
  • CS 535 Introduction to Data Mining
  • CS 540* Topics in Object-Oriented Programming
  • CS 542* Design Patterns
  • CS 545 Software Engineering
  • CS 551* Systems Programming
  • 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 559 Science of Cyber Security
  • CS 560* Computer Graphics
  • CS 572* Compiler Design
  • CS 576 Programming Models for Emerging Platforms (must complete the project option*)
  • CS 622 Advanced Computer Architecture Seminar
  • CS 634 Web Data Management (must complete the project option*)
  • CS 654 Distributed Systems

Recently offered Topics courses:

  • CS 580B Software Engineering Project Management
  • CS 580C Software Security
  • CS 580F* High Performance Computing
  • CS 580G* Game Development for Mobile Platforms
  • CS 580I Internet of Things
  • CS 580K Advance Topics in Cloud Computing
  • CS 580L Introduction to Machine Learning (designation depends on semester/section offered*)
  • CS 580R Intelligent Mobile Robotics
  • CS 580S Smart Devices and Sensing
  • CS 580W* Programming for the Web
  • CS 580Z z/VM Virtualization

MS Application Requirements for Matriculated Status

  • Completion of a baccalaureate degree in computer science or a closely related field with courses in algorithms and data structures, computer organization and architecture, operating systems, programming languages and discrete mathematics.
  • Official transcripts of past college work
  • Two letters of recommendation
  • A statement of personal academic goals
  • GRE scores
  • For foreign students, TOEFL results (minimum score of 550) and a statement of financial means
  • Applications can only be submitted online 

Non-Matriculated Status

Application for admission as a non-matriculated student may also be made to the Graduate Admissions Office. Non-matriculated students may enroll in courses without completing the formal application process described above, but they are encouraged to apply for matriculation after one semester of study.

Last Updated: 4/16/18