Prerequisites for Computer Science Courses | Course | Title | Prerequisites |
| CS 100 | Introduction to the Profession | |
| CS 104 | Introduction to Computer Programming for Engineers | |
| CS 105 | Introduction to Computer Programming | |
| CS 110 | Computing Principles | |
| CS 115 | Object-Oriented Programming I | |
| CS 116 | Object-Oriented Programming II | CS 115 (minimum grade of C) |
| CS 201 | Accelerated Introduction to Computer Science | CS 105 or CS 115 |
| CS 330 | Discrete Structures | Corequisite: (CS 116 or CS 201) |
| CS 331 | Data Structures and Algorithms | CS 116 or CS 201 |
| CS 350 | Computer Organization and Assembly Language Programming | CS 116 or CS 201 |
| CS 351 | Systems Programming | CS 331 and (CS 350 or ECE 242) |
| CS 397 | Special Projects | Instructor permission |
| CS 401 | Introduction to Advanced Studies I | CS 200 or CS 201 |
| CS 402 | Introduction to Advanced Studies II | CS 401 |
| CS 411 | Computer Graphics | CS 331 or CS 401 or CS 403 |
| CS 422 | Data Mining | CS 331 or CS 401 or CS 403 |
| CS 425 | Database Organization | CS 331 or CS 401 or CS 403 |
| CS 429 | Information Retrieval | (CS 331 or CS 401) and strong programming knowledge |
| CS 430 | Introduction to Algorithms | (CS 331 and (CS 330 or MATH 230)) or CS 401 or CS 403 |
| CS 440 | Programming Languages and Translators | (CS 331 and (CS 330 or MATH 230)) or CS 401 or CS 403 |
| CS 441 | Current Topics in Programming Languages | CS 331 or CS 401 or CS 403 |
| CS 442 | Mobile Applications Development | (CS 331 or CS 401) and (CS 351 or CS 402). (CS 351 and CS 402 may be taken concurrently.) |
| CS 445 | Object-Oriented Design and Programming | CS 331 or CS 401 or CS 403 |
| CS 447 | Distributed Objects | CS 445 |
| CS 450 | Operating Systems | CS 351 or (CS 401 and CS 402) or CS 403 |
| CS 455 | Data Communications | CS 450 |
| CS 456 | Introduction to Wireless Networks and Performance | CS 350 or ECE 242 or (CS 401 and CS 402) or CS 403 |
| CS 458 | Information Security | CS 425 and CS 450 |
| CS 470 | Computer Architecture | (CS 350 or ECE 242) and ECE 218 |
| CS 480 | Artificial Intelligence: Planning and Control | Prerequisite: (CS 331 or CS 401 or CS 403) and MATH 474. (MATH 474 may be taken concurrently.) |
| CS 481 | Artificial Intelligence: Language Understanding | MATH 474 and (CS 331 or CS 401 or CS 403) |
| CS 482 | Information and Knowledge Management Systems | (CS 422 and CS 425 and CS 429) or (CS 422 and CS 425 and CS 481) or (CS 425 and CS 429 and CS 481) |
| CS 485 | Computers and Society | COM 421 or COM 428 |
| CS 487 | Software Engineering | (CS 331 or CS 401 or CS 403) and CS 425 |
| CS 491 | Undergraduate Research | Instructor permission |
| CS 495 | Topics in Computer Science | Instructor permission |
| CS 511 | Topics in Computer Graphics | CS 411 |
| CS 512 | Computer Vision | CS 430 |
| CS 520 | Database Design and Engineering | CS 402 and CS 430 or CS 351 |
| CS 521 | Object-Oriented Analysis and Design | CS 445 or CS 487 |
| CS 522 | Data Mining | CS 422 |
| CS 525 | Advanced Database Organization | CS 425 |
| CS 529 | Information Retrieval | CS 429 |
| CS 530 | Theory of Computation | CS 430 |
| CS 531 | Topics in Automata Theory | |
| CS 533 | Computational Geometry | CS 430 |
| CS 535 | Design and Analysis of Algorithms | CS 430 |
| CS 536 | Science of Programming | CS 331 or CS 401 |
| CS 537 | Software Metrics | CS 487 |
| CS 538 | Combinatorial Optimization | CS 430 and a linear algebra course |
| CS 539 | Game Theory: Algorithms and Applications | CS 430 or CS 530 |
| CS 540 | Foundations of Programming Language Design | CS 440 |
| CS 541 | Topics in Compiler Construction | CS 440 |
| CS 542 | Computer Networks I: Fundamentals | CS 455 |
| CS 544 | Computer Networks II: Network Services | (CS 542 or ECE 545) |
| CS 545 | Distributed Computing Landscape | CS 450 |
| CS 546 | Parallel and Distributed Processing | CS 430 and CS 450 |
| CS 547 | Wireless Networking | CS 455 |
| CS 548 | Broadband Networks | CS 455 |
| CS 549 | Cryptography and Network Security | CS 430 |
| CS 550 | Advanced Operating Systems | CS 450 |
| CS 551 | Operating System Design and Implementation | CS 450 |
| CS 552 | Distributed Systems | CS 450 |
| CS 553 | Cloud Computing | CS 450 or CS 455 |
| CS 554 | Data-Intensive Computing | CS 450 |
| CS 555 | Analytic Models and Simulation of Computer Systems | CS 450 |
| CS 556 | Cyber-Physical Systems: Languages and Systems | CS 450 and CS 552 |
| CS 557 | Cyber-Physical Systems: Networking and Algorithms | |
| CS 560 | Computer Science in the Classroom | |
| CS 561 | The Computer and Curriculum Content | |
| CS 565 | Computer-Assisted Instruction | CS 560 or CS 561 |
| CS 566 | Practicum in the Application of Computers to Education | CS 560 or CS 561 |
| CS 570 | Advanced Computer Architecture | CS 450 and CS 470 |
| CS 572 | Advanced Topics in Computer Architecture | CS 570 |
| CS 580 | Medical Informatics | CS 425 and CS 480 |
| CS 581 | Topics in Artificial Intelligence | CS 480 |
| CS 582 | Computational Robotics | CS 430 |
| CS 583 | Probabilistic Graphical Models | |
| CS 584 | Machine Learning | CS 430 |
| CS 585 | Natural Language Processing | CS 445 |
| CS 586 | Software Systems Architectures | CS 487 |
| CS 587 | Software Project Management | CS 487 |
| CS 588 | Advanced Software Engineering Development | CS 487 |
| CS 589 | Software Testing and Analysis | CS 487 |
| CS 590 | Seminar in Computer Science | Instructor permission |
| CS 591 | Research and Thesis for M.S. Degree | Instructor permission |
| CS 595 | Topics in Computer Science | Instructor permission |
| CS 597 | Reading and Special Problems | Instructor permission |
| CS 612 | Topics in Computer Vision | CS 512 |
| CS 630 | Advanced Topics in Algorithms | CS 430 and instructor permission |
| CS 642 | Advanced Topics in Networking | CS 542 |
| CS 681 | Topics in Computational Linguistics | CS 585 |
| CS 689 | Advanced Topics in Software Engineering | Instructor permission |
| CS 691 | Research and Thesis for Ph.D. Degree | Instructor permission |
| CS 695 | Doctoral Seminar | |
| CS 763 | Automated Software Testing | CS 487 |
| CSP 527 | Client-Server Applications Development | CS 425 |
| CSP 541 | Internet Technologies | CS 455 |
| CSP 542 | Internet Design and Analysis | CS 455 |
| CSP 543 | Multimedia Networking | CS 455 |
| CSP 544 | System and Network Security | CS 430 and CS 455 |
| CSP 545 | Wireless Networking Technologies and Applications | CS 542 |
| CSP 550 | Internet Programming | CS 455 |
| CSP 551 | Advanced UNIX Programming | CS 450 |
| CSP 581 | Applied Artificial Intelligence Programming | CS 440 |
| CSP 585 | Object-Oriented Design Patterns | CS 445 |
| CSP 586 | Software Modeling and Development with UML | CS 445 or CS 487 |
| CSP 587 | Software Quality Management | CS 487 |
| CSP 595 | Topics in Computer Science Professional Master's | |