• CS 6222

    Introduction to Cryptography
     Rating

     Difficulty

     GPA

    3.76

    Last Taught

    Fall 2025

    This course will provide an introduction to modern cryptography and its applications to computer security. This course will cover the fundamentals of symmetric cryptography (i.e., encryption and message authentication) and public-key cryptography (i.e., key-exchange and signatures) as well as cryptographic protocols like zero-knowledge proof systems. Recommended prerequisites: CS 2102, 3102, and 4102 (or equivalent experience).

  • CS 6316

    Machine Learning
     Rating

     Difficulty

     GPA

    3.87

    Last Taught

    Fall 2025

    This is a graduate-level machine learning course. Machine Learning is concerned with computer programs that automatically improve their performance through experience. This course covers introductory topics about the theory and practical algorithms for machine learning from a variety of perspectives. Topics include supervised learning, unsupervised learning and learning theory. Prerequisite: Calculus, Basic linear algebra, Basic Probability and Basic Algorithm. Statistics is recommended. Students should already have good programming skills.

  • CS 6354

    Computer Architecture
     Rating

     Difficulty

     GPA

    3.73

    Last Taught

    Fall 2025

    Study of representative digital computer organization with emphasis on control unit logic, input/output processors and devices, asynchronous processing, concurrency, and parallelism. Memory hierarchies. Prerequisite: CS 3330 or proficiency in assembly language programming.

  • CS 6434

    Dependable Computing Systems
     Rating

     Difficulty

     GPA

    3.62

    Last Taught

    Fall 2024

    Focuses on techniques for designing and analyzing dependable computer-based systems. Topics include basic dependability concepts and attributes, fault models and effects, combinatorial and state-space modeling, hardware redundancy, error detecting and correcting codes, time redundancy, software fault tolerance, checkpointing and recovery, reliable networked systems, error detection techniques, and experimental dependability evaluation techniques.Prerequisites: A basic knowledge of probability and computer architecture is required. A working knowledge of programming is required for homework and mini projects.

  • CS 6456

    Operating Systems
     Rating

    3.67

     Difficulty

    5.00

     GPA

    3.61

    Last Taught

    Spring 2026

    Covers advanced principles of operating systems. Technical topics include support for distributed OSs; microkernels and OS architectures; processes and threads; IPC; files servers; distributed shared memory; object-oriented OSs; reflection in OSs; real-time kernels; multiprocessing; multimedia and quality of service; mobile computing; and parallelism in I/O. Prerequisite: Undergraduate course in OS; CS 6354 or instructor permission.

  • CS 6465

    Human-Robot Interaction
     Rating

     Difficulty

     GPA

    3.98

    Last Taught

    Spring 2025

    Interactions between robots and humans are influenced by form, function and expectations. Quantitative techniques evaluate performance of specific tasks and functions. Qualitative techniques are used to evaluate the interaction and to understand expectations and perceptions of the human side of the interaction. Students use humanoid robots to develop and evaluate interactions within a specific application context.

  • CS 6501

    Special Topics in Computer Science
     Rating

    3.19

     Difficulty

    2.43

     GPA

    3.80

    Last Taught

    Spring 2026

    Course content varies by section and is selected to fill timely and special interests and needs of students. See CS 7501 for example topics. May be repeated for credit when topic varies. Prerequisite: Instructor permission.

  • CS 6762

    Signal Processing, Machine Learning and Control
     Rating

    3.00

     Difficulty

    4.00

     GPA

    3.97

    Last Taught

    Fall 2025

    This is a core Cyber Physical Systems (CPS) class. It provides fundamental core material in signal processing, machine learning, and feedback control. However, the material is not presented in a traditional manner and does not replace deep domain expertise in these topics. Rather, the principles and skills taught in this class highlight the intersection of the cyber and the physical.

  • CS 6763

    Cyber-Physical Systems: Formal Methods, Safety and Security
     Rating

     Difficulty

     GPA

    3.94

    Last Taught

    Spring 2026

    Cyber-physical systems (CPS) are smart systems that include co-engineered interacting networks of physical and computational components. This course will teach students the required skills to analyze the CPS that are all around us, so that when they contribute to the design of CPS, they are able to understand important safety and security aspects and feel confident designing and analyzing CPS systems.

  • CS 6770

    Natural Language Processing
     Rating

     Difficulty

     GPA

    Last Taught

    Spring 2026

    This course explores Natural Language Processing (NLP), examining how computers are trained to understand and process human language. Students will gain a thorough understanding of both core NLP concepts and advanced techniques, including text analysis, language modeling, machine translation, question answering, text generation, conversation modeling, and the latest advancements in large language models.