MS in Computer Science

The Master of Science (MS) in Computer Science program is for computer professionals and people who intend to move into the computer field from other areas of study.

Learning Outcomes

  • Advanced knowledge of computer language theory, software design, as well as databases, networks, or security.
  • Proficiency in algorithms, operating systems, computer language usage, software development, and the management of data, networks, or security.
  • Competence sufficient to investigate continually emerging new software technologies, applications, and approaches.
  • An understanding of, and ability to apply, the values and principles of professional ethics.
  • The ability to apply the principles of information security and assurance in a variety of contexts.
  • Effective communication, teamwork, and leadership skills.

Admissions Information

For current admissions information, please visit the Metropolitan College website.


Applicants to the program are required to have a bachelor’s degree from an accredited institution and academic or work experience with programming, discrete mathematics, and computer systems. If college-level credit or professional experience is not in evidence, the Admissions Committee will determine which, if any, of the following prerequisite courses will need to be taken. Students who complete the program’s prerequisites at Boston University can earn an undergraduate Certificate in Computer Science. Contact Admissions & Enrollment Services at 617-353-6000 or for more information.

Java Programming Track

  • MET CS 232 Programming with Java
  • MET CS 248 Discrete Mathematics
  • MET CS 342 Data Structures with Java
  • MET CS 472 Computer Architecture

C++ Programming Track

  • MET CS 231 Programming with C++
  • MET CS 248 Discrete Mathematics
  • MET CS 341 Data Structures with C++
  • MET CS 472 Computer Architecture

Students who do not have any programming experience are strongly encouraged to take MET CS 201 Introduction to Programming before the prerequisite programming sequences in C++ or Java.

Degree Requirements

Students are required to finish the core curriculum and either a five-course concentration or five general electives. The minimum passing grade for a course in the graduate program is a C (2.0), but an average grade of B (3.0) must be maintained to be in good academic standing and be eligible to graduate.

A total of 10 courses (40 units) is required, as follows:

Core Curriculum (five courses/20 units)

  • MET CS 535 Computer Networks
    MET CS 579 Database Management
  • MET CS 566 Analysis of Algorithms
  • MET CS 575 Operating Systems
  • MET CS 662 Computer Language Theory
  • MET CS 673 Software Engineering

Students who have completed courses on core curriculum subjects as part of their undergraduate degree program or have relevant work-related experience may request permission from the Department of Computer Science to replace the corresponding core courses with graduate-level computer science electives. Please refer to the MET CS Academic Policies Manual for further details.

General Electives (five courses/20 units)

Students who are not choosing a concentration must select five general electives. At least three courses must be at the 600 level or above. When choosing electives, students should make sure that they have all prerequisites required by the selected course.

  • MET CS 532 Computer Graphics
  • MET CS 544 Foundations of Analytics and Data Visualization
  • MET CS 550 Computational Mathematics for Machine Learning
  • MET CS 555 Foundations of Machine Learning
  • MET CS 561 Financial Analytics
  • MET CS 570 Biomedical Sciences and Health IT
  • MET CS 580 Health Informatics
  • MET CS 581 Health Information Systems
  • MET CS 599 Biometrics
  • MET CS 601 Web Application Development
  • MET CS 602 Server-Side Web Development
  • MET CS 622 Advanced Programming Techniques
  • MET CS 664 Artificial Intelligence
  • MET CS 665 Software Design and Patterns
  • MET CS 674 Database Security
  • MET CS 677 Data Science with Python
  • MET CS 683 Mobile Application Development with Android
  • MET CS 684 Enterprise Cybersecurity Management
  • MET CS 685 Network Design and Management
  • MET CS 688 Web Mining and Graph Analytics
  • MET CS 689 Designing and Implementing a Data Warehouse
  • MET CS 690 Network Security
  • MET CS 693 Digital Forensics and Investigations
  • MET CS 694 Mobile Forensics and Security
  • MET CS 695 Cybersecurity
  • MET CS 699 Data Mining
  • MET CS 701 Rich Internet Application Development
  • MET CS 763 Secure Software Development
  • MET CS 766 Deep Reinforcement Learning
  • MET CS 767 Advanced Machine Learning and Neural Networks
  • MET CS 775 Advanced Networking
  • MET CS 777 Big Data Analytics
  • MET CS 779 Advanced Database Management
  • MET CS 781 Advanced Health Informatics
  • MET CS 783 Enterprise Architecture
  • MET CS 787 Adversarial Machine Learning
  • MET CS 788 Generative AI
  • MET CS 789 Cryptography
  • MET CS 790 Computer Vision in AI
  • MET CS 793 Special Topics in Computer Science
  • MET CS 799 Advanced Cryptography

