Breadth

The breadth component of the program is intended to give students a view into a variety of areas within computing. Each student must take classes in 4 of the 18 areas of computer science, totaling 12 credits minimum. All students must take at least one programming course, and one Theory course.

After completing the Breadth Requirement, fill out the 'Breadth Requirement Form' and route through Docusign for signatures. Once signatures have been collected, no further action is required by the student. The breadth requirement is considered met.

The 18 areas are:

Of the four different courses, one must be from the Theory area. Students must earn an A or B in all of these courses, and more As than Bs total.

Students who have taken graduate level courses elsewhere before entering the program can petition to have those classes count towards filling the breadth requirement. Please see the 'equivalency credits' tab for details.

Breadth Component Areas and Classes

Breadth Area Classes
Computational Science and Engineering CSE 6140 Computational Science and Engineering Algorithms
CSE 6220 High Performance Computing
CSE 6730 Modeling and Simulation: Foundations and Implementation
CSE/Math 6643 Numerical Linear Algebra
CSE/ISYE 6740 Computational Data Analysis
Computer Architecture CS 6290 High Performance Computer Architectures
CS 7290 Advanced Microarchitecture
CS 7292 Reliability and Security in Computer Architecture
Note: students who have not already taken CS 6290 or the equivalent should take CS 6290 to satisfy this requirement. Those who have already taken CS 6290, or CS 4290 (Advanced Computer Organization) or the equivalent, can satisfy this requirement by taking CS 7290 or CS 7292.
Database Systems CS 4420 Database System Implementation
CS 6400 Database System Concepts and Design
CS 6411 Object-Oriented Database Models and Systems
CS 6421 Temporal, Spatial, and Active Databases
CS 6422 Database Systems Implementation
CS 6430 Parallel and Distributed Database Systems and Applications
Graphics & Visualization CS 6476 Computer Vision
CS 6480 Computer Visualization Techniques
CS 6491 Computer Graphics
CS 6780 Medical Image Processing
CS 7476 Advanced Computer Vision
CS 7490 Advanced Image Synthesis
CS 7491 3D Complexity
CS 7496 Computer Animation
CS 7497 Virtual Environments
CS 7636 Computational Perception
Human Computer Interaction CS 6451 Introduction to Human-Centered Computing
CS 6455 User Interface Design and Evaluation
CS 6456 Principles of User Interface Software
CS 6470 Design of Online Communities
CS 6750 Human-Computer Interaction
CS 7450 Information Visualization
CS 7451 Human-Centered Data Analysis
CS 7460 Collaborative Computing
CS 7470 Mobile and Ubiquitous Computing
CS 7633 Human-Robot Interaction
Cryptography CS 6260 Applied Cryptography
CS 7560 Theoretical Foundations of Cryptography
CS 8803 BC Blockchain & Cryptocurrencies
CS 8803 SMC Secure Multiparty Computation
CS 8803 SCP Secure Communication Protocols
~~CS 6236 Secure Computer Systems~~
~~CS 6262 Network Security~~
~~CS 6265 Information Security Lab~~
Artificial Intelligence CS 6601 Artificial Intelligence
CS 6795 Introduction to Cognitive Science
CS 7630 Autonomous Robotics
CS 7631 Multi-Robot Systems
CS 7632 Game AI
CS 7633 Human-Robot Interaction
CS 7634 AI Storytelling in Virtual Worlds
CS 7636 Computational Perception
CS 7637 Knowledge-Based AI
CS 7641 Machine Learning
CS 7643 Deep Learning
CS 7647 Machine Learning with Limited Supervision
CS 7648 Interactive Robot Learning
CS 7649 Robot Intelligence: Planning
CS 7651 Human and Machine Learning
CSE 6740 Computational Data Analysis
~~CS 7495 Computer Vision~~
~~CS 7650 Natural Language Understanding~~
Learning Sciences and Technology CS 6460 Educational Technology: Foundations
CS 6461 Computing Education Research
CS 7465 Educational Technology: Design and Evaluation
CS 7467 Computer Supported Collaborative Learning
CS 8803 Special Topics: Cognition and Education
Machine Learning CS 6476 Computer Vision
CS 7545 Theoretical Foundations of ML
CS 7616 Pattern Recognition
CS 7641 Machine Learning
CS 7643 Deep Learning
CS 7646 Machine Learning for Trading
CSE 6240 Web Search and Text Mining
CSE 6242 Data and Visual Analytics
CSE 6740 Computational Data Analysis
Networking and Communications CS 6250 Computer Networks
CS 7260 Internetworking Architectures and Protocols
CS 7270 Networked Applications and Services
CS 7280 Network Science
Network Security CS 6262 Computer Network Security
CS 6264 System and Network Defenses Lab
CS 8803 ECS Empirical Computer Security
CS 8803 EMS Advanced Network Security and Measurement
CS 8803 SII Securing Internet Infrastructure
Programming Languages and Compilers CS 6241 Design and Implementation of Compilers
CS 6245 Compiling for Parallelism
CS 6390 Programming Language Design
CS 8803 Special Topics: Topics in Program Analysis
Privacy, Security, and Policy CS 6268 Psychology of Cybersecurity
CS 6725 Information Security Strategies and Policies
CS 6726 Privacy, Technology, Policy, and Law
CS 8803 SPD Security, Privacy, and Democracy
Social Computing CS 6465 Computational Journalism
CS 6470 Design of Online Communities
CS 6474 Social Computing
CS 6675 Advanced Internet Computing Systems and Applications
CS 7270 Networked Applications and Services
CS 7460 Collaborative Computing
CS 7467 Computer-Supported Collaborative Learning
CS 8893 Special Topics in Cognitive Science: Cognition and Culture
Software Methodology and Engineering CS 6300 Software Development Process
CS 6301 Advanced Topics in Software Engineering
CS 6310 Software Architecture and Design
CS 6320 Software Requirements Analysis and Specification
CS 6330 Software Generation, Testing, and Maintenance
CS 6340 Software Analysis and Testing
CS 8803 Special Topics: Formal Modeling and Analysis of Computing Systems
Systems CS 6210 Advanced Operating Systems
CS 6235 Real-time Systems
CS 6365 Introduction to Enterprise Computing
CS 6675 Advanced Internet Computing Systems and Applications
CS 7210 Distributed Computing
Systems Security CS 6238 Secure Computer Systems
CS 6263 Intro to Cyber Physical Systems
CS 6265 Information Security Lab: Binary Exploitation
CS 6402 Databases and Information Security
CS 6747 Advanced Malware Analysis
CS 8803 COD Cybersecurity of Drones
CS 8803 ESC Exploiting Smart Contract/DeFi
Theory CS 6505 Computability, Algorithms, and Complexity
CS 6515 Intro 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 Algorithm
CSE 6140 Computational Science and Engineering Algorithms
Programming Proficiency List CS 6210 Advanced Operating Systems, CS 6238 Secure Computer Systems, CS 6241 Design and Implementation of Compilers, CS 6262 Network Security, CS 6264 System and Network Defenses Lab, CS 6290 High-Performance Computer Architecture, CS 6476 Computer Vision, CS 6601 Artificial Intelligence, CS 7490 Advanced Image Synthesis, CS 7492 Simulation of Biology, CS 7632 Game AI, CS 7637 Knowledge-Based AI, CS 7643 Deep Learning, CS 7646 Machine Learning for Trading, CS 7650 Natural Language, CS 7651 Human and Machine Learning

