M.S. Computer Science Specializations

Students in the M.S. Computer Science degree programs may choose one of 11 specializations. For more information, please consult this list of specializations and core courses:

Computational Perception and Robotics

Core Courses (6 hours)

Algorithms: Pick one (1) of:

  • CS 6505 Computability, Algorithms, and Complexity
  • CS 6515  Introduction to Graduate Algorithms 
  • CS 6520  Computational Complexity Theory
  • CS 6550 Design and Analysis of Algorithms
  • CS 7520  Approximation Algorithms
  • CS 7530  Randomized Algorithms
  • CSE 6140  Computational Science and Engineering Algorithms

And pick one of:

  • CS 6601 Artificial Intelligence
  • CS 7641 Machine Learning

Electives (9 hours)

Pick three (3) courses from Perception and Robotics, with at least one course from each.

Perception

  • CS 6475 Computational Photography
  • CS 6476 Computer Vision
  • CS 7499 3D Reconstruction
  • CS 7636 Computational Perception
  • CS 7639 Cyber Physical Design and Analysis
  • CS 7644 Machine Learning for Robotics
  • CS 7650 Natural Language

Robotics

  • CS 7630 Autonomous Robotics
  • CS 7631 Autonomous Multi-Robot Systems
  • CS 7633 Human-Robot Interaction
  • CS 7638 Artificial Intelligence Techniques for Robotics
  • CS 7648 Interactive Robot Learning
  • CS 7649 Robot Intelligence: Planning

Computer Graphics

Core Courses (6 hours)

Pick one (1) of:

  • CS 6491 Foundations of Computer Graphics
  • CS 6457 Video Game Design
  • CS 7496 Computer Animation

And pick one (1) of:

  • CS 6505 Computability, Algorithms, and Complexity 

  • CS 6515 Introduction to Graduate Algorithms

Electives (9 hours)

Pick three (3) from:

  • CS 6457 Video Game Design and Programming
  • CS 6475 Computational Photography
  • CS 6476 Computer Vision
  • CS 6491 Foundations of Computer Graphics
  • CS 6492 Shape Grammars
  • CS 6730 Data Visualization Principles
  • CS 7450 Information Visualization
  • CS 7496 Computer Animation

Computing Systems

Core courses (9 hours):

  • CS 6505 Computability, Algorithms, and Complexity

or

  • CS 6515  Introduction to Graduate Algorithms

And, pick two (2) of:

  • CS 6210 Advanced Operating Systems
  • CS 6241 Compiler Design
  • CS 6250 Computer Networks
  • CS 6290 High-Performance Computer Architecture
  • CS 6300 Software Development Process OR CS 6301 Advanced Topics in Software Engineering
  • CS 6390 Programming Languages
  • CS 6400 Database Systems Concepts and Designs
  • Any Core Courses in excess of the 9 hour requirement may be used as Computing Systems Electives

Electives (9 hours):

Pick three (3) courses from:

  • CS 6035 Introduction to Information Security
  • CS 6200 Graduate Introduction to Operating Systems
  • CS 6220 Big Data Systems and Analytics
  • CS 6235 Real Time Systems
  • CS 6238 Secure Computer Systems
  • CS 6260 Applied Cryptography
  • CS 6262 Network Security
  • CS 6263 Intro to Cyber Physical Systems Security
  • CS 6291 Embedded Software Optimization
  • CS 6310 Software Architecture and Design
  • CS 6340 Software Analysis and Testing
  • CS 6365 Introduction to Enterprise Computing
  • CS 6422 Database System Implementation
  • CS 6550 Design and Analysis of Algorithms
  • CS 6675 Advanced Internet Computing Systems and Applications
  • CS 7210 Distributed Computing
  • CS 7260 Internetworking Architectures and Protocols
  • CS 7270 Networked Applications and Services
  • CS 7280 Network Science
  • CS 7290 Advanced Topics in Microarchitecture
  • CS 7292 Reliability and Security in Computer Architecture
  • CS 7560 Theory of Cryptography
  • CS 8803 FPL Special Topics: Foundations of Programming Languages
  • CSE 6220 High Performance Computing
  • Any Special Topics (CS 8803) course that is being taught by a School of Computer Science faculty member may also count as a Computing Systems elective.  The definition of "School of Computer Science faculty member" is a faculty member who appears on the School of Computer Science website: https://scs.gatech.edu/people/faculty

High Performance Computing

Core Courses (6 hours):

  • CSE 6140 Computational Science and Engineering Algorithms
  • CSE 6220 High Performance Computing

Electives (9 hours):

Pick three (3) from:

  • CSE 6221 Multicore Computing: Concurrency and Parallelism on the Desktop
  • CS/CSE 6230 High-Performance Parallel Computing: Tools and Applications
  • CS 6241 Compiler Design
  • CS 6290 High-Performance Computer Architecture
  • CS/CSE 8803 Special Topics: Parallel Numerical Algorithms
  • CSE 6236 Parallel and Distributed Simulation
  • CSE 8803 Special Topics: Hot Topics in Parallel Computing