Electives other than those listed must be approved by an advisor.

Master’s Thesis Option in Computer Science (8 units)

Students majoring in computer science may elect a thesis option, to be completed within 12 months. This option is available to MS in Computer Science candidates who have completed at least seven courses toward their degree and have a grade point average (GPA) of 3.7 or higher. Students are responsible for finding a thesis advisor and a principal reader within the department. The advisor must be a full-time faculty member; the principal reader may be part-time faculty with a PhD (unless waived by department).

  • MET CS 810/811 Master’s Thesis in Computer Science


Declaration of More Than One Concentration

Students in the Master of Science in Computer Science program have the option to concentrate in more than one area for their MS program. Each concentration must be finished before the student officially graduates from their program. No additional concentrations may be added after graduation. In the case of some courses overlapping between one or more concentrations, only one course may count toward both concentrations. If more than one course overlaps, the student must take an elective in its place so that each concentration is completed.

Students may choose from the following concentrations:

Computer Networks

The Concentration in Computer Networks offers a broad foundation of information technology, along with an in-depth exploration of computer data communication and modern networking. The computer networks concentration provides a comprehensive examination of network design and implementation, network performance analysis and management, network security, and the latest networking technology. The program is designed to empower students with extensive hands-on experience in order to analyze, design, procure, manage, and implement cutting-edge computer networking solutions and technologies.

Learning Outcomes

  • Demonstrate advanced knowledge of data communication networks and protocols. Identify issues involved in multiaccess media and devices as applied to wired and wireless networks. Identify key areas for performance analysis and debugging of networks, along with techniques for network management in small- to large-scale networks.
  • Demonstrate proficiency in data communication protocols and networks, including such areas as: flow control, distributed synchronization, error detection and correction, and routing techniques, and where to implement them.
  • Demonstrate competence sufficient to design, specify, and develop data transfer protocols for specific purposes. Design, specify, plan, and define networks of any size. Analyze, evaluate, and select networking devices applicable to the network area that they are being implemented in, whether LAN, MAN, WAN, or wireless.

Data Analytics

The Concentration in Data Analytics will explore the intricacies of data analytics and expose students to various topics and tools related to data processing, analysis, and visualization. Students will learn probability theory, statistical analysis methods and tools, generating relevant visual presentations of data, and concepts and techniques for data mining, text mining, and web mining. Individuals who complete this program will have a solid knowledge of concepts and techniques in data analytics as well as a solid exposure to the methods and tools for data mining and knowledge discovery in addition to the broad background in the theory of practice of computer science from the core courses.

Learning Outcomes

  • Familiarity with applied probability and statistics and their relevance in day-to-day data analysis.
  • The ability to explore the various data visualization techniques and their applications using real-world data sets.
  • An understanding of web analytics and metrics; how to procure and process unstructured text; and hidden patterns.
  • Skills in facilitating knowledge discovery using data-mining techniques over vast amounts of data.


The Concentration in Security provides in-depth knowledge of emerging security threats and solutions to prepare technical leaders to identify, develop, and implement highly secure systems and networks that support organizational goals.

Learning Outcomes

  • Demonstration of advanced knowledge of cybersecurity concepts, models, principles, and practices, and ability to apply the knowledge to identify and solve the cybersecurity problems.
  • The ability to identify and explain social, legal, and ethical issues related to cybersecurity and privacy, and how they guide and apply cybersecurity design, planning, and decisions.
  • Demonstration of advanced knowledge of crypto algorithms and their applications.
  • Demonstration of advanced knowledge of network security and its applications.
  • The ability to identify and develop technologies and tools to prevent, detect, react, and recover from attacks in various contexts using both offensive and defensive thinking.
  • The ability to effectively communicate (verbally and in writing), work in teams, and provide leadership.

Second Master’s Degree Option

In appreciation of the converging needs of management and technology, the departments of Actuarial Science, Administrative Sciences, and Computer Science collaborate to offer a unique opportunity to students currently enrolled in their degree programs as well as alumni of those programs. Learn more.