Updates to the undergraduate and graduate bulletins supersede the information in these tables.
Course | Title | Pre/Co-requisites |
---|---|---|
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 115C |
CS 201 | Accelerated Introduction to Computer Science | (CS 104 or 105 or 110 or 115)C |
CS 330 | Discrete Structures | CS 116 or 201 |
CS 331 | Data Structures and Algorithms | CS 116 or 201 |
CS 340 | Programming Paradigms and Patterns | CS 116 or 201 |
CS 350 | Computer Organization and Assembly Language Programming | (CS 116 or 201)cr |
CS 351 | Systems Programming | CS 331 and (CS 350 or ECE 242) |
CS 397 | Special Projects | Instructor permission |
Course | Title | Pre/Co-requisites |
---|---|---|
CS 401 | Introduction to Advanced Studies II | CS 201 |
CS 402 | Introduction to Advanced Studies II | CS 401 |
CS 406 | Introduction to Discrete Structures and Algorithms | |
CS 411 | Computer Graphics | CS 331 or 401 |
CS 422 | Data Mining | CS 331 or 401 |
CS 425 | Database Organization | CS 331 or 401 |
CS 429 | Information Retrieval | CS 331 or 401 |
CS 430 | Introduction to Algorithms | (CS 331 and (CS 330 or MATH 230)) or CS 401 |
CS 440 | Programming Languages and Translators | (CS 331 and (CS 330 or MATH 230)) or CS 401 |
CS 442 | Mobile Applications Development | (CS 331 or 401) and (CS 351 or 402)cr |
CS 443 | Compiler Construction | CS 440 |
CS 445 | Object-Oriented Design and Programming | CS 331 or 401 |
CS 447 | Distributed Objects | |
CS 450 | Operating Systems | CS 351 or (CS 401 and 402) |
CS 451 | Introduction to Parallel and Distributed Computing | CS 351 or 450 |
CS 455 | Data Communications | CS 450 |
CS 456 | Introduction to Wireless Networks and Performance | CS 350 or ECE 242 or (CS 401 and 402) |
CS 458 | Information Security | CS 425 or (CS 450 or 455) |
CS 470 | Computer Architecture | CS 350 or ECE 242 |
CS 480 | Artificial Intelligence: Planning and Control | (CS 331 and MATH 474cr) or (CS 401 and 402) |
CS 481 | Artificial Intelligence: Language Understanding | (CS 331 or 401) and MATH 474 |
CS 482 | Information and Knowledge Management Systems | CS 425 and two of (CS 422, 429, 481) |
CS 485 | Computers and Society | COM 421 or 424 or 425 or 428 or 435 |
CS 487 | Software Engineering | (CS 331 or 401) and CS 425 |
CS 491 | Undergraduate Research | Instructor permission |
CS 492 | Introduction to Computer Science Research | |
CS 495 | Topics in Computer Science | |
CS 497 | Special Projects |
Course | Title | Pre/Co-requisites |
---|---|---|
CS 511 | Topics in Computer Graphics | CS 411C |
CS 512 | Computer Vision | CS 430C |
CS 513 | Geospatial Vision and Visualization | |
CS 520 | Data Integration, Warehousing, and Provenance | CS 425C |
CS 521 | Object-Oriented Analysis and Design | (CS 445 or 487)C |
CS 522 | Data Mining | CS 422C |
CS 525 | Advanced Database Organization | CS 425C |
CS 528 | Data Privacy and Security | |
CS 529 | Information Retrieval | CS 429C |
CS 530 | Theory of Computation | CS 430C |
CS 531 | Topics in Automata Theory | CS 430C |
CS 533 | Computational Geometry | CS 430C |
CS 535 | Design and Analysis of Algorithms | CS 430C |
CS 536 | Science of Programming | (CS 331 or 401)C |
CS 537 | Software Metrics | CS 487C |
CS 538 | Combinatorial Optimization | CS 430C |
CS 539 | Game Theory: Algorithms and Applications | (CS 430 or 530)C |
CS 540 | Foundations of Programming Language Design | CS 440C |
CS 541 | Topics in Compiler Construction | CS 440C |
CS 542 | Computer Networks I: Fundamentals | CS 455C |
CS 544 | Computer Networks II: Network Services | (CS 542 or ECE 545)C |
CS 545 | Distributed Computing Landscape | CS 450C |
CS 546 | Parallel and Distributed Processing | (CS 430 and 450)C |
CS 547 | Wireless Networking | CS 455C |
CS 548 | Broadband Networks | CS 455C |
CS 549 | Cryptography and Network Security | CS 430C |
Course | Title | Pre/Co-requisites |
---|---|---|
CS 550 | Advanced Operating Systems | CS 450C |
CS 551 | Operating System Design and Implementation | CS 450C |
CS 552 | Distributed Systems | CS 450C |
CS 553 | Cloud Computing | (CS 450 or 455)C |
CS 554 | Data-Intensive Computing | CS 450C |
CS 555 | Analytic Models and Simulation of Computer Systems | CS 450C |
CS 556 | Cyber-Physical Systems: Languages and Systems | |
CS 557 | Cyber-Physical Systems: Networking and Algorithms | (CS 450 or 445 or 458)C |
CS 558 | Advanced Computer Security | (CS 450 or 455 or 458)C |
CS 559 | Biometrics | Working knowledge of Matlab or C/C++ is necessary |
CS 560 | Computer Science in the Classroom | |
CS 561 | The Computer and Curriculum Content | |
CS 562 | Virtual Machines | (CS 450 or 551)C |
CS 565 | Computer-Assisted Instruction | (CS 560 or CS 561)C |
CS 566 | Practicum in the Application of Computers to Education | (CS 561 and 560)C |
CS 570 | Advanced Computer Architecture | (CS 470 and 450)C |
CS 572 | Advanced Topics in Computer Architecture | CS 570C |
CS 577 | Deep Learning | CS 430C |
CS 578 | Interactive and Transparent Machine Learning | (CS 422 and 430)C |
CS 579 | Online Social Network Analysis | CS 430C |
CS 580 | Topics in Machine Learning | |
CS 581 | Advanced Artificial Intelligence | CS 480C |
CS 582 | Computational Robotics | CS 430C |
CS 583 | Probabilistic Graphical Models | |
CS 584 | Machine Learning | CS 430C |
CS 585 | Natural Language Processing | CS 430C |
CS 586 | Software Systems Architectures | CS 487C |
CS 587 | Software Project Management | CS 487C |
CS 588 | Advanced Software Engineering Development | CS 487C |
CS 589 | Software Testing and Analysis | CS 487C |
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 | |
CS 597 | Reading and Special Problems | Instructor permission |
Course | Title | Pre/Co-requisites |
---|---|---|
CS 612 | Topics in Computer Vision | CS 512C |
CS 630 | Advanced Topics in Algorithms | CS 430C |
CS 642 | Advanced Topics in Networking | CS 542C |
CS 681 | Topics in Computational Linguistics | CS 585C |
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 750 | Computer-Aided Software Engineering | CS 487C |
CS 763 | Automated Software Testing | CS 487C |
CSP 527 | Client-Server Applications Development | CS 425C |
CSP 541 | Internet Technologies | CS 455C |
CSP 542 | Internet Design and Analysis | CS 455C |
CSP 543 | Multimedia Networking | CS 455C |
CSP 544 | System and Network Security | (CS 430 and 455)C |
CSP 545 | Wireless Networking Technologies and Applications | CS 542C |
CSP 550 | Internet Programming | CS 450C |
CSP 551 | Advanced UNIX Programming | CS 450C |
CSP 554 | Big Data Technologies | CS 425C |
CSP 570 | Data Science Seminar | |
CSP 571 | Data Preparation and Analysis | (CS 401 and 425) and MATH 474 |
CSP 572 | Data Science Practicum | CSP 571C and CS 425 and (CS 584 or MATH 564 or MATH 569)C |
CSP 581 | Applied Artificial Intelligence Programming | CS 440C |
CSP 584 | Enterprise Web Applications | CS 445C |
CSP 585 | Object-Oriented Design Patterns | CS 445C |
CSP 586 | Software Modeling and Development with UML | (CS 445 or 487)C |
CSP 587 | Software Quality Management | CS 487C |
CSP 595 | Topics in Computer Science Professional Master's |