Human Centered Computing

(This specialization is only for PhD students in HCC who want to earn an MSCS degree)

Core Courses (9 hours):

  • CS 6451 Intro to HCC

AND

  • CS 6452 Prototyping Interactive Systems

AND

  • CS 7455 Issues in HCC

Electives (6 hours):

Pick two (2) from:

  • CS 6455 User Interface Design and Evaluation
  • CS 6456 User Interface Software
  • CS 6460 Educational Technology: Conceptual Foundations
  • CS 6465 Computational Journalism
  • CS 6470 Design of Online Communities
  • CS 6471 Computational Social Science
  • CS 6474 Social Computing
  • CS 6476 Computer Vision
  • CS 6601 Artificial Intelligence
  • CS 6730 Data Visualization: Principles & Applications
  • CS 6750 Human-Computer Interaction
  • CS 6795 Introduction to Cognitive Science
  • CS 7450 Information Visualization
  • CS 7451 Human-Centered Data Analysis
  • CS 7460 Collaborative Computing
  • CS 7461 Machine Learning
  • CS 7470 Mobile and Ubiquitous Computing
  • CS 7476 Advanced Computer Vision
  • CS 7610 Modeling and Design
  • CS 7632 Game AI
  • CS 7633 Human Robot Interaction
  • CS 7637 Knowledge-Based AI
  • CS 7620 Case-based Reasoning
  • CS 7650 Natural Language
  • CS 7695 Philosophy of Cognition
  • CS 7697 Cognitive Models of Science and Technology
  • CS 7790 Cognitive Modeling
  • CS 8803 Computational Creativity
  • CS 8803 Expressive AI
  • CS 8803 Computers, Communications & International Development

Human-Computer Interaction 

Core courses (6 hours):

  • CS 6456 Principles of User Interface Software OR CS 7470 Mobile and Ubiquitous Computing
  • CS 6750 Human-Computer Interaction

Electives (9 hours):

Pick three (3) courses from the two sub-areas below, including at least one from each sub-area:

Sub-area: Design and evaluation concepts

  • CS 6010 Principles of Design
  • CS 6320 Software Requirements Analysis and Specification
  • CS 6455 User Interface Design and Evaluation
  • CS 6457 Video Game Design
  • CS 6460 Educational Technology: Conceptual Foundations
  • CS 6465 Computational Journalism
  • CS 6470 Design of Online Communities
  • CS 6795 Introduction to Cognitive Science
  • CS 7465 Educational Technology: Design and Evaluation
  • CS 7467 Computer-Supported Collaborative Learning
  • CS 7790 Cognitive Modeling

Sub-area: Interactive technology

  • CS 6440 Introduction to Health Informatics
  • CS 6730 Data Visualization: Principles & Applications
  • CS 6763 Design of Design Environments
  • CS 6770 Mixed Reality Experience Design
  • CS 7450 Information Visualization
  • CS 7451 Human-Centered Data Analysis
  • CS 7460 Collaborative Computing
  • CS 7470 Mobile and Ubiquitous Computing

Interactive Intelligence

[Prerequisite: An undergraduate or above algorithms/computational thinking course.]

Core courses (9 hours):

Take one (1) course from:

Algorithms and Design

  • CS 6300 Software Development Process
  • CS 6301 Advanced Topics in Software Engineering
  • CS 6505 Computability, Algorithms, and Complexity
  • CS 6515 Introduction to Graduate Algorithms
  • CSE 6140  Computational Science and Engineering Algorithms

And, two (2) courses from:​

  • CS 6601 Artificial Intelligence
  • CS 7637 Knowledge-Based AI
  • CS 7641 Machine Learning

Electives (6 hours): 

Pick two (2) courses from:

Interaction

  • CS 6440 Introduction to Health Informatics
  • CS 6460 Educational Technology: Conceptual Foundations
  • CS 6465 Computational Journalism
  • CS 6471 Computational Social Science
  • CS 6603 AI, Ethics, and Society
  • CS 6750 Human-Computer Interaction 

AI Methods

  • CS 6476 Computer Vision
  • CS 7631 Multi-Robot Systems
  • CS 7632 Game AI
  • CS 7633 Human-Robot Interaction
  • CS 7634 AI Storytelling in Virtual Worlds
  • CS 7643 Deep Learning
  • CS 7647 Machine Learning with Limited Supervision
  • CS 7650 Natural Language
  • CS 8803 Special Topics: Advanced Game AI

Cognition

  • CS 6795 Introduction to Cognitive Science
  • CS 7610 Modeling and Design
  • CS 7651 Human and Machine Learning
  • CS 8803 Special Topics: Computational Creativity

Machine Learning 

Core courses (6 hours):

