Computer Science, MSCS—ALIGN Program

MSCS-ALIGN students come from a wide variety of backgrounds—with undergraduate majors ranging from math, biology, history, engineering, and classics. In this program, 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. In this program, students may learn to:

  • Develop the ability to recognize and solve problems arising in modern computing
  • Assimilate ideas and concepts from theoretical studies and hands-on design and programming
  • Acquire skills in software and application design, network infrastructure, and other dynamic and emerging computer science areas

Complete all courses and requirements listed below unless otherwise indicated.

Required Course Work

CS 5001
and CS 5003
Intensive Foundations of Computer Science
and Recitation for CS 5001
Discrete Structures
CS 5002Discrete and Data Structures4
Object-Oriented Design
CS 5004
and CS 5005
Object-Oriented Design
and Recitation for CS 5004
Other Foundation Courses
CS 5006Algorithms2
CS 5007Computer Systems2
CS 5500Managing Software Development (a grade of B or higher is required)4
or CS 5600 Computer Systems
CS 5800Algorithms (a grade of B or higher is required)4


Complete 8 semester hours from one of the specialization areas lists below.8
Complete 4 semester hours from the following:4
CS 5100 to CS 5850
CS 6110 to CS 6810
Master’s Project


 Complete 8 semester hours from the following:

Artificial Intelligence
Foundations of Artificial Intelligence
Robotic Science and Systems
Knowledge-Based Systems
Natural Language Processing
Machine Learning
Advanced Machine Learning
Seminar in Artificial Intelligence
Special Topics in Artificial Intelligence
Computer-Human Interface
Computer/Human Interaction
Applied Geometric Representation and Computation
Empirical Research Methods
Advanced Machine Learning
Database Management
Database Management Systems
Machine Learning
Information Retrieval
Data Mining Techniques
Parallel Data Processing in MapReduce
Seminar in Database Systems
Special Topics in Database Management
Computer Graphics
Digital Image Processing
Pattern Recognition and Computer Vision
Mobile Application Development
Computational Imaging
Seminar in Graphics/Image Processing
Special Topics in Graphics/Image Processing
Information Security
Software Vulnerabilities and Security
Foundations of Formal Methods and Software Analysis
Network Security
Cryptography and Communications Security
Privacy, Security, and Usability
Special Topics in Software Engineering
Fundamentals of Computer Networking
Social Computing
Wireless Network
Network Security
Cryptography and Communications Security
Privacy, Security, and Usability
Seminar in Computer Networks
Seminar in Computer Security
Special Topics in Networks
Programming Languages
Principles of Programming Language
Semantics of Programming Language
Advanced Software Development
Software Development
Seminar in Programming Languages
Special Topics in Programming Language
Seminar in Software Development
Software Engineering
Web Development
Advanced Software Development
Methods of Software Development
Analysis of Software Artifacts
Engineering Reliable Software
Foundations of Formal Methods and Software Analysis
Seminar in Software Engineering
Special Topics in Software Engineering
Computer Architecture
High Performance Computing
Parallel Computing
Network Security
Seminar in Computer Systems
Special Topics in Computer Systems
Parallel Computing
Cryptography and Communications Security
Application of Information Theory
Distributed Algorithms
Theory of Computation
Seminar in Theoretical Computer Science
Special Topics in Theories of Computer Science
Game Design
Game Artificial Intelligence
Computer Graphics
Computer/Human Interaction
Building Game Engines
Advanced Machine Learning

Program Credit/GPA Requirements

44 total semester hours required
Minimum 3.000 GPA required