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

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

Electives

Complete 20 semester hours from the following. A minimum of 8 semester hours must be taken from the same specialization.20
Master’s Project
Readings
Thesis
Specializations
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
Large-Scale Parallel Data Processing
Seminar in Database Systems
Special Topics in Database Management
Game Design
Game Artificial Intelligence
Computer Graphics
Computer/Human Interaction
Building Game Engines
Advanced Machine Learning
Graphics
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
Networks
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
Compilers
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
Building Scalable Distributed Systems
Seminar in Software Engineering
Special Topics in Software Engineering
Systems
Computer Architecture
High Performance Computing
Parallel Computing
Network Security
Seminar in Computer Systems
Special Topics in Computer Systems
Theory
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

Program Credit/GPA Requirements

44 total semester hours required
Minimum 3.000 GPA required