## ##   * Overview
  * Program Requirements
Master of Science in Computer Science—Align students come from a wide variety
of backgrounds, with undergraduate majors including math, biology, history,
engineering, and classics. The program begins with a two-semester introductory
sequence, which provides the foundational knowledge for students from
nontechnical backgrounds to succeed. Students have an opportunity to acquire
both the knowledge needed to transition into a new career and the practical
skills to build the next great app.
* * *
  * Concentrations and course offerings may vary by campus and/or by program modality. Please consult with your advisor or admissions coach for the course availability each term at your campus or within your program modality.
  * Certain options within the program may be  _required_ at certain campuses or for certain program modalities. Please consult with your advisor or admissions coach for requirements at your campus or for your program modality. 
* * *
Complete all courses and requirements listed below unless otherwise indicated.
## Align Bridge Coursework
Students are required to take all bridge courses unless otherwise determined
by the program.
A grade of B or higher is required in each course.
Course List Code | Title | Hours  
---|---|---  
_Fundamentals_|  
[CS 5001](/search/?P=CS%205001 "CS 5001")  
and [CS 5003](/search/?P=CS%205003 "CS 5003")| Intensive Foundations of
Computer Science  
and Recitation for CS 5001| 4  
_Discrete Structures_|  
[CS 5002](/search/?P=CS%205002 "CS 5002")| Discrete Structures| 4  
_Object-Oriented Design_|  
[CS 5004](/search/?P=CS%205004 "CS 5004")  
and [CS 5005](/search/?P=CS%205005 "CS 5005")| Object-Oriented Design  
and Recitation for CS 5004| 4  
_Additional ALIGN courses_|  
[CS 5008](/search/?P=CS%205008 "CS 5008")  
and [CS 5009](/search/?P=CS%205009 "CS 5009")| Data Structures, Algorithms,
and Their Applications within Computer Systems  
and Recitation for CS 5008| 4  
## Core Requirements
Course List Code | Title | Hours  
---|---|---  
Algorithms|  
[CS 5800](/search/?P=CS%205800 "CS 5800")| Algorithms| 4  
## Breadth Areas
Course List Code | Title | Hours  
---|---|---  
Select three courses from two of the three following breadth areas:| 12  
_Systems and Software_|  
[CS 5400](/search/?P=CS%205400 "CS 5400")| Principles of Programming Language|  
[CS 5500](/search/?P=CS%205500 "CS 5500")| Foundations of Software
Engineering|  
[CS 5520](/search/?P=CS%205520 "CS 5520")| Mobile Application Development|  
[CS 5600](/search/?P=CS%205600 "CS 5600")| Computer Systems|  
[CS 5610](/search/?P=CS%205610 "CS 5610")| Web Development|  
[CS 5700](/search/?P=CS%205700 "CS 5700")| Fundamentals of Computer
Networking|  
[CS 5850](/search/?P=CS%205850 "CS 5850")| Building Game Engines|  
[CS 6410](/search/?P=CS%206410 "CS 6410")| Compilers|  
[CS 6510](/search/?P=CS%206510 "CS 6510")| Advanced Software Development|  
[CS 6620](/search/?P=CS%206620 "CS 6620")| Fundamentals of Cloud Computing|  
[CS 6650](/search/?P=CS%206650 "CS 6650")| Building Scalable Distributed
Systems|  
[CS 6710](/search/?P=CS%206710 "CS 6710")| Wireless Network|  
_Theory and Security_|  
[CS 6760](/search/?P=CS%206760 "CS 6760")| Privacy, Security, and Usability|  
[CS 7805](/search/?P=CS%207805 "CS 7805")| Complexity Theory|  
[CY 5770](/search/?P=CY%205770 "CY 5770")| Software Vulnerabilities and
Security|  
[CY 6740](/search/?P=CY%206740 "CY 6740")| Network Security|  
_Artificial Intelligence and Data Science_|  
[CS 5100](/search/?P=CS%205100 "CS 5100")| Foundations of Artificial
Intelligence|  
[CS 5150](/search/?P=CS%205150 "CS 5150")| Game Artificial Intelligence|  
[CS 5200](/search/?P=CS%205200 "CS 5200")| Database Management Systems|  
[CS 5330](/search/?P=CS%205330 "CS 5330")| Pattern Recognition and Computer
Vision|  
[CS 6120](/search/?P=CS%206120 "CS 6120")| Natural Language Processing|  
[CS 6140](/search/?P=CS%206140 "CS 6140")| Machine Learning|  
[CS 6200](/search/?P=CS%206200 "CS 6200")| Information Retrieval|  
[CS 6220](/search/?P=CS%206220 "CS 6220")| Data Mining Techniques|  
[CS 6240](/search/?P=CS%206240 "CS 6240")| Large-Scale Parallel Data
Processing|  
[CS 7140](/search/?P=CS%207140 "CS 7140")| Advanced Machine Learning|  
## Electives
Course List Code | Title | Hours  
---|---|---  
Complete 12 semester hours from the following: 1| 12  
[CS 5097](/search/?P=CS%205097 "CS 5097")| Mixed Reality|  
[CS 5100](/search/?P=CS%205100 "CS 5100") to [CS 7980](/search/?P=CS%207980
"CS 7980")|  
[CS 7990](/search/?P=CS%207990 "CS 7990")| Thesis|  
[CS 8674](/search/?P=CS%208674 "CS 8674")| Master’s Project|  
[CS 8982](/search/?P=CS%208982 "CS 8982")| Readings|  
[CY 5010](/search/?P=CY%205010 "CY 5010")| Cybersecurity Principles and
Practices|  
[CY 5130](/search/?P=CY%205130 "CY 5130")| Computer System Security|  
[CY 5210](/search/?P=CY%205210 "CY 5210")| Information System Forensics|  
[DS 5110](/search/?P=DS%205110 "DS 5110")| Introduction to Data Management and
Processing|  
[DS 5230](/search/?P=DS%205230 "DS 5230")| Unsupervised Machine Learning and
Data Mining|  
1
Specific electives such as [CS 7980](/search/?P=CS%207980 "CS 7980") Research
Capstone, [CS 7990](/search/?P=CS%207990 "CS 7990") Thesis, or [CS
8674](/search/?P=CS%208674 "CS 8674") Master’s Project may be required at
certain Northeastern campuses. Students should consult with their program
advisor when developing a plan of study.
## Program Credit/GPA Requirements
36-44 total semester hours required  
Minimum 3.000 GPA required