Algorithms: Pick one (1) of:

  • CS 6505 Computability, Algorithms, and Complexity
  • CS 6515 Introduction to Graduate Algorithms
  • CS 6520 Computational Complexity Theory
  • CS 6550 Design and Analysis of Algorithms
  • CS 7510 Graph Algorithms
  • CS 7520 Approximation Algorithms
  • CS 7530 Randomized Algorithms
  • CSE 6140 Computational Science and Engineering Algorithms

And, pick one (1) of:

  • CS 7641 Machine Learning
  • CSE 6740 Computational Data Analysis: Learning, Mining, and Computation

Electives (9 hours): 

Elective ML courses must have at least 1/3 of their graded content based on Machine Learning.

Pick three (3) of:

  • CS 6220 Big Data Systems & Analysis
  • CS 6476 Computer Vision 
  • CS 6603 AI, Ethics, and Society
  • CS 7280 Network Science
  • CS 7535 Markov Chain Monte Carlo
  • CS 7540 Spectral Algorithms
  • CS 7545 Machine Learning Theory
  • CS 7616 Pattern Recognition
  • CS 7626 Behavioral Imaging 
  • CS 7642 Reinforcement Learning and Decision Making
  • CS 7643 Deep Learning 
  • CS 7644 Machine Learning for Robotics
  • CS 7646 Machine Learning for Trading
  • CS 7650 Natural Language
  • CS 8803 Special Topics: Probabilistic Graph Models
  • CSE 6240 Web Search and Text Mining
  • CSE 6242 Data and Visual Analytics
  • CSE 6250 Big Data for Health
  • ISYE 6416 Computational Statistics
  • ISYE 6420 Bayesian Methods
  • ISYE 6664 Stochastic Optimization
  • Approved Substitutions

Modeling and Simulations

Core courses (6 hours):

  • CSE 6730 Modeling and Simulation: Foundations and Implementation

And pick one (1) of

  • CSE 6220 High Performance Computing
  • ISYE 6644 Simulation
  • MATH 6640 Introduction to Numerical Methods for Partial Differential Equations

Electives (9 hours):

Pick three (3) of:

  • CSE 6220 High Performance Computing 
  •  CSE 6236 Parallel and Distributed Simulation
  • CSE/CHEM 8803 Special Topics: Quantum Information, Computation, and Simulation
  • CS 7280 Network Science
  • INTA 6742 Modeling, Simulation and Military Gaming
  • ISYE 6644 Simulation
  • MATH 6640 Introduction to Numerical Methods for Partial Differential Equations

Scientific Computing 

Core courses (6 hours):

  • CSE/MATH 6643 Numerical Linear Algebra

Pick one (1) of:

  • CSE/MATH 6644 Iterative Methods for Systems of Equations
  • MATH 6640 Introduction to Numerical Methods for Partial Differential Equations

Electives (9 hours):

Pick three (3) of:

  • CS/CSE 6230 High-Performance Parallel Computing: Tools and Applications
  • CS/CSE 8803 Special Topics: Parallel Numerical Algorithms
  • CSE 6140 Computational Science and Engineering Algorithms
  • CSE 6220 High Performance Computing
  • CSE/MATH 6644 Iterative Methods for Systems of Equations
  • CSE 8803 Special Topics: Algorithms for Medical Imaging and Inverse Problems
  • CSE 8803/CHEM 6485 Computational Chemistry
  • MATH 6640 Introduction to Numerical Methods for Partial Differential Equations

Social Computing

Core courses (6 hours):

Pick two (2) of:

  • CS 6470 Design of Online Communities
  • CS 6474 Social Computing
  • CS 6471 Computational Social Science

Electives (9 hours):

Pick three (3) more classes including additional classes from the above and:

  • CS 6238 Secure Computer Systems
  • CS 6250 Computer Networks
  • CS 6456 Principles of User Interface Software
  • CS 6465 Computational Journalism
  • CS 6505 Computability, Algorithms, and Complexity
  • CS 6515 Introduction to Graduate Algorithms 
  • CS 6675 Advanced Internet Computing Systems and Applications
  • CS 6730 Data Visualization: Principles & Applications
  • CS 6750 Human-Computer Interaction
  • CS 7210 Distributed Computing
  • CS 7270 Networked Applications and Services
  • CS 7280 Network Science
  • CS 7450 Information Visualization
  • CS 7451 Human-Centered Data Analysis
  • CS 7467 Computer-Supported Collaborative Learning
  • CS 7650 Natural Language

Visual Analytics

Core courses (9 hours):

  • CS 6730 Data Visualization: Principles & Applications
  • CS 7450 Information Visualization
  • CSE 6242 Data and Visual Analytics

Electives (6 hours): 

Pick two (2) from:

  • CS 6456 Principles of User Interface Software
  • CS 6465 Computational Journalism
  • CS 6491 Computer Graphics
  • CS 6750 Human-Computer Interaction
  • CS 6795 Introduction to Cognitive Science
  • CS 7451 Human-Centered Data Analysis
  • CS 7641 Machine Learning
  • CSE 6740 Computational Data Analysis