• CS 4730

    Computer Game Design
     Rating

    4.26

     Difficulty

    3.56

     GPA

    3.61

    Last Taught

    Spring 2025

    This course will introduce students to the concepts and tools used in the development of modern 2-D and 3-D real-time interactive computer video games. Topics covered in this include graphics, parallel processing, human-computer interaction, networking, artificial intelligence, and software engineering. Prerequisite: CS 2150 or CS 3140 with a grade of C- or better

  • CS 4260

    Internet Scale Applications
     Rating

    3.78

     Difficulty

    3.67

     GPA

    3.74

    Last Taught

    Fall 2025

    A survey of methods for building large-scale internet websites and mobile apps, with a focus on how theory meets practice. Topics covered include performance engineering, scaling, security, and large team software engineering. Results in students building a working scalable online application. Prerequisites: CS 3240 with a grade of C- or better

  • CS 3501

    Special Topics in Computer Science
     Rating

    3.63

     Difficulty

    3.75

     GPA

    3.47

    Last Taught

    Spring 2025

    Content varies, depending on instructor interests and the needs of the Department. Taught strictly at the undergraduate level. Prerequisite: Instructor permission; additional specific requirements vary with topics.

  • CS 4993

    Independent Study
     Rating

    5.00

     Difficulty

    4.00

     GPA

    3.77

    Last Taught

    Fall 2025

    In-depth study of a computer science or computer engineering problem by an individual student in close consultation with departmental faculty. The study is often either a thorough analysis of an abstract computer science problem or the design, implementation, and analysis of a computer system (software or hardware). 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 6888

    Software Analysis and Applications
     Rating

    4.00

     Difficulty

    4.00

     GPA

    3.47

    Last Taught

    Spring 2025

    This course provides an overview of the state of the art in software analysis including static and dynamic analysis techniques and verification and validation. It explores the various ways that the analyses are used to predict software behavior. The applications include inference, symbolic execution, fault localization, model checking, security and performance. The course combines theory with practical implementation and usage. Prerequisites: CS 3240.

  • CS 3120

    Discrete Mathematics and Theory 2
     Rating

    3.02

     Difficulty

    4.20

     GPA

    3.14

    Last Taught

    Fall 2025

    The goal of this course is to understand the fundamental limits on what can be efficiently computed. These limits reveal properties about information, communication, and computing, as well as practical issues about how to solve problems. Introduces computation theory including grammars, automata, and Turing machines. Prereq: CS 3100 with a grade of C- or better

  • CS 4414

    Operating Systems
     Rating

    3.06

     Difficulty

    4.32

     GPA

    2.95

    Last Taught

    Spring 2025

    Analyzes process communication and synchronization; resource management; virtual memory management algorithms; file systems; and networking and distributed systems. Prerequisite: CS 3330 or (CS 2501 COA 2 & CS 2150) or (CS 3130 and CS 3100) with a grade of C- or better or ECE 3430 or ECE 3502 Embedded Computing & Robotics 2

  • CS 4444

    Introduction to Parallel Computing
     Rating

    3.67

     Difficulty

    4.33

     GPA

    3.04

    Last Taught

    Fall 2025

    Introduces the student to the basics of high-performance parallel computing and application development for massively parallel processors (e.g., GPUs). The course will also introduce the internal architecture of these parallel processors and its impact on performance.  Prerequisite:  CS 3100 and CS 3130 with a C- or better.

  • CS 3100

    Data Structures and Algorithms 2
     Rating

    3.24

     Difficulty

    4.34

     GPA

    3.32

    Last Taught

    Fall 2025

    Builds upon previous analysis of algorithms and the effects of data structures on them. Algorithms selected from areas such as searching, shortest paths, greedy algorithms, backtracking, divide-and-conquer, dynamic programming, and machine learning. Analysis techniques include asymptotic worst case, expected time, amortized analysis, and reductions. Prerequisites: CS 2100 & CS 2120; APMA 1090 or MATH 1310 or MATH 1210 or equivalent. CS 3140 is recommended.