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 
  • CS 667 - Biometrics and Identity Management 
  • CS 674 - Data Mining on Multimedia Data 
  • CS 681 - Knowledge Engineering 
  • CS 685 - Autonomous Robotics 
  • CS 687 - Advanced Artificial Intelligence 
  • CS 688 - Pattern Recognition 
  • CS 689 - Planning Motions of Robots and Molecules 
  • CS 775 - Advanced Pattern Recognition 
  • CS 782 - Machine Learning
  • CS 787 - Decision Guidance Systems
  • CS 811 - Research Topics in Machine Learning and Inference 
  • CS 880 - Research Topics in Artificial Intelligence 
  • CS 884 - Advanced Topics in Computer Vision and Robotics 
  • INFS 740 - Database Programming for the World Wide Web 
  • 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 Modeling and Architectural Design 
  • SWE 622 - Distributed Software Engineering 

Advanced Courses:

  • CS 640 - Advanced Compilers 
  • ISA 681 - Secure Software Design 
  • 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 727 - Quality of Service for Software Architectures 
  • SWE 737 - Advanced Software Testing 
  • SWE 760 - Software Analysis and Design of Real-Time Systems

Systems and Networks

Basic Courses:

  • CS 531 - Fundamentals of Systems Programming 
  • CS 555 - Computer Communications and Networking 
  • CS 571 - Operating Systems
  • ISA 562 - Information Security Theory and Practice 
  • ISA 564 - Security Laboratory 

Advanced Courses:

  • CS 635 - Foundations of Parallel Computation
  • 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 755 - Advanced Computer Networks 
  • 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 
  • CS 818 - Topics in Computer Systems 
  • 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 611 - Computational Methods for Genomics 
  • 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 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 695 - Topics in Computer Science 
  • CS 697 - Independent Reading and Research 
  • CS 795 - Advanced Topics in CS 
  • CS 798 - Project Seminar 
  • CS 799 - Thesis