The preapproved courses are explicitly classified as basic or advanced below.
Artificial Intelligence and Databases
Basic Courses:
- CS 550 - Database Systems
- CS 580 - Introduction to Artificial Intelligence
- CS 584 - Theory and Applications of Data Mining
- INFS 623 - Web Search Engines and Recommender Systems
Advanced Courses:
- CS 650 - Advanced Database Management
- CS 657 - Mining Massive Datasets with MapReduce
- CS 667 - Biometrics and Identity Management
- CS 678 - Advanced Natural Language Processing
- CS 681 - Instructable Cognitive Agents
- CS 685 - Autonomous Robotics
- CS 687 - Advanced Artificial Intelligence
- CS 688 - Machine Learning
- CS 689 - Planning Motions of Robots and Molecules
- CS 747 - Deep Learning
- CS 782 - Advanced Machine Learning
- CS 787 - Decision Guidance Systems
- INFS 740 - Database Programming for the World Wide Web
- INFS 760 - Advanced Database Management
- INFS 772 - Intelligent Agents and the Semantic Web
- INFS 774 - Enterprise Architecture
Programming Languages and Software Engineering
Basic Courses:
- CS 540 - Language Processors
- SWE 619 - Object-Oriented Software Specification and Construction
- SWE 620 - Software Requirements Analysis and Specification
- SWE 621 - Software Design and Architecture
- SWE 622 - Distributed Software Engineering
Advanced Courses:
- CS 640 - Advanced Compilers
- SWE 681 - Secure Software Design and Programming or ISA Secure Software Design and Programming
- SWE 631 - Software Design Patterns
- SWE 632 - User Interface Design and Development
- SWE 637 - Software Testing
- SWE 642 - Software Engineering for the World Wide Web
- SWE 645 - Component-Based Software Development
- SWE 721 - Reusable Software Architectures
- SWE 737 - Advanced Software Testing
- SWE 760 - Software Analysis and Design of Real-Time Systems
Systems and Networks
Basic Courses:
- CS 531 - Computer Systems and Fundamentals of Systems Programming
- CS 555 - Computer Communications and Networking
- CS 571 - Operating Systems
- CS 587 - Introduction to Cryptography
- ISA 562 - Information Security Theory and Practice
- ISA 564 - Security Laboratory
Advanced Courses:
- CS 635 - Foundations of Parallel Computation
- CS 655 - Wireless and Mobile Computing
- CS 658 - Networked Virtual Environments
- CS 672 - Computer System Performance Evaluation
- CS 673 - Multimedia Computing and Systems
- CS 675 - Distributed Systems
- CS 706 - Concurrent Software Systems
- CS 719 - Scalable Internet Services
- CS 756 - Performance Analysis of Computer Networks
- CS 773 - Real-Time Systems Design and Development
- CS 779 - Topics in Resilient and Secure Computer Systems
- CS 788 - Autonomic Computing
- ISA 656 - Network Security
- ISA 673 - Operating Systems Security
- ISA 674 - Intrusion Detection
- ISA 697 - Topics in Information Security
- ISA 763 - Security Protocol Analysis
- ISA 764 - Security Experimentation
- ISA 785 - Research in Digital Forensics
Theoretical Computer Science
Basic Courses:
- CS 530 - Mathematical Foundations of Computer Science
- CS 583 - Analysis of Algorithms
Advanced Courses:
- CS 600 - Theory of Computation
- CS 630 - Advanced Algorithms
- CS 633 - Computational Geometry
- CS 683 - Parallel Algorithms
- CS 684 - Graph Algorithms
Visual Computing
Basic Courses:
- CS 551 - Computer Graphics
Advanced Courses:
- CS 662 - Computer Graphics Game Technologies
- CS 663 - Computational Design
- CS 667 - Biometrics and Identity Management
- CS 682 - Computer Vision
- CS 686 - Image Processing and Applications
- CS 752 - Interactive Graphics Software
- CS 774 - Computational Vision
- CS 777 - Human-Computer Intelligent Interaction
Note
The following courses are not classified by area. Note that CS 695/CS 795 can be used to satisfy the breadth requirement if the area is listed in the syllabus for the course.
- CS 595 - Basic Topics in Computer Science
- CS 695 - Topics in Computer Science
- CS 697 - Independent Reading and Research
- CS 795 - Advanced Topics in CS
- CS 798 - Project Seminar
- CS 799 - Thesis
- CS 895 - Research Topics in CS
- SWE 699 - Special Topics in Software Engineering
- SWE 795 - Advanced Topics in Software Engineering
- SWE 796 - Directed Readings in Software Engineering