• CS 3710

    Introduction to Cybersecurity
     Rating

    4.16

     Difficulty

    2.00

     GPA

    3.76

    Last Taught

    Spring 2026

    Introduces students to the fields of cybersecurity. Both non-technical issues, such as ethics and policy, and technical issues are covered. Students see and experiment with a wide range of areas within cybersecurity, including: binary exploitation, encryption, digital forensics, networks, and modern threats. Prerequisites: CS 2100 and CS 2130 or (CS 2100 place out test and CS 2130) with a grade of C- or better.

  • CS 6111

    Cloud Computing
     Rating

     Difficulty

     GPA

    3.76

    Last Taught

    Fall 2025

    This course introduces a basic grounding in designing and implementing cloud systems. It aims to acquaint students with principles and technologies of server clusters, virtualized datacenters, Internet clouds, and applications. Students will gain hands-on experience on public cloud such as Amazon EC2. Prerequisites: CS2150 Program and Data Representation or CS 111x Introduction to Programming, CS 4457 Computer Networks or equivalent background.

  • CS 4260

    Internet Scale Applications
     Rating

    3.50

     Difficulty

    3.50

     GPA

    3.77

    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 4993

    Independent Study
     Rating

    5.00

     Difficulty

    4.00

     GPA

    3.77

    Last Taught

    Spring 2026

    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 6501

    Special Topics in Computer Science
     Rating

    3.19

     Difficulty

    2.43

     GPA

    3.81

    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 6770

    Natural Language Processing
     Rating

     Difficulty

     GPA

    3.81

    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.

  • CS 6771

    Reinforcement Learning
     Rating

     Difficulty

     GPA

    3.83

    Last Taught

    Spring 2026

    This course focuses on the core principles of RL. Like statistical learning, a central challenge of RL is to generalize learned capabilities to unseen environments. However, RL faces additional challenges such as exploration-exploitation tradeoff, credit assignment, and distribution mismatch between behavior and target policies. Throughout the course, we will delve into various solutions to these challenges and provide theoretical justifications.

  • CS 4770

    Natural Language Processing
     Rating

     Difficulty

     GPA

    3.86

    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. Prerequisite: CS 3100 with a grade of a C- or better and APMA 3080 or equivalent.

  • CS 6316

    Machine Learning
     Rating

     Difficulty

     GPA

    3.88

    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 4980

    Capstone Research
     Rating

     Difficulty

     GPA

    3.91

    Last Taught

    Spring 2026

    This course is one option in the CS fourth-year thesis track. Students will seek out a faculty member as an advisor, and do an independent project with said advisor. Instructors can give the 3 credits across multiple semesters, if desired. This course is designed for students who are doing research, and want to use that research for their senior thesis. Note that this track could also be an implementation project, including a group-based project. Prerequisite: CS 3140 with a grade of C- or higher, and BSCS major.