Master's Program | For Current Students | Graduate Courses | Computer Science Department
Prerequisite Table for Conditional Courses

Course Number Course Title Prerequisites
Math 151 Calculus/Differential and Integration None
Math 152 Calculus/Integration and Infinite Series Math 151
Math 120 Discrete Mathematics for Computer Science None
Math 241 Introduction to Probability and Mathematical Statistics Math 152 (this may be a corequisite)
CS 111 Algorithmic Problem Solving I (in C++ or Java) Math 120 or Math 151 (either may be a corequisite)
CS 211Object-Oriented Programming in C++ CS 111
CS 212 Object-Oriented Programming in Java CS 111
CS 220 Discrete Structures Math 120 and Math 151 and CS 111
CS 240 Assembly Language and Computer Organization CS 111
CS 313 Data Structures CS 211 and CS 220
CS 316 Principles of Programming Languages CS 240 and CS 313 and CS 320
CS 320 Theory of Computation CS 220
CS 340 Operating Systems Principles CS 240 and CS 313


Prerequisite Table for Core Courses

Course Number Course Title Prerequisites
CS 700 Algorithms I CS 220 and (CS 300 or 316) and Math 241
CS 715 Distributed Computing CS 220 and (CS 300 or 316) and CS 340 and Math 241
CS 722 Computability and Complexity CS 320 or 721
CS 744 Computer Architecture and Networks CS 220 and CS 240 and Math 241


Prerequisite Table for 700-level Courses

The following 700-level courses are only open to the students that have completed all their conditional courses.

Course Number Course Title Prerequisites
CS 701 Software Design CS 700
CS 707 Compiler Construction CS 700
CS 711 Database Systems CS 700
CS 718 Computer Graphics CS 700
CS 731 Software Development Practicum A software semicore course and completion of at least 21 credits of 700-level courses
CS 732 Research Practicum Completion of at least 21 credits of 700-level courses
CS 733 Master's Thesis Completion of at least 21 credits of 700-level courses
CS 734 Hardware Design Practicum A hardware semicore course and completion of at least 21 credits of 700-level courses
CS 745 Switching Theory  
CS 746 Computer Systems CS 744
CS 748 Computer Networks CS 744
CS 762 Algorithms II CS 700
CS 764 Topics in Systems Simulation CS 700
CS 766 Probabilistic Models in Computer Systems CS 700
CS 780, 782, 783, 784, 786 Special Topics in Computer Science As determined by the instructor
CS 790, 792, 793, 794, 796 Seminars in Computer Science As determined by the instructor