Q & A

Q: May a student petition to utilize a course not previously approved as a breadth course to meet their breadth requirement? If a student believes that a course meets one of the breadth requirements but is not pre-approved, they may petition to have it considered. In order to do so, students will first fill out a Petition to the Faculty form, appending the class syllabus and a justification for why course should be approved. The form will be routed to Thomas Ploetz who will make the decision in collaboration with the area lead.

Q: May a student request to meet their 'programming breadth requirement' with a course taken at another institution? We discourage this. However, if a student thinks they have met this requirement with a class taken external to GT, they may petition to the faculty to have this request considered. This petition ultimately will be considered by the GCC (Graduate Curriculum Committee). See instructions under the 'Equivalency Credits' tab.

Q: Can a student use the same course to meet their minor, and breadth requirement? No. This is not permitted as it takes away from the whole concept of a breadth.

Q: Can students have any number of courses 8803s applied to their breadth requirement? 8803s are classes that have not yet been assigned a permanent number. You can use as many as are approved to meet your breadth requirement. These 8803 classes need to be approved to count towards the breadth requirement -- via a petition to the faculty. This decision is made at the school level.

Q: Can 8903 count as a breadth requirement? 8903 cannot count toward the BREADTH requirements.

Q: How does a student petition to get a course to count for breadth or minor You will find guidance on this process in the 'Equivalency Credits' Section of the OneNote.

Table of Content