Breadth Requirement

The purpose of the Breadth Course Requirement is to expose students to diverse Computer Science research topics and methods. Master's students (MS and MCS) are required to take 3 breadth courses, one from each area, and maintain an overall GPA of at least 3.25 for MS or 3.0  for MCS. Students have three (3) years to satisfy this requirement. If students want to take a more advanced course in a sub-area than the listed options – typically, one for which one of the listed options is a prerequisite – they may petition the Director of Graduate Studies to use this course for satisfying the requirement.Substitutions are rarely permitted and transfer courses will not count towards the breadth requirement. All courses must be taken for graduate credit and on the A-F grading basis.

Breadth Areas

Theory and Algorithms

5302 Analysis of Numerical Algorithms                                                                   
5304Computational Aspects of Matrix Theory
5403Computational Complexity
5421Advanced Algorithms & Data Structures
5481Computational Techniques for Genomics
5525Machine Learning                                                                                  

Architecture, Systems and Software

5103Operating Systems
5104System Modeling and Performance Evaluation
5105Introduction to Distributed Systems
5106Programming Languages
5161Introduction to Compilers
5204Advanced Computer Architecture
5211Data Communications and Computer Networks
5221Foundations of Advanced Networking
5231Wireless and Sensor Networks
5451Introduction to Parallel Computing: Architectures, Algorithms, and Programming
5552Sensing and Estimation in Robotics
5708Architecture and Implementation of Database Management Systems
5751Big Data Engineering and Architecture 
5801 Software Engineering I
5802 Software Engineering II


5115User Interface Design, Implementation and Evaluation                                
5123Recommender Systems 
5125Collaborative and Social Computing
5127WEmbodied Computing: Design and Prototyping
5271Introduction to Computer Security
5461Functional Genomics, Systems Biology, and Bioinformatics
5471Modern Cryptography
5511Artificial Intelligence I
5512Artificial Intelligence II
5521Introduction to Machine Learning
5523Introduction to Data Mining
5551Introduction to Intelligent Robotic Systems
5561Computer Vision
5607Fundamentals of Computer Graphics I
5608Fundamentals of Computer Graphics II
5611Motion and Planning in Games
5619Virtual Reality and 3D User Interaction
5707Principles of Database Systems
5715From GPS and Virtual Globes to Spatial Computing