Computer Science Graduate Program Breadth Requirement
Graduate Students in Computer Science must demonstrate sufficient breadth of knowledge of Computer Science by satisfying a Breadth Requirement. A Master's student (MS and MCS) may satisfy the breadth requirement by taking 3 core courses, one from each of the 3 different areas from the following list. Master's students must take only CS courses. PhD students must take 6 courses, two from each of the three areas. All breadth courses must be listed on the student's Degree Program. These courses carry graduate credit and will count toward the minimum number of Computer Science credits required. Students must maintain an overall GPA of 3.0 (for MCS candidates), 3.25 (for MS candidates) and 3.45 (for Ph.D. candidates) for all courses on their degree program, as well as those used to satisfy the breadth requirement. All courses must be taken for graduate credit.
A student with an MS degree from another University can petition to transfer up to 3 breadth courses towards a PhD degree. Courses used to obtain the MS in our CS or CE programs can be reused for the PhD.
For students entering the Ph.D. program with a substantial number of requisite Breadth courses from their previous programs, there would be a provision to substitute advanced courses (including 8K level) in place of the Breadth courses listed below. This would be decided on a case-by-case basis by the DGS in consultation with the appropriate faculty. The student would be required to file a petition to make such substitutions.
Theory:
| 5302 | Analysis of Numerical Algorithms |
| 5304 | Computational Aspects of Matrix Theory |
| 5403 | Computational Complexity |
| 5421 | Advanced Algorithms and Data Structures |
| 5451 | Intro to Parallel Computing: Architecture, Algorithms & Programming |
| 5471 | Modern Cryptography |
| 5525 | Machine Learning |
No more than one of the following Mathematics courses (PhD students only):
| MATH 5165 | Mathematical Logic |
| MATH 5707 | Graph Theory and Non-enumerative Combinatorics |
| MATH 5711 | Linear Programming and Combinatorial Optimization |
| EE 5531 | Probability and Stochastic Processes |
Systems:
| 5103 | Operating Systems |
| 5104 | System Modeling and Performance Evaluation |
| 5105 | Foundations of Modern Operating Systems |
| 5106 | Programming Languages |
| 5131 | Advanced Internet Programming (Beginning Fall 2002) |
| 5143 | Real-Time and Embedded Systems |
| 5161 | Introduction to Compilers |
| 5204 | Advanced Computer Architecture |
| 5211 | Data Communications and Computer Networks |
| 5271 | Introduction to Computer Security |
| 5708 | Architecture and Implementation of Database Management Systems |
No more than one of the following EE courses(PhD students only):
| EE 5323 | VLSI Design I |
| EE 5371 | Computer Systems Performance Measurement and Evaluation |
| EE 5381 | Telecommunications Networks (This cannot be counted with CSci 5211) |
Applications:
| 5107/5108 | Fundamentals of Computer Graphics I OR II |
| 5109 | Visualization |
| 5115/5116 | User Interface Design: Implementation and Evaluation OR GUI Tools |
| 5283 | Computer Aided Design I |
| 5481 | Computational Techniques for Genomics |
| 5511/5512/5519 | Artificial Intelligence I OR Artificial Intelligence II |
| 5521 | Pattern Recognition |
| 5523 | Introduction to Data Mining |
| 5541 | Natural Language Processing |
| 5551 | Intro to Intelligent Robotic Systems |
| 5561 | Computer Vision |
| 5707 | Principles of Database Systems |
| 5801/5802 | Software Engineering I OR Software Engineering II |
No more than one of the following EE courses (PhD students only):
| EE 5329 | VLSI Digital Signal Processing Systems |
| EE 5301 | VLSI Design Automation I (This cannot be counted with CSci 5283) |



