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