Departmental Advisors
Undergraduate Studies Office
Vicki Jackson
MEB 3190
Graduate Studies Office
Jill Wilson
MEB 3190
Departmental Notes
For course descriptions and pre-requisite information click on the subject column next to the appropriate catalog number.
THIS DEPARTMENT ENFORCES UNDERGRADUATE PREREQUISITES. Please note that the registration system may not factor in transfer work when determining if prerequisites have been met. If you are unable to register for a course and think you have met the prerequisite(s), please contact an advisor from this department to inquire about obtaining a permission code. You may be administratively dropped from a course if the prerequisite has not been met.
Attention: Classroom assignments may change between the time you
register and when classes begin. Please check your class schedule for the latest classroom location
information before attending class.
CS 1400 - 001 Intro Comp Programming
This course requires registration for a lab and/or discussion section. Students will be automatically registered for this lecture section when registering for the pertinent lab and/or discussion section. CS 1400 is the common and recommended first CS course. Students with prior experience may choose the accelerated and advanced alternative CS 1420. For advice on choosing your first CS course, see https://utah.sjc1.qualtrics.com/jfe/form/SV_4Iz3s5lM7eLYncO
CS 1400 - 001 Intro Comp Programming
- Class Number:
- Instructor: DE ST GERMAIN, H. James 'Jim'
- Component: Lecture
- Type: In Person
- Units: 4.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 210
This course requires registration for a lab and/or discussion section. Students will be automatically registered for this lecture section when registering for the pertinent lab and/or discussion section. CS 1400 is the common and recommended first CS course. Students with prior experience may choose the accelerated and advanced alternative CS 1420. For advice on choosing your first CS course, see https://utah.sjc1.qualtrics.com/jfe/form/SV_4Iz3s5lM7eLYncO
CS 1400 - 003 Intro Comp Programming
CS 1400 - 003 Intro Comp Programming
- Class Number: 11296
- Instructor: DE ST GERMAIN, H. James 'Jim'
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 30
CS 1400 - 004 Intro Comp Programming
CS 1400 - 004 Intro Comp Programming
- Class Number: 11297
- Instructor: DE ST GERMAIN, H. James 'Jim'
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 30
CS 1400 - 005 Intro Comp Programming
CS 1400 - 005 Intro Comp Programming
- Class Number: 11298
- Instructor: DE ST GERMAIN, H. James 'Jim'
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 30
CS 1410 - 001 Object-Oriented Prog
This course requires registration for a lab and/or discussion section. Students will be automatically registered for this lecture section when registering for the pertinent lab and/or discussion section.
CS 1410 - 001 Object-Oriented Prog
- Class Number:
- Instructor: PARKER, ERIN
- Component: Lecture
- Type: In Person
- Units: 4.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 270
This course requires registration for a lab and/or discussion section. Students will be automatically registered for this lecture section when registering for the pertinent lab and/or discussion section.
CS 1410 - 003 Object-Oriented Prog
CS 1410 - 003 Object-Oriented Prog
- Class Number: 11308
- Instructor: PARKER, ERIN
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 30
CS 1410 - 004 Object-Oriented Prog
CS 1410 - 004 Object-Oriented Prog
- Class Number: 11309
- Instructor: PARKER, ERIN
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 30
CS 1410 - 005 Object-Oriented Prog
CS 1410 - 005 Object-Oriented Prog
- Class Number: 11310
- Instructor: PARKER, ERIN
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 30
CS 1410 - 006 Object-Oriented Prog
CS 1410 - 006 Object-Oriented Prog
- Class Number: 11311
- Instructor: PARKER, ERIN
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 30
CS 1410 - 007 Object-Oriented Prog
CS 1410 - 007 Object-Oriented Prog
- Class Number: 11312
- Instructor: PARKER, ERIN
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 30
CS 1410 - 008 Object-Oriented Prog
CS 1410 - 008 Object-Oriented Prog
- Class Number: 11313
- Instructor: PARKER, ERIN
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 30
CS 1420 - 001 Accel Obj-Orient Prog
This course requires registration for a lab and/or discussion section. Students will be automatically registered for this lecture section when registering for the pertinent lab and/or discussion section. CS 1400 is the common and recommended first CS course. Students with prior experience may choose the accelerated and advanced alternative CS 1420. For advice on choosing your first CS course, see https://utah.sjc1.qualtrics.com/jfe/form/SV_4Iz3s5lM7eLYncO
CS 1420 - 001 Accel Obj-Orient Prog
- Class Number:
- Instructor: JONES, BEN
- Component: Lecture
- Type: In Person
- Units: 4.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 210
This course requires registration for a lab and/or discussion section. Students will be automatically registered for this lecture section when registering for the pertinent lab and/or discussion section. CS 1400 is the common and recommended first CS course. Students with prior experience may choose the accelerated and advanced alternative CS 1420. For advice on choosing your first CS course, see https://utah.sjc1.qualtrics.com/jfe/form/SV_4Iz3s5lM7eLYncO
CS 1420 - 004 Accel Obj-Orient Prog
CS 1420 - 004 Accel Obj-Orient Prog
- Class Number: 11338
- Instructor: JONES, BEN
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 30
CS 1420 - 005 Accel Obj-Orient Prog
CS 1420 - 005 Accel Obj-Orient Prog
- Class Number: 11339
- Instructor: JONES, BEN
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 30
CS 1420 - 006 Accel Obj-Orient Prog
CS 1420 - 006 Accel Obj-Orient Prog
- Class Number: 11340
- Instructor: JONES, BEN
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 30
CS 1810 - 001 Intro to Comp Systems
CS 1810 - 001 Intro to Comp Systems
- Class Number:
- Instructor: JONES, BEN
- Component: Lecture
- Type: In Person
- Units: 3.0
- Wait List: Yes
- Seats Available: 60
CS 1810 - 003 Intro to Comp Systems
CS 1810 - 003 Intro to Comp Systems
- Class Number: 11324
- Instructor: JONES, BEN
- Component: Laboratory
- Type: In Person
- Units: --
- Wait List: Yes
- Seats Available: 20
CS 2100 - 001 Discrete Structures
This course requires registration for a lab and/or discussion section. Students will be automatically registered for this lecture section when registering for the pertinent lab and/or discussion section.
CS 2100 - 001 Discrete Structures
- Class Number:
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 120
This course requires registration for a lab and/or discussion section. Students will be automatically registered for this lecture section when registering for the pertinent lab and/or discussion section.
CS 2420 - 001 Intro Alg & Data Struct
This course requires registration for a lab section. Students will be automatically registered for this lecture section when registering for the pertinent lab section.
CS 2420 - 001 Intro Alg & Data Struct
CS 3090 - 001 Ethics in Computing
CS 3090 - 001 Ethics in Computing
- Class Number: 11317
- Instructor: MARTIN, TRAVIS
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 90
CS 3100 - 001 Models Of Computation
The course fee covers digital course materials through the Instant Access program. Students may request to opt out here: https://portal.verba.io/utah/login
CS 3100 - 001 Models Of Computation
- Class Number: 11744
- Instructor: HENDERSON, THOMAS
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 211
The course fee covers digital course materials through the Instant Access program. Students may request to opt out here: https://portal.verba.io/utah/login
CS 3130 - 001 Eng Prob Stats
CS 3130 - 001 Eng Prob Stats
- Class Number: 11078
- Instructor: BHASKARA, ADITYA
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 200
CS 3190 - 001 Found. of Data Analysis
CS 3190 - 001 Found. of Data Analysis
- Class Number: 11286
- Instructor: PHILLIPS, JEFF
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 170
CS 3200 - 001 Intro Sci Comp
CS 3200 - 001 Intro Sci Comp
- Class Number: 11745
- Instructor: SHANKAR, VARUN
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 110
CS 3350 - 001 Intro to Practical ML
CS 3350 - 001 Intro to Practical ML
- Class Number: 17541
- Instructor: TAO, GUANHONG
- Component: Lecture
- Type: In Person
- Units: 3.0
- Wait List: Yes
- Seats Available: 100
CS 3390 - 001 Ethics in Data Science
CS 3390 - 001 Ethics in Data Science
- Class Number: 11287
- Instructor: KIRBY, ROBERT
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 45
CS 3500 - 001 Software Practice
This course requires registration for a lab and/or discussion section. Students will be automatically registered for this lecture section when registering for the pertinent lab and/or discussion section.
CS 3500 - 001 Software Practice
- Class Number:
- Component: Lecture
- Type: In Person
- Units: 4.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 150
This course requires registration for a lab and/or discussion section. Students will be automatically registered for this lecture section when registering for the pertinent lab and/or discussion section.
CS 3505 - 001 Software Practice II
This course requires registration for a lab and/or discussion section. Students will be automatically registered for this lecture section when registering for the pertinent lab and/or discussion section.
CS 3505 - 001 Software Practice II
- Class Number:
- Instructor: HEISLER, ERIC
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 256
This course requires registration for a lab and/or discussion section. Students will be automatically registered for this lecture section when registering for the pertinent lab and/or discussion section.
CS 3505 - 002 Software Practice II
CS 3505 - 002 Software Practice II
- Class Number: 11101
- Instructor: HEISLER, ERIC
- Component: Discussion
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 32
CS 3505 - 003 Software Practice II
CS 3505 - 003 Software Practice II
- Class Number: 11102
- Instructor: HEISLER, ERIC
- Component: Discussion
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 32
CS 3505 - 004 Software Practice II
CS 3505 - 004 Software Practice II
- Class Number: 11103
- Instructor: HEISLER, ERIC
- Component: Discussion
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 32
CS 3505 - 006 Software Practice II
CS 3505 - 006 Software Practice II
- Class Number: 11105
- Instructor: HEISLER, ERIC
- Component: Discussion
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 32
CS 3505 - 007 Software Practice II
CS 3505 - 007 Software Practice II
- Class Number: 11106
- Instructor: HEISLER, ERIC
- Component: Discussion
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 32
CS 3505 - 008 Software Practice II
CS 3505 - 008 Software Practice II
- Class Number: 11107
- Instructor: HEISLER, ERIC
- Component: Discussion
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 32
CS 3540 - 001 Design Human Center Sys
CS 3540 - 001 Design Human Center Sys
- Class Number: 11764
- Instructor: WIESE, ELIANE
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 120
CS 3550 - 001 Web Software Dev I
CS 3550 - 001 Web Software Dev I
- Class Number: 11318
- Instructor: JOHNSON, DAVID
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 155
CS 3700 - 001 Digital System Design
Section 2 belongs to this lecture. This course requires registration for a lab and/or discussion section. Students will be automatically registered for this lecture section when registering for the pertinent lab and/or discussion section. The course fee covers digital course materials through the Instant Access program. Students may request to opt out here: https://portal.verba.io/utah/login
CS 3700 - 001 Digital System Design
- Class Number:
- Instructor: GARCIA, LUIS
- Component: Lecture
- Type: In Person
- Units: 4.0
- Requisites: Yes
- Wait List: Yes
- Fees: $60.00
- Seats Available: 18
Section 2 belongs to this lecture. This course requires registration for a lab and/or discussion section. Students will be automatically registered for this lecture section when registering for the pertinent lab and/or discussion section. The course fee covers digital course materials through the Instant Access program. Students may request to opt out here: https://portal.verba.io/utah/login
CS 3700 - 002 Digital System Design
This class meets in MEB 3133.
CS 3700 - 002 Digital System Design
- Class Number: 11332
- Instructor: GARCIA, LUIS
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Fees: $60.00
- Seats Available: 18
This class meets in MEB 3133.
CS 3810 - 001 Computer Organization
CS 3810 - 001 Computer Organization
- Class Number: 11747
- Instructor: BALASUBRAMONIAN, RAJEEV
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 234
CS 3960 - 001 Human-Centered Data Management
This course will cover recent trends and practices in data management with a particular focus on human-centered aspects. We will emphasizes the central role of humans in data management. The course will cover: spreadsheet systems, data cleaning and transformation systems, notebook-centric analysis tools, explanation and provenance systems, data discovery systems, approximate query processing systems, speech and natural language querying systems, text and video analysis systems, semi-structured data systems. The emphasis will be on a mix of human-centric concerns, interface ideas, and scalable data processing ideas with a focus towards the end user. Topics will include NoSQL and other structured data systems, data systems usability and accessibility tools such as visual query languages, speech-based query languages, query by example, etc. The course will cover best practices for user interface (UI) design for data-management systems, user interactions, user modeling, and user experience (UX). The course will also cover recent tools and techniques for enhancing data quality such data cleaning, wrangling, transformation, meta-data management, and tools and techniques for data discovery, exploration, visualization, debugging, and data provenance. The course will have an emphasis on building usable tools for data analysis tasks and how data systems should be designed to assist their users in computation and analysis. The pre-requisite is CS 3500.
CS 3960 - 001 Human-Centered Data Management
- Class Number: 11729
- Instructor: FARIHA, ANNA
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 55
This course will cover recent trends and practices in data management with a particular focus on human-centered aspects. We will emphasizes the central role of humans in data management. The course will cover: spreadsheet systems, data cleaning and transformation systems, notebook-centric analysis tools, explanation and provenance systems, data discovery systems, approximate query processing systems, speech and natural language querying systems, text and video analysis systems, semi-structured data systems. The emphasis will be on a mix of human-centric concerns, interface ideas, and scalable data processing ideas with a focus towards the end user. Topics will include NoSQL and other structured data systems, data systems usability and accessibility tools such as visual query languages, speech-based query languages, query by example, etc. The course will cover best practices for user interface (UI) design for data-management systems, user interactions, user modeling, and user experience (UX). The course will also cover recent tools and techniques for enhancing data quality such data cleaning, wrangling, transformation, meta-data management, and tools and techniques for data discovery, exploration, visualization, debugging, and data provenance. The course will have an emphasis on building usable tools for data analysis tasks and how data systems should be designed to assist their users in computation and analysis. The pre-requisite is CS 3500.
CS 3960 - 003 Vibe Coding
Prerequisites: CS 3505 and Foundational Courses complete AND (Major OR Minor in Kahlert School of Computing). LLMs can now one-shot simple algorithms and homework assignments. How will they affect real-world software development? It turns out LLMs can help you code much faster—but only if you create an environment for the LLM to succeed. You’re no longer spending time writing code. But you must still define the problems to be solved, design and maintain a coherent software architecture, specify what correctness and performance means, and test the resulting code. The LLM handles the code, but you must handle the context. This class is not about how LLMs work—it’s about how to fit LLM-driven development into a bigger software engineering picture. Students will work in groups using LLMs to build a substantial software project and will be responsible for the correctness, usability, and maintainability of the resulting system. Students will share best practices for using LLMs, while lectures will cover the foundations of LLM coding agents, context engineering and its pitfalls, and LLM-specific software engineering practices.
CS 3960 - 003 Vibe Coding
- Class Number: 11731
- Instructor: PANCHEKHA, PAVEL
- Instructor: REGEHR, JOHN
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 60
Prerequisites: CS 3505 and Foundational Courses complete AND (Major OR Minor in Kahlert School of Computing). LLMs can now one-shot simple algorithms and homework assignments. How will they affect real-world software development? It turns out LLMs can help you code much faster—but only if you create an environment for the LLM to succeed. You’re no longer spending time writing code. But you must still define the problems to be solved, design and maintain a coherent software architecture, specify what correctness and performance means, and test the resulting code. The LLM handles the code, but you must handle the context. This class is not about how LLMs work—it’s about how to fit LLM-driven development into a bigger software engineering picture. Students will work in groups using LLMs to build a substantial software project and will be responsible for the correctness, usability, and maintainability of the resulting system. Students will share best practices for using LLMs, while lectures will cover the foundations of LLM coding agents, context engineering and its pitfalls, and LLM-specific software engineering practices.
CS 3992 - 001 Pre-Thesis/Clinic/Proj
CS 3992 - 001 Pre-Thesis/Clinic/Proj
- Class Number: 11076
- Instructor: Fayazi, Morteza
- Component: Seminar
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 15
CS 4000 - 001 Senior Capstone Design
CS 4000 - 001 Senior Capstone Design
- Class Number: 11195
- Instructor: DE ST GERMAIN, JOHN
- Instructor: GOPALAKRISHNAN, GANESH
- Instructor: ROSEN, PAUL
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 120
CS 4150 - 001 Algorithms
CS 4150 - 001 Algorithms
- Class Number: 11746
- Instructor: WANG, HAITAO
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 211
CS 4400 - 001 Computer Systems
This course requires registration for a lab and/or discussion section. Students will be automatically registered for this lecture section when registering for the pertinent lab and/or discussion section.
CS 4400 - 001 Computer Systems
- Class Number:
- Instructor: Basu Roy, Rohan
- Instructor: KOPTA, DANIEL
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 225
This course requires registration for a lab and/or discussion section. Students will be automatically registered for this lecture section when registering for the pertinent lab and/or discussion section.
CS 4400 - 003 Computer Systems
CS 4400 - 003 Computer Systems
- Class Number: 11093
- Instructor: Basu Roy, Rohan
- Instructor: KOPTA, DANIEL
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 32
CS 4400 - 004 Computer Systems
CS 4400 - 004 Computer Systems
- Class Number: 11094
- Instructor: Basu Roy, Rohan
- Instructor: KOPTA, DANIEL
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 32
CS 4400 - 005 Computer Systems
CS 4400 - 005 Computer Systems
- Class Number: 11095
- Instructor: Basu Roy, Rohan
- Instructor: KOPTA, DANIEL
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 32
CS 4400 - 006 Computer Systems
CS 4400 - 006 Computer Systems
- Class Number: 11096
- Instructor: Basu Roy, Rohan
- Instructor: KOPTA, DANIEL
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 32
CS 4400 - 007 Computer Systems
CS 4400 - 007 Computer Systems
- Class Number: 11097
- Instructor: Basu Roy, Rohan
- Instructor: KOPTA, DANIEL
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 32
CS 4400 - 009 Computer Systems
CS 4400 - 009 Computer Systems
- Class Number: 17449
- Instructor: Basu Roy, Rohan
- Instructor: KOPTA, DANIEL
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 32
CS 4500 - 001 Senior Capstone Project
CS 4500 - 001 Senior Capstone Project
- Class Number: 11579
- Instructor: ALSALEEM, AHMAD
- Instructor: DE ST GERMAIN, H. James 'Jim'
- Instructor: Van Der Merwe, Jacobus
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 198
CS 4530 - 001 Mobile App Programming
CS 4530 - 001 Mobile App Programming
- Class Number: 11275
- Instructor: MAKAREM, NABIL
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 145
CS 4550 - 001 Web Software Dev II
CS 4550 - 001 Web Software Dev II
- Class Number: 11319
- Instructor: WOOD, AARON
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 120
CS 4961 - 001 AI for HCC
Prerequisites: 'C-' or higher in CS 3350 AND Foundational Courses complete AND (Major OR Minor in Kahlert School of Computing. This course is designed for students interested in learning how artificial intelligence can improve human-computer interaction. We will explore how AI techniques can support better user experiences by modeling users, predicting behaviors, and adapting interfaces. Students will engage with paper readings, participate in class discussions, and complete hands-on projects. By the end of the course, students will be able to identify interaction challenges and apply AI-based methods such as analysis, simulation, and optimization to address them. Topics include adaptive interface design, personalization, and multimodal interaction (e.g., gaze, voice, and gesture).
CS 4961 - 001 AI for HCC
- Class Number: 11071
- Instructor: JIANG, YUE
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 10
Prerequisites: 'C-' or higher in CS 3350 AND Foundational Courses complete AND (Major OR Minor in Kahlert School of Computing. This course is designed for students interested in learning how artificial intelligence can improve human-computer interaction. We will explore how AI techniques can support better user experiences by modeling users, predicting behaviors, and adapting interfaces. Students will engage with paper readings, participate in class discussions, and complete hands-on projects. By the end of the course, students will be able to identify interaction challenges and apply AI-based methods such as analysis, simulation, and optimization to address them. Topics include adaptive interface design, personalization, and multimodal interaction (e.g., gaze, voice, and gesture).
CS 4964 - 001 Manage Data for & with ML
This course provides a broad exploration of the practical skills essential for handling, preparing, ingesting, indexing, and analyzing large datasets for machine learning applications. Students will explore various topics, including relational databases, optimizing dataset storage, data cleansing techniques, and large-scale data processing systems (e.g., Spark). The class also covers learned indexes and large-scale data visualization. This hands-on course aims to equip participants with the knowledge and proficiency to effectively manage and analyze vast datasets for machine learning applications. The prerequisite is CS 3500.
CS 4964 - 001 Manage Data for & with ML
- Class Number: 11063
- Instructor: REZIG, EL KINDI
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 31
This course provides a broad exploration of the practical skills essential for handling, preparing, ingesting, indexing, and analyzing large datasets for machine learning applications. Students will explore various topics, including relational databases, optimizing dataset storage, data cleansing techniques, and large-scale data processing systems (e.g., Spark). The class also covers learned indexes and large-scale data visualization. This hands-on course aims to equip participants with the knowledge and proficiency to effectively manage and analyze vast datasets for machine learning applications. The prerequisite is CS 3500.
CS 4992 - 001 CE Senior Thesis II
CS 4992 - 001 CE Senior Thesis II
- Class Number: 11074
- Instructor: KALLA, PRIYANK
- Component: Special Projects
- Type: In Person
- Units: 2.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 20
CS 5110 - 001 Software Verification
CS 5110 - 001 Software Verification
- Class Number: 11273
- Instructor: GREENMAN, BENJAMIN
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 20
CS 5460 - 001 Operating Systems
CS 5460 - 001 Operating Systems
- Class Number: 11761
- Instructor: BURTSEV, ANTON
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 75
CS 5493 - 001 Applied S/W Secur Test
CS 5493 - 001 Applied S/W Secur Test
- Class Number: 17447
- Instructor: NAGY, STEFAN
- Component: Lecture
- Type: In Person
- Units: 3.0
- Wait List: Yes
- Seats Available: 30
CS 5530 - 090 Database Systems
This is an online course, which does not have a specific meeting time or location throughout the semester. For additional information, please visit https://online.utah.edu/about-online-learning/
CS 5530 - 090 Database Systems
- Class Number: 11763
- Instructor: KOPTA, DANIEL
- Component: Lecture
- Type: Online
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 300
This is an online course, which does not have a specific meeting time or location throughout the semester. For additional information, please visit https://online.utah.edu/about-online-learning/
CS 5610 - 001 Interactive Comp Graph
CS 5610 - 001 Interactive Comp Graph
- Class Number: 11765
- Instructor: Lin, Jenny
- Instructor: YUKSEL, CEM
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 50
CS 5635 - 001 Vis for Scientific Data
CS 5635 - 001 Vis for Scientific Data
- Class Number: 11279
- Instructor: JOHNSON, CHRISTOPHER
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 42
CS 5780 - 001 Embedded Sys Design
This course requires registration for a lab and/or discussion section. Students will be automatically registered for this lecture section when registering for the pertinent lab and/or discussion section.
CS 5780 - 001 Embedded Sys Design
- Class Number:
- Instructor: GAILLARDON, PIERRE-EMMANUEL
- Component: Lecture
- Type: In Person
- Units: 4.0
- Requisites: Yes
- Wait List: Yes
- Fees: $35.00
- Seats Available: 11
This course requires registration for a lab and/or discussion section. Students will be automatically registered for this lecture section when registering for the pertinent lab and/or discussion section.
CS 5780 - 002 Embedded Sys Design
CS 5780 - 002 Embedded Sys Design
- Class Number: 11750
- Instructor: GAILLARDON, PIERRE-EMMANUEL
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Fees: $35.00
- Seats Available: 1
CS 5780 - 003 Embedded Sys Design
CS 5780 - 003 Embedded Sys Design
- Class Number: 11751
- Instructor: GAILLARDON, PIERRE-EMMANUEL
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Fees: $35.00
- Seats Available: 2
CS 5780 - 004 Embedded Sys Design
CS 5780 - 004 Embedded Sys Design
- Class Number: 11752
- Instructor: GAILLARDON, PIERRE-EMMANUEL
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Fees: $35.00
- Seats Available: 3
CS 5780 - 005 Embedded Sys Design
CS 5780 - 005 Embedded Sys Design
- Class Number: 11753
- Instructor: GAILLARDON, PIERRE-EMMANUEL
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Fees: $35.00
- Seats Available: 2
CS 5780 - 006 Embedded Sys Design
CS 5780 - 006 Embedded Sys Design
- Class Number: 11754
- Instructor: GAILLARDON, PIERRE-EMMANUEL
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Fees: $35.00
- Seats Available: 3
CS 5955 - 001 Adv Artificial Intelligence
Prerequisites: CS 4300 OR CS 5350 OR CS 5353 and Full Major Status in Computer Science OR Software Development OR Data Science. This course focuses on advanced algorithms for intelligent sequential decision making with a focus on deep learning-based methods and human-AI interaction. The class will cover both the theory and practical details of the algorithms behind recent breakthroughs in many types of AI decision making, including game playing, robotics, recommendation systems, and large language models. Topics include bandit algorithms, Markov decision processes, reinforcement learning, imitation learning, inverse reinforcement learning, reinforcement learning from human feedback, and AI safety and alignment.
CS 5955 - 001 Adv Artificial Intelligence
- Class Number: 11125
- Instructor: BROWN, DANIEL
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 15
Prerequisites: CS 4300 OR CS 5350 OR CS 5353 and Full Major Status in Computer Science OR Software Development OR Data Science. This course focuses on advanced algorithms for intelligent sequential decision making with a focus on deep learning-based methods and human-AI interaction. The class will cover both the theory and practical details of the algorithms behind recent breakthroughs in many types of AI decision making, including game playing, robotics, recommendation systems, and large language models. Topics include bandit algorithms, Markov decision processes, reinforcement learning, imitation learning, inverse reinforcement learning, reinforcement learning from human feedback, and AI safety and alignment.
CS 5962 - 001 Auto Speech Recog & Accent
This course provides a cross-disciplinary view of speech transcription services, known as automatic speech recognition (ASR) services. Students will read research papers that describe ASR services’ performance as a function of the accent of the speaker. The course covers the context of historical and current cultural attitudes about accent and spoken language as relevant to ASR. Students will build ASR models and evaluate them using available datasets. Students will read, critically evaluate, and discuss current published research on the topics of ASR and accent, and research suggesting or testing methods to improve ASR performance by accent.
CS 5962 - 001 Auto Speech Recog & Accent
- Class Number: 18135
- Instructor: PATWARI, NEAL
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 10
This course provides a cross-disciplinary view of speech transcription services, known as automatic speech recognition (ASR) services. Students will read research papers that describe ASR services’ performance as a function of the accent of the speaker. The course covers the context of historical and current cultural attitudes about accent and spoken language as relevant to ASR. Students will build ASR models and evaluate them using available datasets. Students will read, critically evaluate, and discuss current published research on the topics of ASR and accent, and research suggesting or testing methods to improve ASR performance by accent.
CS 5965 - 001 Social Computing
CS 5965 - 001 Social Computing
- Class Number: 11064
- Instructor: KOGAN, MARINA
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 15
CS 5966 - 001 Interpretability of LLMs
Prerequisites: 'C-' or higher in CS 3960 OR CS 5340 OR CS 5353 AND Foundational Courses complete AND (Major OR Minor in Kahlert School of Computing OR ECE). Cracking the interpretability of large language models (LLMs) could be as transformative for AI as the decoding of the genome was for biology. Once a distant aspiration, this grand scientific challenge is now edging toward possibility. In this course, we will explore a spectrum of interpretability methods, ranging from earlier techniques such as highlighting salient inputs and tracing influential training examples, to two advanced directions. First, mechanistic interpretability that seeks to decompose LLMs into interpretable units and trace how their interactions give rise to model behavior. Second, reasoning in natural language, which is both a frontier in interpretability and a core mechanism underlying agentic AI systems. We will focus not only on how these methods work, but also on how to evaluate them rigorously.
CS 5966 - 001 Interpretability of LLMs
- Class Number: 11065
- Instructor: MARASOVIC, ANA
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 10
Prerequisites: 'C-' or higher in CS 3960 OR CS 5340 OR CS 5353 AND Foundational Courses complete AND (Major OR Minor in Kahlert School of Computing OR ECE). Cracking the interpretability of large language models (LLMs) could be as transformative for AI as the decoding of the genome was for biology. Once a distant aspiration, this grand scientific challenge is now edging toward possibility. In this course, we will explore a spectrum of interpretability methods, ranging from earlier techniques such as highlighting salient inputs and tracing influential training examples, to two advanced directions. First, mechanistic interpretability that seeks to decompose LLMs into interpretable units and trace how their interactions give rise to model behavior. Second, reasoning in natural language, which is both a frontier in interpretability and a core mechanism underlying agentic AI systems. We will focus not only on how these methods work, but also on how to evaluate them rigorously.
CS 5967 - 001 Critical HCI and Visualization
Prerequisites CS 3540 or DS 4630 OR CS 5630 OR other experience in HCI or Visualization AND Foundational Courses complete AND (Major OR Minor in Kahlert School of Computing. This course aims to equip students with skills for critically analyzing data and data related systems in the context of human-computer interaction (HCI) and visualization research, as well as in computer science more broadly. Via readings, projects, and discussions students will develop conceptual tools for evaluating, interpreting, and critiquing data, interfaces, and systems—critical thinking in data writ large. Relevant questions include: what is data? How do we evaluate the quality and relevance of systems for interacting with data? What biases might be inherent in these designs? To serve this goal we will explore perspectives from critical theory, science and technology studies, and HCI/VIS research (such as Data Feminism). Students will gain experience in reading, understanding, and applying ideas from other fields to problems in familiar data domains.
CS 5967 - 001 Critical HCI and Visualization
- Class Number: 11066
- Instructor: MCNUTT, ANDREW
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 3
Prerequisites CS 3540 or DS 4630 OR CS 5630 OR other experience in HCI or Visualization AND Foundational Courses complete AND (Major OR Minor in Kahlert School of Computing. This course aims to equip students with skills for critically analyzing data and data related systems in the context of human-computer interaction (HCI) and visualization research, as well as in computer science more broadly. Via readings, projects, and discussions students will develop conceptual tools for evaluating, interpreting, and critiquing data, interfaces, and systems—critical thinking in data writ large. Relevant questions include: what is data? How do we evaluate the quality and relevance of systems for interacting with data? What biases might be inherent in these designs? To serve this goal we will explore perspectives from critical theory, science and technology studies, and HCI/VIS research (such as Data Feminism). Students will gain experience in reading, understanding, and applying ideas from other fields to problems in familiar data domains.
CS 6013 - 001 MSD: Computer Systems
CS 6013 - 001 MSD: Computer Systems
- Class Number:
- Instructor: DE ST GERMAIN, JOHN
- Component: Lecture
- Type: In Person
- Units: 4.0
- Wait List: No
- Seats Available: 30
CS 6013 - 002 MSD: Computer Systems
CS 6013 - 002 MSD: Computer Systems
- Class Number: 11281
- Instructor: DE ST GERMAIN, JOHN
- Component: Laboratory
- Type: In Person
- Units: --
- Wait List: No
- Seats Available: 30
CS 6014 - 001 MSD: Netwrks & Security
CS 6014 - 001 MSD: Netwrks & Security
- Class Number:
- Instructor: Flatt, Matthew
- Component: Lecture
- Type: In Person
- Units: 4.0
- Wait List: No
- Seats Available: 30
CS 6014 - 002 MSD: Netwrks & Security
CS 6014 - 002 MSD: Netwrks & Security
- Class Number: 11283
- Instructor: Flatt, Matthew
- Component: Laboratory
- Type: In Person
- Units: --
- Wait List: No
- Seats Available: 30
CS 6015 - 001 MSD: Software Engineer
CS 6015 - 001 MSD: Software Engineer
- Class Number:
- Instructor: MAKAREM, NABIL
- Component: Lecture
- Type: In Person
- Units: 4.0
- Wait List: No
- Seats Available: 30
CS 6015 - 002 MSD: Software Engineer
CS 6015 - 002 MSD: Software Engineer
- Class Number: 11277
- Instructor: MAKAREM, NABIL
- Component: Laboratory
- Type: In Person
- Units: --
- Wait List: No
- Seats Available: 30
CS 6019 - 001 MSD Project
CS 6019 - 001 MSD Project
- Class Number: 11278
- Instructor: Flatt, Matthew
- Instructor: JONES, BEN
- Instructor: MAKAREM, NABIL
- Instructor: SHANKAR, VARUN
- Component: Lecture
- Type: In Person
- Units: 4.0
- Wait List: No
- Seats Available: 50
CS 6020 - 001 Early-Career Research
CS 6020 - 001 Early-Career Research
- Class Number: 11072
- Instructor: PHILLIPS, BEI WANG
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 10
CS 6110 - 001 Software Verification
CS 6110 - 001 Software Verification
- Class Number: 11439
- Instructor: GREENMAN, BENJAMIN
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 40
CS 6170 - 001 Computational Topology
CS 6170 - 001 Computational Topology
- Class Number: 11142
- Instructor: PHILLIPS, BEI WANG
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 30
CS 6330 - 001 Robotics II: Control
CS 6330 - 001 Robotics II: Control
- Class Number: 11138
- Instructor: MASCARO, STEPHEN
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Fees: $40.00
- Seats Available: 10
CS 6370 - 001 Motion Planning
CS 6370 - 001 Motion Planning
- Class Number: 11109
- Instructor: Hermans, Tucker
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 34
CS 6460 - 001 Operating Systems
CS 6460 - 001 Operating Systems
- Class Number: 11775
- Instructor: BURTSEV, ANTON
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 100
CS 6491 - 001 Software & Sys Security
CS 6493 - 001 Applied S/W Secur Test
CS 6493 - 001 Applied S/W Secur Test
- Class Number: 17448
- Instructor: NAGY, STEFAN
- Component: Lecture
- Type: In Person
- Units: 3.0
- Wait List: No
- Seats Available: 30
CS 6545 - 001 HCI Origin&Perspectives
CS 6545 - 001 HCI Origin&Perspectives
- Class Number: 11325
- Instructor: Wiese, Jason
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 20
CS 6610 - 001 Interactive Comp Graph
CS 6610 - 001 Interactive Comp Graph
- Class Number: 11803
- Instructor: Lin, Jenny
- Instructor: YUKSEL, CEM
- Component: Lecture
- Type: In Person
- Units: 3.0
- Wait List: No
- Seats Available: 30
CS 6635 - 001 Vis for Scientific Data
CS 6635 - 001 Vis for Scientific Data
- Class Number: 11285
- Instructor: JOHNSON, CHRISTOPHER
- Component: Lecture
- Type: In Person
- Units: 3.0
- Wait List: No
- Seats Available: 50
CS 6780 - 001 Embed Sys Design
Sections 2-4 belong to this lecture. This course requires registration for a lab and/or discussion section. Students will be automatically registered for this lecture section when registering for the pertinent lab and/or discussion section.
CS 6780 - 001 Embed Sys Design
- Class Number:
- Instructor: GAILLARDON, PIERRE-EMMANUEL
- Component: Lecture
- Type: In Person
- Units: 4.0
- Requisites: Yes
- Wait List: No
- Fees: $35.00
- Seats Available: 4
Sections 2-4 belong to this lecture. This course requires registration for a lab and/or discussion section. Students will be automatically registered for this lecture section when registering for the pertinent lab and/or discussion section.
CS 6780 - 002 Embed Sys Design
CS 6780 - 002 Embed Sys Design
- Class Number: 11114
- Instructor: GAILLARDON, PIERRE-EMMANUEL
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Fees: $35.00
- Seats Available: 2
CS 6780 - 004 Embed Sys Design
CS 6780 - 004 Embed Sys Design
- Class Number: 11116
- Instructor: GAILLARDON, PIERRE-EMMANUEL
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Fees: $35.00
- Seats Available: 1
CS 6780 - 005 Embed Sys Design
CS 6780 - 005 Embed Sys Design
- Class Number: 11117
- Instructor: GAILLARDON, PIERRE-EMMANUEL
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Fees: $35.00
- Seats Available: 1
CS 6800 - 001 MSD Capstone Internship
CS 6800 - 001 MSD Capstone Internship
- Class Number: 11290
- Instructor: ALSALEEM, AHMAD
- Instructor: DE ST GERMAIN, JOHN
- Instructor: Flatt, Matthew
- Instructor: JONES, BEN
- Instructor: MAKAREM, NABIL
- Instructor: SHANKAR, VARUN
- Component: Practicum
- Type: In Person
- Units: 4.0
- Wait List: No
- Seats Available: 15
CS 6953 - 001 Deep Learning Capstone
CS 6953 - 001 Deep Learning Capstone
- Class Number: 11316
- Instructor: AL HALAH, ZIAD
- Instructor: HENDERSON, THOMAS
- Component: Practicum
- Type: In Person
- Units: 3.0
- Wait List: No
- Seats Available: 25
CS 6955 - 001 Adv Artificial Intelligence
This course focuses on advanced algorithms for intelligent sequential decision making with a focus on deep learning-based methods and human-AI interaction. The class will cover both the theory and practical details of the algorithms behind recent breakthroughs in many types of AI decision making, including game playing, robotics, recommendation systems, and large language models. Topics include bandit algorithms, Markov decision processes, reinforcement learning, imitation learning, inverse reinforcement learning, reinforcement learning from human feedback, and AI safety and alignment.
CS 6955 - 001 Adv Artificial Intelligence
- Class Number: 11127
- Instructor: BROWN, DANIEL
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Wait List: No
- Seats Available: 35
This course focuses on advanced algorithms for intelligent sequential decision making with a focus on deep learning-based methods and human-AI interaction. The class will cover both the theory and practical details of the algorithms behind recent breakthroughs in many types of AI decision making, including game playing, robotics, recommendation systems, and large language models. Topics include bandit algorithms, Markov decision processes, reinforcement learning, imitation learning, inverse reinforcement learning, reinforcement learning from human feedback, and AI safety and alignment.
CS 6958 - 001 Advanced Computer Vision
This course will cover the recent advances in computer vision, with focus on understanding state-of-the-art methods, analyzing their strengths and weaknesses, and identifying future research opportunities. Example topics covered in this course: object and action recognition, video understanding, self-supervised representation learning, zero- and few-shot learning, transfer learning, language and vision, audio and vision, vision for robotics, image generation, image manipulation, and egocentric perception. This is an advanced vision course for graduate students, previous knowledge of machine learning or deep learning (e.g., CS 5350/6350 or CS 5353/6353) is recommended.
CS 6958 - 001 Advanced Computer Vision
- Class Number: 11130
- Instructor: AL HALAH, ZIAD
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Wait List: No
- Seats Available: 20
This course will cover the recent advances in computer vision, with focus on understanding state-of-the-art methods, analyzing their strengths and weaknesses, and identifying future research opportunities. Example topics covered in this course: object and action recognition, video understanding, self-supervised representation learning, zero- and few-shot learning, transfer learning, language and vision, audio and vision, vision for robotics, image generation, image manipulation, and egocentric perception. This is an advanced vision course for graduate students, previous knowledge of machine learning or deep learning (e.g., CS 5350/6350 or CS 5353/6353) is recommended.
CS 6959 - 001 Human-Centered Data Management
CS 6959 - 001 Human-Centered Data Management
- Class Number: 11131
- Instructor: FARIHA, ANNA
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Wait List: No
- Seats Available: 35
CS 6960 - 001 Multimodal LLM Agents
This course will explore the rapidly developing area of Multimodal Large Language Models in embodied settings. Students will learn the foundations of Reinforcement Learning and Large Language Models to understand how large-scale models can be deployed to multimodal environments. Topics will include control flow and scaffolding for agents such as ReAct, Tool use LLMs, coding agents, game-playing agents, computer use and robotics. As part of the course, students will complete programming assignments, read recent papers in the field and complete a significant project. While there are no formal prerequisites, students are expected to be familiar with Machine Learning and the basics of Natural Language Processing (CS 5340) before taking the course.
CS 6960 - 001 Multimodal LLM Agents
- Class Number: 11732
- Instructor: Marino, Kenneth
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Wait List: No
- Seats Available: 20
This course will explore the rapidly developing area of Multimodal Large Language Models in embodied settings. Students will learn the foundations of Reinforcement Learning and Large Language Models to understand how large-scale models can be deployed to multimodal environments. Topics will include control flow and scaffolding for agents such as ReAct, Tool use LLMs, coding agents, game-playing agents, computer use and robotics. As part of the course, students will complete programming assignments, read recent papers in the field and complete a significant project. While there are no formal prerequisites, students are expected to be familiar with Machine Learning and the basics of Natural Language Processing (CS 5340) before taking the course.
CS 6961 - 001 AI for HCC
This course is designed for students interested in learning how artificial intelligence can improve human-computer interaction. We will explore how AI techniques can support better user experiences by modeling users, predicting behaviors, and adapting interfaces. Students will engage with paper readings, participate in class discussions, and complete hands-on projects. By the end of the course, students will be able to identify interaction challenges and apply AI-based methods such as analysis, simulation, and optimization to address them. Topics include adaptive interface design, personalization, and multimodal interaction (e.g., gaze, voice, and gesture).
CS 6961 - 001 AI for HCC
- Class Number: 11770
- Instructor: JIANG, YUE
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 10
This course is designed for students interested in learning how artificial intelligence can improve human-computer interaction. We will explore how AI techniques can support better user experiences by modeling users, predicting behaviors, and adapting interfaces. Students will engage with paper readings, participate in class discussions, and complete hands-on projects. By the end of the course, students will be able to identify interaction challenges and apply AI-based methods such as analysis, simulation, and optimization to address them. Topics include adaptive interface design, personalization, and multimodal interaction (e.g., gaze, voice, and gesture).
CS 6962 - 001 Auto Speech Recog & Accent
This course provides a cross-disciplinary view of speech transcription services, known as automatic speech recognition (ASR) services. Students will read research papers that describe ASR services’ performance as a function of the accent of the speaker. The course covers the context of historical and current cultural attitudes about accent and spoken language as relevant to ASR. Students will build ASR models and evaluate them using available datasets. Students will read, critically evaluate, and discuss current published research on the topics of ASR and accent, and research suggesting or testing methods to improve ASR performance by accent.
CS 6962 - 001 Auto Speech Recog & Accent
- Class Number: 11771
- Instructor: PATWARI, NEAL
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 30
This course provides a cross-disciplinary view of speech transcription services, known as automatic speech recognition (ASR) services. Students will read research papers that describe ASR services’ performance as a function of the accent of the speaker. The course covers the context of historical and current cultural attitudes about accent and spoken language as relevant to ASR. Students will build ASR models and evaluate them using available datasets. Students will read, critically evaluate, and discuss current published research on the topics of ASR and accent, and research suggesting or testing methods to improve ASR performance by accent.
CS 6964 - 001 Manage Data for & with ML
This course provides a broad exploration of the practical skills essential for handling, preparing, ingesting, indexing, and analyzing large datasets for machine learning applications. Students will explore various topics, including relational databases, optimizing dataset storage, data cleansing techniques, and large-scale data processing systems (e.g., Spark). The class also covers learned indexes and large-scale data visualization. This hands-on course aims to equip participants with the knowledge and proficiency to effectively manage and analyze vast datasets for machine learning applications.
CS 6964 - 001 Manage Data for & with ML
- Class Number: 11773
- Instructor: REZIG, EL KINDI
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 39
This course provides a broad exploration of the practical skills essential for handling, preparing, ingesting, indexing, and analyzing large datasets for machine learning applications. Students will explore various topics, including relational databases, optimizing dataset storage, data cleansing techniques, and large-scale data processing systems (e.g., Spark). The class also covers learned indexes and large-scale data visualization. This hands-on course aims to equip participants with the knowledge and proficiency to effectively manage and analyze vast datasets for machine learning applications.
CS 6965 - 001 Social Computing
CS 6965 - 001 Social Computing
- Class Number: 11067
- Instructor: KOGAN, MARINA
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 15
CS 6966 - 001 Interpretability of LLMs
Prerequisites: CS 6340 Natural Language Processing or CS 6353 Deep Learning Can be substituted with a qualifying exam. Cracking the interpretability of large language models (LLMs) could be as transformative for AI as the decoding of the genome was for biology. Once a distant aspiration, this grand scientific challenge is now edging toward possibility. In this course, we will explore a spectrum of interpretability methods, ranging from earlier techniques such as highlighting salient inputs and tracing influential training examples, to two advanced directions. First, mechanistic interpretability that seeks to decompose LLMs into interpretable units and trace how their interactions give rise to model behavior. Second, reasoning in natural language, which is both a frontier in interpretability and a core mechanism underlying agentic AI systems. We will focus not only on how these methods work, but also on how to evaluate them rigorously.
CS 6966 - 001 Interpretability of LLMs
- Class Number: 11068
- Instructor: MARASOVIC, ANA
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 40
Prerequisites: CS 6340 Natural Language Processing or CS 6353 Deep Learning Can be substituted with a qualifying exam. Cracking the interpretability of large language models (LLMs) could be as transformative for AI as the decoding of the genome was for biology. Once a distant aspiration, this grand scientific challenge is now edging toward possibility. In this course, we will explore a spectrum of interpretability methods, ranging from earlier techniques such as highlighting salient inputs and tracing influential training examples, to two advanced directions. First, mechanistic interpretability that seeks to decompose LLMs into interpretable units and trace how their interactions give rise to model behavior. Second, reasoning in natural language, which is both a frontier in interpretability and a core mechanism underlying agentic AI systems. We will focus not only on how these methods work, but also on how to evaluate them rigorously.
CS 6967 - 001 Critical HCI and Visualization
This course aims to equip students with skills for critically analyzing data and data related systems in the context of human-computer interaction (HCI) and visualization research, as well as in computer science more broadly. Via readings, projects, and discussions students will develop conceptual tools for evaluating, interpreting, and critiquing data, interfaces, and systems—critical thinking in data writ large. Relevant questions include: what is data? How do we evaluate the quality and relevance of systems for interacting with data? What biases might be inherent in these designs? To serve this goal we will explore perspectives from critical theory, science and technology studies, and HCI/VIS research (such as Data Feminism). Students will gain experience in reading, understanding, and applying ideas from other fields to problems in familiar data domains.
CS 6967 - 001 Critical HCI and Visualization
- Class Number: 11069
- Instructor: MCNUTT, ANDREW
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Wait List: No
- Seats Available: 20
This course aims to equip students with skills for critically analyzing data and data related systems in the context of human-computer interaction (HCI) and visualization research, as well as in computer science more broadly. Via readings, projects, and discussions students will develop conceptual tools for evaluating, interpreting, and critiquing data, interfaces, and systems—critical thinking in data writ large. Relevant questions include: what is data? How do we evaluate the quality and relevance of systems for interacting with data? What biases might be inherent in these designs? To serve this goal we will explore perspectives from critical theory, science and technology studies, and HCI/VIS research (such as Data Feminism). Students will gain experience in reading, understanding, and applying ideas from other fields to problems in familiar data domains.
CS 6969 - 001 Fast and Verified GPU Code
Modern ML and HPC systems depend on carefully crafted computational primitives (GPU kernels, functions) for performance, yet these components often contain subtle functional and performance bugs despite extensive testing. This project-centered course examines the numeric and scheduling abstractions needed to build correct, fast primitives while introducing systematic design tools like data-flow languages and MLIR. Co-taught with a visiting systems expert, students will design primitives using program semantics, verification methods, and performance measurement, then evaluate them in realistic ML/HPC frameworks. Students will produce research papers and software artifacts based on their work.
CS 6969 - 001 Fast and Verified GPU Code
- Class Number: 11070
- Instructor: GOPALAKRISHNAN, GANESH
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 25
Modern ML and HPC systems depend on carefully crafted computational primitives (GPU kernels, functions) for performance, yet these components often contain subtle functional and performance bugs despite extensive testing. This project-centered course examines the numeric and scheduling abstractions needed to build correct, fast primitives while introducing systematic design tools like data-flow languages and MLIR. Co-taught with a visiting systems expert, students will design primitives using program semantics, verification methods, and performance measurement, then evaluate them in realistic ML/HPC frameworks. Students will produce research papers and software artifacts based on their work.
CS 7520 - 001 Program Lang Semantics
CS 7520 - 001 Program Lang Semantics
- Class Number: 17425
- Instructor: Flatt, Matthew
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 28
CS 7640 - 001 Adv Image Processing
Artificial intelligence is rapidly transforming image analysis across domains like biomedical imaging, robotics, and industrial automation. This advanced graduate course explores emerging paradigms at the intersection of artificial intelligence and image analysis, emphasizing methods beyond traditional deep learning. Topics rotate to reflect current research trends and may include foundation models, generative AI, self- and weakly-supervised learning, AI for 3D/4D imaging, explainable and trustworthy AI, privacy-preserving learning, human-AI collaboration, and real-time edge AI applications. Designed for students in CS, ECE, BME, and related fields, the course balances lectures, paper discussions, and a research project. Topics may vary each semester to reflect the evolving landscape of AI for image analysis.
CS 7640 - 001 Adv Image Processing
- Class Number: 11112
- Instructor: Elhabian, Shireen
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 40
Artificial intelligence is rapidly transforming image analysis across domains like biomedical imaging, robotics, and industrial automation. This advanced graduate course explores emerging paradigms at the intersection of artificial intelligence and image analysis, emphasizing methods beyond traditional deep learning. Topics rotate to reflect current research trends and may include foundation models, generative AI, self- and weakly-supervised learning, AI for 3D/4D imaging, explainable and trustworthy AI, privacy-preserving learning, human-AI collaboration, and real-time edge AI applications. Designed for students in CS, ECE, BME, and related fields, the course balances lectures, paper discussions, and a research project. Topics may vary each semester to reflect the evolving landscape of AI for image analysis.
CS 7810 - 001 Adv Computer Arch
CS 7810 - 001 Adv Computer Arch
- Class Number: 11099
- Instructor: NAGARAJAN, VIJAYANAND
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 20
CS 7933 - 001 Graphics Seminar
CS 7933 - 001 Graphics Seminar
- Class Number: 11089
- Instructor: Lin, Jenny
- Component: Seminar
- Type: In Person
- Units: 1.0
- Requisites: Yes
- Wait List: No
- Seats Available: 20
CS 7934 - 001 Computer Systems Seminar
CS 7934 - 001 Computer Systems Seminar
- Class Number: 11088
- Instructor: EIDE, ERIC N
- Component: Seminar
- Type: In Person
- Units: 1.0
- Requisites: Yes
- Wait List: No
- Seats Available: 10
CS 7936 - 001 Type Theory Foundations
CS 7936 - 001 Type Theory Foundations
- Class Number: 11084
- Instructor: GREENMAN, BENJAMIN
- Component: Seminar
- Type: In Person
- Units: 1.0
- Requisites: Yes
- Wait List: No
- Seats Available: 15
CS 7937 - 001 Arch/VLSI
Meets in MEB 2170
CS 7937 - 001 Arch/VLSI
- Class Number: 11083
- Instructor: NAGARAJAN, VIJAYANAND
- Component: Seminar
- Type: In Person
- Units: 1.0
- Requisites: Yes
- Wait List: No
- Seats Available: 10
Meets in MEB 2170
CS 7941 - 001 Data Science Seminar
CS 7941 - 001 Data Science Seminar
- Class Number: 11080
- Instructor: PHILLIPS, JEFF
- Component: Seminar
- Type: In Person
- Units: 1.0
- Requisites: Yes
- Wait List: No
- Seats Available: 40
CS 7942 - 001 Visualization Seminar
CS 7942 - 001 Visualization Seminar
- Class Number: 11079
- Instructor: MCNUTT, ANDREW
- Component: Seminar
- Type: In Person
- Units: 1.0
- Requisites: Yes
- Wait List: No
- Seats Available: 15