Breadth Requirement

The purpose of the Breadth Course Requirement is to expose students to diverse Computer Science research topics and methods. Ph.D Students must take a total of five (5) courses, at least one from each subject area and must have an average GPA of 3.45. Master’s students (MS and MCS) are required to take three (3) courses, one from each of subject area. Students must maintain an overall GPA of 3.0 for MCS and 3.25 for MS candidates for the courses used to satisfy the Breadth Course 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                                                                   
5304 Computational 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
5451 Introduction 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
5619 Virtual Reality and 3D User Interaction
5707Principles of Database Systems
5715From GPS and Virtual Globes to Spatial Computing