| 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 211 | Object-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 |
| 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 |