Computer Science & Engineering

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)