• 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 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.

  • CS 4771

    Reinforcement Learning
     Rating

     Difficulty

     GPA

    3.92

    Last Taught

    Spring 2026

    This course aims to give an introduction to basic ideas and concepts of RL while avoiding deep dive in mathematical treatments. The course will help the student build an intuitive understanding of RL and give students hands-on experience on small-scale RL problems. Prerequisite: CS 2100 with a grade of C- or better or successfully complete the CS 2100 place out test.

  • CS 6763

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

     Difficulty

     GPA

    3.95

    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 2910

    CS Education Practicum
     Rating

    3.83

     Difficulty

    1.00

     GPA

    3.95

    Last Taught

    Spring 2026

    An overview of computer science education for undergraduate students. Topics include ethics, diversity, tutoring and teaching techniques, and classroom management. Students enrolled in this course serve as a teaching assistant for a computer science course as part of their coursework.

  • CS 1501

    Special Topics in Computer Science
     Rating

    4.78

     Difficulty

    1.00

     GPA

    Last Taught

    Spring 2026

    Student led special topic courses which vary by semester.