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.
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. Students may take CS 1400 or CS 1420 as a their first CS course. For a guide on choosing a course, seehttps://handbook.cs.utah.edu/2024-2025/CS/Prospective_Students/choosing_between_1400_1420.php
- Class Number:
- Instructor: BROWN, NOELLE
- Component: Lecture
- Type: In Person
- Units: 4.0
- Requisites: Yes
- Wait List: No
- Seats Available: 73
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. Students may take CS 1400 or CS 1420 as a their first CS course. For a guide on choosing a course, seehttps://handbook.cs.utah.edu/2024-2025/CS/Prospective_Students/choosing_between_1400_1420.php
CS 1400 - 003 Intro Comp Programming
CS 1400 - 003 Intro Comp Programming
- Class Number: 11410
- Instructor: BROWN, NOELLE
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 1
CS 1400 - 004 Intro Comp Programming
CS 1400 - 004 Intro Comp Programming
- Class Number: 11411
- Instructor: BROWN, NOELLE
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 0
CS 1400 - 005 Intro Comp Programming
CS 1400 - 005 Intro Comp Programming
- Class Number: 11412
- Instructor: BROWN, NOELLE
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 8
CS 1400 - 006 Intro Comp Programming
CS 1400 - 006 Intro Comp Programming
- Class Number: 11413
- Instructor: BROWN, NOELLE
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 4
CS 1400 - 007 Intro Comp Programming
CS 1400 - 007 Intro Comp Programming
- Class Number: 11414
- Instructor: BROWN, NOELLE
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 0
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: MARTIN, TRAVIS B
- Component: Lecture
- Type: In Person
- Units: 4.0
- Requisites: Yes
- Wait List: No
- Seats Available: 16
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 - 002 Object-Oriented Prog
CS 1410 - 002 Object-Oriented Prog
- Class Number: 11419
- Instructor: MARTIN, TRAVIS B
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 2
CS 1410 - 003 Object-Oriented Prog
CS 1410 - 003 Object-Oriented Prog
- Class Number: 11420
- Instructor: MARTIN, TRAVIS B
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 0
CS 1410 - 004 Object-Oriented Prog
CS 1410 - 004 Object-Oriented Prog
- Class Number: 11421
- Instructor: MARTIN, TRAVIS B
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 0
CS 1410 - 005 Object-Oriented Prog
CS 1410 - 005 Object-Oriented Prog
- Class Number: 12256
- Instructor: MARTIN, TRAVIS B
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 0
CS 1410 - 006 Object-Oriented Prog
CS 1410 - 006 Object-Oriented Prog
- Class Number: 11422
- Instructor: MARTIN, TRAVIS B
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 0
CS 1410 - 007 Object-Oriented Prog
CS 1410 - 007 Object-Oriented Prog
- Class Number: 11423
- Instructor: MARTIN, TRAVIS B
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 0
CS 1410 - 008 Object-Oriented Prog
CS 1410 - 008 Object-Oriented Prog
- Class Number: 11424
- Instructor: MARTIN, TRAVIS B
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 0
CS 1410 - 009 Object-Oriented Prog
CS 1410 - 009 Object-Oriented Prog
- Class Number: 11425
- Instructor: MARTIN, TRAVIS B
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 0
CS 1410 - 010 Object-Oriented Prog
CS 1410 - 010 Object-Oriented Prog
- Class Number: 12367
- Instructor: MARTIN, TRAVIS B
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 14
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. Students may take CS 1400 or CS 1420 as a their first CS course. For a guide on choosing a course, seehttps://handbook.cs.utah.edu/2024-2025/CS/Prospective_Students/choosing_between_1400_1420.php
CS 1420 - 001 Accel Obj-Orient Prog
- Class Number:
- Instructor: JONES, BEN
- Component: Lecture
- Type: In Person
- Units: 4.0
- Requisites: Yes
- Wait List: No
- Seats Available: 94
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. Students may take CS 1400 or CS 1420 as a their first CS course. For a guide on choosing a course, seehttps://handbook.cs.utah.edu/2024-2025/CS/Prospective_Students/choosing_between_1400_1420.php
CS 1420 - 003 Accel Obj-Orient Prog
CS 1420 - 003 Accel Obj-Orient Prog
- Class Number: 4796
- Instructor: JONES, BEN
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 5
CS 1420 - 004 Accel Obj-Orient Prog
CS 1420 - 004 Accel Obj-Orient Prog
- Class Number: 4797
- Instructor: JONES, BEN
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 9
CS 1420 - 005 Accel Obj-Orient Prog
CS 1420 - 005 Accel Obj-Orient Prog
- Class Number: 4798
- Instructor: JONES, BEN
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 18
CS 1420 - 006 Accel Obj-Orient Prog
CS 1420 - 006 Accel Obj-Orient Prog
- Class Number: 4799
- Instructor: JONES, BEN
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 2
CS 1420 - 007 Accel Obj-Orient Prog
CS 1420 - 007 Accel Obj-Orient Prog
- Class Number: 4800
- Instructor: JONES, BEN
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 0
CS 1810 - 001 Intro to Comp Systems
CS 1810 - 001 Intro to Comp Systems
- Class Number:
- Instructor: PARKER, ERIN
- Component: Lecture
- Type: In Person
- Units: 3.0
- Wait List: No
- Seats Available: 24
CS 1810 - 002 Intro to Comp Systems
CS 1810 - 002 Intro to Comp Systems
- Class Number: 14908
- Instructor: PARKER, ERIN
- Component: Laboratory
- Type: In Person
- Units: --
- Wait List: No
- Seats Available: 3
CS 1810 - 003 Intro to Comp Systems
CS 1810 - 003 Intro to Comp Systems
- Class Number: 14893
- Instructor: PARKER, ERIN
- Component: Laboratory
- Type: In Person
- Units: --
- Wait List: No
- Seats Available: 1
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:
- Instructor: WOOD, AARON
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Fees: $51.02
- Seats Available: 18
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 - 002 Discrete Structures
CS 2100 - 002 Discrete Structures
- Class Number: 6869
- Instructor: WOOD, AARON
- Component: Discussion
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 1
CS 2100 - 003 Discrete Structures
CS 2100 - 003 Discrete Structures
- Class Number: 5637
- Instructor: WOOD, AARON
- Component: Discussion
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 7
CS 2100 - 004 Discrete Structures
CS 2100 - 004 Discrete Structures
- Class Number: 5638
- Instructor: WOOD, AARON
- Component: Discussion
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 10
CS 2100 - 020 Discrete Structures
CS 2100 - 020 Discrete Structures
- Class Number:
- Instructor: SONI, PRATIK
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Fees: $51.02
- Seats Available: 2
CS 2100 - 021 Discrete Structures
CS 2100 - 021 Discrete Structures
- Class Number: 18957
- Instructor: SONI, PRATIK
- Component: Discussion
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 1
CS 2100 - 022 Discrete Structures
CS 2100 - 022 Discrete Structures
- Class Number: 18958
- Instructor: SONI, PRATIK
- Component: Discussion
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 0
CS 2100 - 023 Discrete Structures
CS 2100 - 023 Discrete Structures
- Class Number: 18959
- Instructor: SONI, PRATIK
- Component: Discussion
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 1
This course requires registration for a lab section. Students will be automatically registered for this lecture section when registering for the pertinent lab section.
- Class Number:
- Instructor: PARKER, ERIN
- Component: Lecture
- Type: In Person
- Units: 4.0
- Requisites: Yes
- Wait List: No
- Seats Available: 19
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 - 002 Intro Alg & Data Struct
CS 2420 - 002 Intro Alg & Data Struct
- Class Number: 4808
- Instructor: PARKER, ERIN
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 8
CS 2420 - 003 Intro Alg & Data Struct
CS 2420 - 003 Intro Alg & Data Struct
- Class Number: 4809
- Instructor: PARKER, ERIN
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 1
CS 2420 - 004 Intro Alg & Data Struct
CS 2420 - 004 Intro Alg & Data Struct
- Class Number: 4810
- Instructor: PARKER, ERIN
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 1
CS 2420 - 005 Intro Alg & Data Struct
CS 2420 - 005 Intro Alg & Data Struct
- Class Number: 4811
- Instructor: PARKER, ERIN
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 1
CS 2420 - 006 Intro Alg & Data Struct
CS 2420 - 006 Intro Alg & Data Struct
- Class Number: 4812
- Instructor: PARKER, ERIN
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 0
CS 2420 - 007 Intro Alg & Data Struct
CS 2420 - 007 Intro Alg & Data Struct
- Class Number: 5751
- Instructor: PARKER, ERIN
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 3
CS 2420 - 008 Intro Alg & Data Struct
CS 2420 - 008 Intro Alg & Data Struct
- Class Number: 7179
- Instructor: PARKER, ERIN
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 5
- Class Number:
- Instructor: HEISLER, ERIC
- Component: Lecture
- Type: In Person
- Units: 4.0
- Requisites: Yes
- Wait List: No
- Seats Available: 73
CS 2420 - 021 Intro Alg & Data Struct
CS 2420 - 021 Intro Alg & Data Struct
- Class Number: 14562
- Instructor: HEISLER, ERIC
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 17
CS 2420 - 022 Intro Alg & Data Struct
CS 2420 - 022 Intro Alg & Data Struct
- Class Number: 14563
- Instructor: HEISLER, ERIC
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 5
CS 2420 - 023 Intro Alg & Data Struct
CS 2420 - 023 Intro Alg & Data Struct
- Class Number: 14564
- Instructor: HEISLER, ERIC
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 1
CS 2420 - 024 Intro Alg & Data Struct
CS 2420 - 024 Intro Alg & Data Struct
- Class Number: 14565
- Instructor: HEISLER, ERIC
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 1
CS 2420 - 025 Intro Alg & Data Struct
CS 2420 - 025 Intro Alg & Data Struct
- Class Number: 14566
- Instructor: HEISLER, ERIC
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 3
CS 2420 - 026 Intro Alg & Data Struct
CS 2420 - 026 Intro Alg & Data Struct
- Class Number: 14567
- Instructor: HEISLER, ERIC
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 16
CS 3011 - 001 Industry Forum
CS 3011 - 001 Industry Forum
- Class Number: 5306
- Instructor: CARP, SHERI L
- Instructor: Wiese, Jason
- Component: Lecture
- Type: In Person
- Units: 1.0
- Requisites: Yes
- Wait List: No
- Seats Available: 23
CS 3090 - 001 Ethics in Computing
CS 3090 - 001 Ethics in Computing
- Class Number: 12892
- Instructor: BROWN, NOELLE
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 13
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: 10307
- Instructor: WANG, HAITAO
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Fees: $45.65
- Seats Available: 1
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: 6544
- Instructor: Zhe, Shandian
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 78
CS 3200 - 001 Intro Sci Comp
CS 3200 - 001 Intro Sci Comp
- Class Number: 4813
- Instructor: BERZINS, MARTIN
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 13
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:
- Instructor: ALSALEEM, AHMAD
- Component: Lecture
- Type: In Person
- Units: 4.0
- Requisites: Yes
- Wait List: No
- Seats Available: 31
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 - 003 Software Practice
CS 3500 - 003 Software Practice
- Class Number: 7330
- Instructor: ALSALEEM, AHMAD
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: -2
CS 3500 - 004 Software Practice
CS 3500 - 004 Software Practice
- Class Number: 7331
- Instructor: ALSALEEM, AHMAD
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 0
CS 3500 - 005 Software Practice
CS 3500 - 005 Software Practice
- Class Number: 7469
- Instructor: ALSALEEM, AHMAD
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 1
CS 3500 - 006 Software Practice
CS 3500 - 006 Software Practice
- Class Number: 8739
- Instructor: ALSALEEM, AHMAD
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 2
CS 3500 - 020 Software Practice
CS 3500 - 020 Software Practice
- Class Number:
- Instructor: KOPTA, DANIEL
- Component: Lecture
- Type: In Person
- Units: 4.0
- Requisites: Yes
- Wait List: No
- Seats Available: 26
CS 3500 - 023 Software Practice
CS 3500 - 023 Software Practice
- Class Number: 18979
- Instructor: KOPTA, DANIEL
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: -3
CS 3500 - 024 Software Practice
CS 3500 - 024 Software Practice
- Class Number: 18980
- Instructor: KOPTA, DANIEL
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 0
CS 3500 - 025 Software Practice
CS 3500 - 025 Software Practice
- Class Number: 18981
- Instructor: KOPTA, DANIEL
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 0
CS 3500 - 026 Software Practice
CS 3500 - 026 Software Practice
- Class Number: 18982
- Instructor: KOPTA, DANIEL
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: -1
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: No
- Seats Available: 13
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: 4815
- Instructor: HEISLER, ERIC
- Component: Discussion
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 0
CS 3505 - 003 Software Practice II
CS 3505 - 003 Software Practice II
- Class Number: 4816
- Instructor: HEISLER, ERIC
- Component: Discussion
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 0
CS 3505 - 004 Software Practice II
CS 3505 - 004 Software Practice II
- Class Number: 4817
- Instructor: HEISLER, ERIC
- Component: Discussion
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 0
CS 3505 - 005 Software Practice II
CS 3505 - 005 Software Practice II
- Class Number: 4818
- Instructor: HEISLER, ERIC
- Component: Discussion
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 2
CS 3505 - 006 Software Practice II
CS 3505 - 006 Software Practice II
- Class Number: 5025
- Instructor: HEISLER, ERIC
- Component: Discussion
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 0
CS 3505 - 007 Software Practice II
CS 3505 - 007 Software Practice II
- Class Number: 6430
- Instructor: HEISLER, ERIC
- Component: Discussion
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 3
CS 3505 - 008 Software Practice II
CS 3505 - 008 Software Practice II
- Class Number: 13601
- Instructor: HEISLER, ERIC
- Component: Discussion
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 0
CS 3505 - 009 Software Practice II
CS 3505 - 009 Software Practice II
- Class Number: 14554
- Instructor: HEISLER, ERIC
- Component: Discussion
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 8
- Class Number: 13213
- Instructor: Wiese, Jason
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 28
CS 3550 - 001 Web Software Dev I
CS 3550 - 001 Web Software Dev I
- Class Number: 18975
- Instructor: JOHNSON, DAVID
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 6
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: No
- Fees: $105.88
- Seats Available: 7
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: 5050
- Instructor: GARCIA, LUIS
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 7
This class meets in MEB 3133.
CS 3810 - 001 Computer Organization
CS 3810 - 001 Computer Organization
- Class Number: 7333
- Instructor: BALASUBRAMONIAN, RAJEEV
- Component: Seminar
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 14
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.
- Class Number: 13039
- Instructor: FARIHA, ANNA
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 7
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.
- Class Number: 16043
- Instructor: PATWARI, NEAL
- Component: Seminar
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 14
- Class Number: 7850
- Instructor: BEAN, DAVID
- Instructor: DE ST GERMAIN, JOHN
- Instructor: WANG, FENGJIAO
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 7
CS 4150 - 001 Algorithms
CS 4150 - 001 Algorithms
- Class Number: 4847
- Instructor: MARTIN, TRAVIS B
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 10
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: REGEHR, JOHN
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Fees: $41.18
- Seats Available: 26
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 - 002 Computer Systems
CS 4400 - 002 Computer Systems
- Class Number: 8383
- Instructor: REGEHR, JOHN
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 6
CS 4400 - 003 Computer Systems
CS 4400 - 003 Computer Systems
- Class Number: 8384
- Instructor: REGEHR, JOHN
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 1
CS 4400 - 004 Computer Systems
CS 4400 - 004 Computer Systems
- Class Number: 8385
- Instructor: REGEHR, JOHN
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 0
CS 4400 - 005 Computer Systems
CS 4400 - 005 Computer Systems
- Class Number: 8386
- Instructor: REGEHR, JOHN
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 10
CS 4400 - 006 Computer Systems
CS 4400 - 006 Computer Systems
- Class Number: 12283
- Instructor: REGEHR, JOHN
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 3
CS 4400 - 007 Computer Systems
CS 4400 - 007 Computer Systems
- Class Number: 13605
- Instructor: REGEHR, JOHN
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 1
CS 4400 - 008 Computer Systems
CS 4400 - 008 Computer Systems
- Class Number: 14552
- Instructor: REGEHR, JOHN
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Seats Available: 4
CS 4440 - 001 Computer Security
CS 4440 - 001 Computer Security
- Class Number: 9207
- Instructor: XU, JUN
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 7
- Class Number: 18984
- Instructor: GREENMAN, BENJAMIN
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 3
CS 4480 - 001 Computer Networks
CS 4480 - 001 Computer Networks
- Class Number: 5640
- Instructor: Van Der Merwe, Jacobus
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Fees: $41.18
- Seats Available: 47
- Class Number: 4841
- Instructor: BEAN, DAVID
- Instructor: De St Germain, H. James 'Jim'
- Instructor: LEX, ALEXANDER
- Instructor: Stutsman, Ryan
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 12
- Class Number: 8379
- Instructor: JONES, BEN
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 102
CS 4550 - 001 Web Software Dev II
CS 4550 - 001 Web Software Dev II
- Class Number: 14558
- Instructor: WOOD, AARON
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 44
Learning algorithms are ubiquitous in our daily lives, but as it turns out, reasoning about them can be very challenging. In this course, we will study some of the fundamental notions in ML such as learnability and generalization. We will also study optimization algorithms, which are the backbone of modern ML. Finally, we will look at some modern (and not so modern) architectures used in learning and discuss how we can reason about them, their robustness, etc. A couple of notes on pre-requisites and logistics: the course will assume a background in calculus, probability, and linear algebra. Some knowledge of implementing common ML algorithms will help, though it is not required.
- Class Number: 11877
- Instructor: BHASKARA, ADITYA
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 0
Learning algorithms are ubiquitous in our daily lives, but as it turns out, reasoning about them can be very challenging. In this course, we will study some of the fundamental notions in ML such as learnability and generalization. We will also study optimization algorithms, which are the backbone of modern ML. Finally, we will look at some modern (and not so modern) architectures used in learning and discuss how we can reason about them, their robustness, etc. A couple of notes on pre-requisites and logistics: the course will assume a background in calculus, probability, and linear algebra. Some knowledge of implementing common ML algorithms will help, though it is not required.
ParFloat : Formal Reasoning and Testing Approaches Safeguarding Parallelism and Numerics Varieties in HPC and AI/ML. Prerequisites for CS 4961: CS 3100 and CS 4400, plus wanting to do cool explorations as in this book: https://smt.st/ . Today's levels of performance in high-performance computing (HPC), artificial intelligence, and machine learning (AI/ML) are being achieved through increasing usage of parallelism models (message passing, threading, tasking, etc.) and ``numerics'' (number representation schemes from hardware through libraries and applications). While performance is always the central goal in HPC and AI/ML, ignoring correctness causes significant losses of productivity: a scientist may be pulled away from doing science to debug a software issue for a month. Debugging tools – always a step behind being able to support programmer aspirations and needs – are more steps behind in HPC and AI/ML. A typical Grad or Undergrad may not have encountered these situations in core classes, and this course is designed to correct that. A recent DOE/NSF national study (https://arxiv.org/abs/2312.15640) further highlights the importance of this subject. In the first half of this course, we will discuss conceptual models such as happens-before relations (parallelism) and automatic differentiation (floating-point error). In the second half of this course, you'll be able to do a project either targeting HPC and AI/ML correctness, or use AI/ML within newer forms of correctness tools (active research area).
- Class Number: 14904
- Instructor: GOPALAKRISHNAN, GANESH
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 8
ParFloat : Formal Reasoning and Testing Approaches Safeguarding Parallelism and Numerics Varieties in HPC and AI/ML. Prerequisites for CS 4961: CS 3100 and CS 4400, plus wanting to do cool explorations as in this book: https://smt.st/ . Today's levels of performance in high-performance computing (HPC), artificial intelligence, and machine learning (AI/ML) are being achieved through increasing usage of parallelism models (message passing, threading, tasking, etc.) and ``numerics'' (number representation schemes from hardware through libraries and applications). While performance is always the central goal in HPC and AI/ML, ignoring correctness causes significant losses of productivity: a scientist may be pulled away from doing science to debug a software issue for a month. Debugging tools – always a step behind being able to support programmer aspirations and needs – are more steps behind in HPC and AI/ML. A typical Grad or Undergrad may not have encountered these situations in core classes, and this course is designed to correct that. A recent DOE/NSF national study (https://arxiv.org/abs/2312.15640) further highlights the importance of this subject. In the first half of this course, we will discuss conceptual models such as happens-before relations (parallelism) and automatic differentiation (floating-point error). In the second half of this course, you'll be able to do a project either targeting HPC and AI/ML correctness, or use AI/ML within newer forms of correctness tools (active research area).
Prerequisites: Full Major Status in Computer Science, Data Science, Software Development or Mathematics and CS 2100 or Math 2200. Introduction to graph theory. Starting from the fundamentals, this course will cover essential theorems and algorithms from across the field of graphtheory. Topics will include Connectivity, Matchings, Planar Graphs, Coloring, Directed Graphs, Extremal Problems, Ramsey Theory, Random Graphs, and (time permitting) Structural Graph Theory. Where relevant, applications and algorithmic considerations, including data structures, will be highlighted.
- Class Number: 18966
- Instructor: Sullivan, Blair
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 15
Prerequisites: Full Major Status in Computer Science, Data Science, Software Development or Mathematics and CS 2100 or Math 2200. Introduction to graph theory. Starting from the fundamentals, this course will cover essential theorems and algorithms from across the field of graphtheory. Topics will include Connectivity, Matchings, Planar Graphs, Coloring, Directed Graphs, Extremal Problems, Ramsey Theory, Random Graphs, and (time permitting) Structural Graph Theory. Where relevant, applications and algorithmic considerations, including data structures, will be highlighted.
This course is about how students learn computing, how we can design effective instruction, and how we can draw on research to help us understand both of those things. We will start with a scientific foundation of how learning happens in general, across topics. We will proceed to computing-specific instructional strategies, including for incorporating ethics, and learn a process for instructional design. The centerpiece of the course is a semester-long instructional design project on a computing topic of your choice. This course is highly interactive and collaborative: you will annotate readings with your peers, discuss ideas in class, and give each other constructive feedback on your projects. This course involves lots of writing, reading, and class participation. The 4963 and 6965 expectations will be the same except that 6965 students will be required to incorporate ethics into their instructional design projects, and will have an additional annotated bibliography assignment. Pre-requisites: CS 3540 or instructor permission and full major status in Computer Science OR Software Development
- Class Number: 18967
- Instructor: WIESE, ELIANE S
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 10
This course is about how students learn computing, how we can design effective instruction, and how we can draw on research to help us understand both of those things. We will start with a scientific foundation of how learning happens in general, across topics. We will proceed to computing-specific instructional strategies, including for incorporating ethics, and learn a process for instructional design. The centerpiece of the course is a semester-long instructional design project on a computing topic of your choice. This course is highly interactive and collaborative: you will annotate readings with your peers, discuss ideas in class, and give each other constructive feedback on your projects. This course involves lots of writing, reading, and class participation. The 4963 and 6965 expectations will be the same except that 6965 students will be required to incorporate ethics into their instructional design projects, and will have an additional annotated bibliography assignment. Pre-requisites: CS 3540 or instructor permission and full major status in Computer Science OR Software Development
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.
- Class Number: 13780
- Instructor: REZIG, EL KINDI
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 2
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: 4851
- Instructor: STEVENS, KENNETH S
- Component: Special Projects
- Type: In Person
- Units: 2.0
- Requisites: Yes
- Wait List: No
- Seats Available: 20
CS 5140 - 001 Data Mining
CS 5140 - 001 Data Mining
- Class Number: 18971
- Instructor: PHILLIPS, JEFF
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Fees: $15.00
- Seats Available: 27
CS 5460 - 001 Operating Systems
CS 5460 - 001 Operating Systems
- Class Number: 6370
- Instructor: BURTSEV, ANTON
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 28
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: 5592
- Instructor: KOPTA, DANIEL
- Component: Lecture
- Type: Online
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 8
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/
- Class Number: 7334
- Instructor: YUKSEL, CEM
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 8
- Class Number: 9201
- Instructor: JOHNSON, CHRISTOPHER
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 25
CS 5780 - 001 Embedded 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 5780 - 001 Embedded Sys Design
- Class Number:
- Instructor: GAILLARDON, PIERRE-EMMANUEL J
- Component: Lecture
- Type: In Person
- Units: 4.0
- Requisites: Yes
- Wait List: Yes
- Fees: $35.00
- Seats Available: 0
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 5780 - 002 Embedded Sys Design
CS 5780 - 002 Embedded Sys Design
- Class Number: 6605
- Instructor: GAILLARDON, PIERRE-EMMANUEL J
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 1
CS 5780 - 003 Embedded Sys Design
CS 5780 - 003 Embedded Sys Design
- Class Number: 6606
- Instructor: GAILLARDON, PIERRE-EMMANUEL J
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 0
CS 5780 - 004 Embedded Sys Design
CS 5780 - 004 Embedded Sys Design
- Class Number: 6607
- Instructor: GAILLARDON, PIERRE-EMMANUEL J
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 0
CS 5780 - 005 Embedded Sys Design
CS 5780 - 005 Embedded Sys Design
- Class Number: 7485
- Instructor: GAILLARDON, PIERRE-EMMANUEL J
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: -1
CS 5780 - 006 Embedded Sys Design
CS 5780 - 006 Embedded Sys Design
- Class Number: 9383
- Instructor: GAILLARDON, PIERRE-EMMANUEL J
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 0
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 modern deep learning-based methods. 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, partially observable Markov decision processes, reinforcement learning, imitation learning, inverse reinforcement learning, and reinforcement learning from human feedback.
- Class Number: 18968
- Instructor: BROWN, DANIEL
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 4
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 modern deep learning-based methods. 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, partially observable Markov decision processes, reinforcement learning, imitation learning, inverse reinforcement learning, and reinforcement learning from human feedback.
'C-' or better in CS 3190 Found. of Data Analysis AND CS 3500 Software Practice. Full Major status in Computer Science OR Software Development OR Data Science. This course is designed to build a groundwork for both machine learning and deep learning early on in undergraduate studies. Each lecture is grounded in practical application, using Python and machine learning libraries such as PyTorch to implement and experiment with the discussed concepts; including various training paradigms, loss functions, optimization, evaluation measurements, hyperparameter tuning, generalization, overfitting, simple neural networks, backpropagation, featurization, and more. The course will cover topics in probability and linear algebra which are fundamental to understanding machine learning basics. By the end of the course, students will be prepared to take more advanced courses to deepen their theoretical and applied knowledge of machine learning and deep learning.
- Class Number: 19439
- Instructor: TAO, GUANHONG
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 47
'C-' or better in CS 3190 Found. of Data Analysis AND CS 3500 Software Practice. Full Major status in Computer Science OR Software Development OR Data Science. This course is designed to build a groundwork for both machine learning and deep learning early on in undergraduate studies. Each lecture is grounded in practical application, using Python and machine learning libraries such as PyTorch to implement and experiment with the discussed concepts; including various training paradigms, loss functions, optimization, evaluation measurements, hyperparameter tuning, generalization, overfitting, simple neural networks, backpropagation, featurization, and more. The course will cover topics in probability and linear algebra which are fundamental to understanding machine learning basics. By the end of the course, students will be prepared to take more advanced courses to deepen their theoretical and applied knowledge of machine learning and deep learning.
This class will prepare students to become effective software testers capable of automating vulnerability discovery in today’s large and complex software systems. This course will cover the fundamental design considerations behind today’s state-of-the-art software testing tools, and equip students with the know-how to soundly evaluate their results and effectiveness. Students will team up to target a software or system of their choice, and devise their own testing strategies to find new vulnerabilities in it, analyze their severity, and report them to its developers. Prerequisites CS 3505 and CS 4400
- Class Number: 14578
- Instructor: NAGY, STEFAN
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 7
This class will prepare students to become effective software testers capable of automating vulnerability discovery in today’s large and complex software systems. This course will cover the fundamental design considerations behind today’s state-of-the-art software testing tools, and equip students with the know-how to soundly evaluate their results and effectiveness. Students will team up to target a software or system of their choice, and devise their own testing strategies to find new vulnerabilities in it, analyze their severity, and report them to its developers. Prerequisites CS 3505 and CS 4400
Pre-requisites: Full Major Status in Computer Science OR Data Science. This special topics class in Human-centered Computing (HCC) will provide PhD, MS, and BS students (in Computing and other fields) with the concepts and skills to answer the question "How might digital tools augment existing healthcare processes?" Our goals in this class are threefold: 1) Understand how healthcare processes work; 2) Identify possibilities for digital tools; 3) Imagine new designs and create prototypes. Programming skills are useful but not required. We will critically evaluate research literature and build background knowledge in fields including human-computer interaction, neurology, microbiome, public health, occupational health, and medical sociology. We will work on concrete problems for health disorders like Parkinsonism, ALS, cognitive disorders, gastrointestinal disorders, chronic pain, and sleep issues. We will understand processes including clinical examination, diagnosis, treatment, self-experimentation, and clinical research. After taking this course, students will be able to develop digital tools that intervene at an appropriate point in the healthcare process in ways that benefit all stakeholders. For topics, class structure, and methods, see https://vineetp13.github.io/DesigningHealth.html
- Class Number: 13487
- Instructor: PANDEY, VINEET
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Wait List: No
- Seats Available: 15
Pre-requisites: Full Major Status in Computer Science OR Data Science. This special topics class in Human-centered Computing (HCC) will provide PhD, MS, and BS students (in Computing and other fields) with the concepts and skills to answer the question "How might digital tools augment existing healthcare processes?" Our goals in this class are threefold: 1) Understand how healthcare processes work; 2) Identify possibilities for digital tools; 3) Imagine new designs and create prototypes. Programming skills are useful but not required. We will critically evaluate research literature and build background knowledge in fields including human-computer interaction, neurology, microbiome, public health, occupational health, and medical sociology. We will work on concrete problems for health disorders like Parkinsonism, ALS, cognitive disorders, gastrointestinal disorders, chronic pain, and sleep issues. We will understand processes including clinical examination, diagnosis, treatment, self-experimentation, and clinical research. After taking this course, students will be able to develop digital tools that intervene at an appropriate point in the healthcare process in ways that benefit all stakeholders. For topics, class structure, and methods, see https://vineetp13.github.io/DesigningHealth.html
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: -1
CS 6013 - 002 MSD: Computer Systems
CS 6013 - 002 MSD: Computer Systems
- Class Number: 9203
- Instructor: DE ST GERMAIN, JOHN
- Component: Laboratory
- Type: In Person
- Units: --
- Wait List: No
- Seats Available: -1
- Class Number:
- Instructor: Flatt, Matthew
- Component: Lecture
- Type: In Person
- Units: 4.0
- Wait List: No
- Seats Available: -3
CS 6014 - 002 MSD: Netwrks & Security
CS 6014 - 002 MSD: Netwrks & Security
- Class Number: 9205
- Instructor: Flatt, Matthew
- Component: Laboratory
- Type: In Person
- Units: --
- Wait List: No
- Seats Available: -3
- Class Number:
- Instructor: MAKAREM, NABIL
- Component: Lecture
- Type: In Person
- Units: 4.0
- Wait List: No
- Seats Available: 0
CS 6015 - 002 MSD: Software Engineer
CS 6015 - 002 MSD: Software Engineer
- Class Number: 9200
- Instructor: MAKAREM, NABIL
- Component: Laboratory
- Type: In Person
- Units: --
- Wait List: No
- Seats Available: 0
CS 6019 - 001 MSD Project
CS 6019 - 001 MSD Project
- Class Number: 13628
- 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: 46
CS 6020 - 001 Early-Career Research
CS 6020 - 001 Early-Career Research
- Class Number: 5741
- Instructor: LEX, ALEXANDER
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 8
CS 6140 - 001 Data Mining
CS 6140 - 001 Data Mining
- Class Number: 18972
- Instructor: PHILLIPS, JEFF
- Component: Lecture
- Type: In Person
- Units: 3.0
- Wait List: No
- Fees: $15.00
- Seats Available: 27
- Class Number: 20707
- Instructor: HALL, MARY W
- Instructor: SADAYAPPAN, SADAY
- Component: Lecture
- Type: In Person
- Units: 3.0
- Wait List: No
- Seats Available: 39
CS 6330 - 001 Robotics II: Control
CS 6330 - 001 Robotics II: Control
- Class Number: 6611
- Instructor: MASCARO, STEPHEN A
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Fees: $40.00
- Seats Available: 9
CS 6350 - 001 Machine Learning
CS 6350 - 001 Machine Learning
- Class Number: 12894
- Instructor: Srikumar, Vivek
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 27
CS 6370 - 001 Motion Planning
CS 6370 - 001 Motion Planning
- Class Number: 18990
- Instructor: KUNTZ, ALAN
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 4
CS 6460 - 001 Operating Systems
CS 6460 - 001 Operating Systems
- Class Number: 6435
- Instructor: BURTSEV, ANTON
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 29
CS 6490 - 090 Network Security
CS 6490 - 090 Network Security
- Class Number: 10817
- Instructor: KASERA, SNEHA K
- Component: Lecture
- Type: Online
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Fees: $41.18
- Seats Available: 20
- Class Number: 14903
- Instructor: ZHANG, MU
- Component: Lecture
- Type: In Person
- Units: 3.0
- Wait List: No
- Seats Available: 14
- Class Number: 7335
- Instructor: YUKSEL, CEM
- Component: Lecture
- Type: In Person
- Units: 3.0
- Wait List: No
- Seats Available: 13
- Class Number: 9206
- Instructor: JOHNSON, CHRISTOPHER
- Component: Lecture
- Type: In Person
- Units: 3.0
- Wait List: No
- Seats Available: 15
CS 6660 - 001 Physics-based Animation
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 J
- Component: Lecture
- Type: In Person
- Units: 4.0
- Requisites: Yes
- Wait List: No
- Fees: $35.00
- Seats Available: 0
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: 6608
- Instructor: GAILLARDON, PIERRE-EMMANUEL J
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Fees: $35.00
- Seats Available: 0
CS 6780 - 004 Embed Sys Design
CS 6780 - 004 Embed Sys Design
- Class Number: 6610
- Instructor: GAILLARDON, PIERRE-EMMANUEL J
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Fees: $35.00
- Seats Available: 0
CS 6780 - 005 Embed Sys Design
CS 6780 - 005 Embed Sys Design
- Class Number: 7486
- Instructor: GAILLARDON, PIERRE-EMMANUEL J
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: No
- Fees: $35.00
- Seats Available: 0
- Class Number: 13051
- Instructor: AL HALAH, ZIAD
- Instructor: HENDERSON, THOMAS
- Component: Practicum
- Type: In Person
- Units: 3.0
- Wait List: No
- Seats Available: 12
This course focuses on advanced algorithms for intelligent sequential decision making with a focus on modern deep learning-based methods. 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, partially observable Markov decision processes, reinforcement learning, imitation learning, inverse reinforcement learning, and reinforcement learning from human feedback.
- Class Number: 18969
- Instructor: BROWN, DANIEL
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Wait List: No
- Seats Available: 3
This course focuses on advanced algorithms for intelligent sequential decision making with a focus on modern deep learning-based methods. 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, partially observable Markov decision processes, reinforcement learning, imitation learning, inverse reinforcement learning, and reinforcement learning from human feedback.
This course will cover both theoretical and practical aspects of probabilistic approaches to machine learning with contemporary neutral network architectures. Example topics that may be covered include ensembles, Bayesian neural networks, variational autoencoders, normalizing flows, active learning, and diffusion networks among others.
- Class Number: 11404
- Instructor: Hermans, Tucker
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Wait List: No
- Seats Available: 5
This course will cover both theoretical and practical aspects of probabilistic approaches to machine learning with contemporary neutral network architectures. Example topics that may be covered include ensembles, Bayesian neural networks, variational autoencoders, normalizing flows, active learning, and diffusion networks among others.
CS 6957 - 001 Secure Computing Projects
In this class, students will work in small teams on capstone-style projects in secure computing proposed by industry/federal partners. Each team will develop solutions to a secure computing problem under the supervision of a Kahlert School of Computing faculty member. The grade in the course will be decided based on the quality of design, implementation, and evaluation of the solution. This course may be used to replace one of the five required courses or may be counted towards the elective requirements of MS/PhD in Computing in the Secure Computing track. The current list of projects is as follows: (i) Defense Against AI Vulnerabilities – discover new vulnerabilities in virtual assistants, exploit them and determine how they can be prevented. [proposed by National Security Agency] (ii) Detecting Living of the Land Activity (LOTL) - a fileless malware cyberattack technique that uses native, legitimate tools within the victim’s system to sustain and advance an attack. [proposed by National Security Agency] (iii) Breaking ciphered language - develop (or build upon) an LLM that can detect when ciphered language is being used and provide possible translations. [proposed by National Security Agency] (iv) Applied Data Security – allowing data-driven innovation while protecting against data breaches considering policy, location, data sensitivity, and data instances. [proposed by i4 Ops] Pre-requisites: (i) At least one graduate level security course at the University of Utah from the following list: Software and System Security, Network Security, Security Operations, Applied Software Security Testing, Modern Cryptography and Its Applications, Cyber-physical Systems, and IoT Security, and (ii) a basic understanding of machine learning concepts is expected for some projects that use machine learning.
CS 6957 - 001 Secure Computing Projects
- Class Number: 20807
- Instructor: KASERA, SNEHA K
- Instructor: SONI, PRATIK
- Instructor: Stutsman, Ryan
- Instructor: XU, JUN
- Instructor: ZHANG, MU
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Wait List: No
- Seats Available: 14
In this class, students will work in small teams on capstone-style projects in secure computing proposed by industry/federal partners. Each team will develop solutions to a secure computing problem under the supervision of a Kahlert School of Computing faculty member. The grade in the course will be decided based on the quality of design, implementation, and evaluation of the solution. This course may be used to replace one of the five required courses or may be counted towards the elective requirements of MS/PhD in Computing in the Secure Computing track. The current list of projects is as follows: (i) Defense Against AI Vulnerabilities – discover new vulnerabilities in virtual assistants, exploit them and determine how they can be prevented. [proposed by National Security Agency] (ii) Detecting Living of the Land Activity (LOTL) - a fileless malware cyberattack technique that uses native, legitimate tools within the victim’s system to sustain and advance an attack. [proposed by National Security Agency] (iii) Breaking ciphered language - develop (or build upon) an LLM that can detect when ciphered language is being used and provide possible translations. [proposed by National Security Agency] (iv) Applied Data Security – allowing data-driven innovation while protecting against data breaches considering policy, location, data sensitivity, and data instances. [proposed by i4 Ops] Pre-requisites: (i) At least one graduate level security course at the University of Utah from the following list: Software and System Security, Network Security, Security Operations, Applied Software Security Testing, Modern Cryptography and Its Applications, Cyber-physical Systems, and IoT Security, and (ii) a basic understanding of machine learning concepts is expected for some projects that use machine learning.
- Class Number: 16108
- Instructor: FARIHA, ANNA
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Wait List: No
- Seats Available: 19
Learning algorithms are ubiquitous in our daily lives, but as it turns out, reasoning about them can be very challenging. In this course, we will study some of the fundamental notions in ML such as learnability and generalization. We will also study optimization algorithms, which are the backbone of modern ML. Finally, we will look at some modern (and not so modern) architectures used in learning and discuss how we can reason about them, their robustness, etc. A couple of notes on pre-requisites and logistics: the course will assume a background in calculus, probability, and linear algebra. Some knowledge of implementing common ML algorithms will help, though it is not required.
- Class Number: 11910
- Instructor: BHASKARA, ADITYA
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Wait List: No
- Seats Available: 16
Learning algorithms are ubiquitous in our daily lives, but as it turns out, reasoning about them can be very challenging. In this course, we will study some of the fundamental notions in ML such as learnability and generalization. We will also study optimization algorithms, which are the backbone of modern ML. Finally, we will look at some modern (and not so modern) architectures used in learning and discuss how we can reason about them, their robustness, etc. A couple of notes on pre-requisites and logistics: the course will assume a background in calculus, probability, and linear algebra. Some knowledge of implementing common ML algorithms will help, though it is not required.
ParFloat : Formal Reasoning and Testing Approaches Safeguarding Parallelism and Numerics Varieties in HPC and AI/ML. Today's levels of performance in high-performance computing (HPC), artificial intelligence, and machine learning (AI/ML) are being achieved through increasing usage of parallelism models (message passing, threading, tasking, etc.) and ``numerics'' (number representation schemes from hardware through libraries and applications). While performance is always the central goal in HPC and AI/ML, ignoring correctness causes significant losses of productivity: a scientist may be pulled away from doing science to debug a software issue for a month. Debugging tools – always a step behind being able to support programmer aspirations and needs – are more steps behind in HPC and AI/ML. A typical Grad or Undergrad may not have encountered these situations in core classes, and this course is designed to correct that. A recent DOE/NSF national study (https://arxiv.org/abs/2312.15640) further highlights the importance of this subject. In the first half of this course, we will discuss conceptual models such as happens-before relations (parallelism) and automatic differentiation (floating-point error). In the second half of this course, you'll be able to do a project either targeting HPC and AI/ML correctness, or use AI/ML within newer forms of correctness tools (active research area).
- Class Number: 14913
- Instructor: GOPALAKRISHNAN, GANESH
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 6
ParFloat : Formal Reasoning and Testing Approaches Safeguarding Parallelism and Numerics Varieties in HPC and AI/ML. Today's levels of performance in high-performance computing (HPC), artificial intelligence, and machine learning (AI/ML) are being achieved through increasing usage of parallelism models (message passing, threading, tasking, etc.) and ``numerics'' (number representation schemes from hardware through libraries and applications). While performance is always the central goal in HPC and AI/ML, ignoring correctness causes significant losses of productivity: a scientist may be pulled away from doing science to debug a software issue for a month. Debugging tools – always a step behind being able to support programmer aspirations and needs – are more steps behind in HPC and AI/ML. A typical Grad or Undergrad may not have encountered these situations in core classes, and this course is designed to correct that. A recent DOE/NSF national study (https://arxiv.org/abs/2312.15640) further highlights the importance of this subject. In the first half of this course, we will discuss conceptual models such as happens-before relations (parallelism) and automatic differentiation (floating-point error). In the second half of this course, you'll be able to do a project either targeting HPC and AI/ML correctness, or use AI/ML within newer forms of correctness tools (active research area).
Introduction to graph theory. Starting from the fundamentals, this course will cover essential theorems and algorithms from across the field of graphtheory. Topics will include Connectivity, Matchings, Planar Graphs, Coloring, Directed Graphs, Extremal Problems, Ramsey Theory, Random Graphs, and (time permitting) Structural Graph Theory. Where relevant, applications and algorithmic considerations, including data structures, will be highlighted.
- Class Number: 18985
- Instructor: Sullivan, Blair
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 9
Introduction to graph theory. Starting from the fundamentals, this course will cover essential theorems and algorithms from across the field of graphtheory. Topics will include Connectivity, Matchings, Planar Graphs, Coloring, Directed Graphs, Extremal Problems, Ramsey Theory, Random Graphs, and (time permitting) Structural Graph Theory. Where relevant, applications and algorithmic considerations, including data structures, will be highlighted.
This class will prepare students to become effective software testers capable of automating vulnerability discovery in today’s large and complex software systems. This course will cover the fundamental design considerations behind today’s state-of-the-art software testing tools, and equip students with the know-how to soundly evaluate their results and effectiveness. Students will team up to target a software or system of their choice, and devise their own testing strategies to find new vulnerabilities in it, analyze their severity, and report them to its developers.
- Class Number: 14579
- Instructor: NAGY, STEFAN
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 4
This class will prepare students to become effective software testers capable of automating vulnerability discovery in today’s large and complex software systems. This course will cover the fundamental design considerations behind today’s state-of-the-art software testing tools, and equip students with the know-how to soundly evaluate their results and effectiveness. Students will team up to target a software or system of their choice, and devise their own testing strategies to find new vulnerabilities in it, analyze their severity, and report them to its developers.
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.
- Class Number: 13779
- Instructor: REZIG, EL KINDI
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 2
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.
This course is about how students learn computing, how we can design effective instruction, and how we can draw on research to help us understand both of those things. We will start with a scientific foundation of how learning happens in general, across topics. We will proceed to computing-specific instructional strategies, including for incorporating ethics, and learn a process for instructional design. The centerpiece of the course is a semester-long instructional design project on a computing topic of your choice. This course is highly interactive and collaborative: you will annotate readings with your peers, discuss ideas in class, and give each other constructive feedback on your projects. This course involves lots of writing, reading, and class participation. The 4963 and 6965 expectations will be the same except that 6965 students will be required to incorporate ethics into their instructional design projects, and will have an additional annotated bibliography assignment.
- Class Number: 18962
- Instructor: WIESE, ELIANE S
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 14
This course is about how students learn computing, how we can design effective instruction, and how we can draw on research to help us understand both of those things. We will start with a scientific foundation of how learning happens in general, across topics. We will proceed to computing-specific instructional strategies, including for incorporating ethics, and learn a process for instructional design. The centerpiece of the course is a semester-long instructional design project on a computing topic of your choice. This course is highly interactive and collaborative: you will annotate readings with your peers, discuss ideas in class, and give each other constructive feedback on your projects. This course involves lots of writing, reading, and class participation. The 4963 and 6965 expectations will be the same except that 6965 students will be required to incorporate ethics into their instructional design projects, and will have an additional annotated bibliography assignment.
- Class Number: 18963
- Instructor: PHILLIPS, BEI WANG
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 31
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.
- Class Number: 18964
- Instructor: MCNUTT, ANDREW
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Wait List: No
- Seats Available: 13
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.
This special topics class in Human-centered Computing (HCC) will provide PhD, MS, and BS students (in Computing and other fields) with the concepts and skills to answer the question "How might digital tools augment existing healthcare processes?" Our goals in this class are threefold: 1) Understand how healthcare processes work; 2) Identify possibilities for digital tools; 3) Imagine new designs and create prototypes. Programming skills are useful but not required. We will critically evaluate research literature and build background knowledge in fields including human-computer interaction, neurology, microbiome, public health, occupational health, and medical sociology. We will work on concrete problems for health disorders like Parkinsonism, ALS, cognitive disorders, gastrointestinal disorders, chronic pain, and sleep issues. We will understand processes including clinical examination, diagnosis, treatment, self-experimentation, and clinical research. After taking this course, students will be able to develop digital tools that intervene at an appropriate point in the healthcare process in ways that benefit all stakeholders. For topics, class structure, and methods, see https://vineetp13.github.io/DesigningHealth.html
- Class Number: 13490
- Instructor: PANDEY, VINEET
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 11
This special topics class in Human-centered Computing (HCC) will provide PhD, MS, and BS students (in Computing and other fields) with the concepts and skills to answer the question "How might digital tools augment existing healthcare processes?" Our goals in this class are threefold: 1) Understand how healthcare processes work; 2) Identify possibilities for digital tools; 3) Imagine new designs and create prototypes. Programming skills are useful but not required. We will critically evaluate research literature and build background knowledge in fields including human-computer interaction, neurology, microbiome, public health, occupational health, and medical sociology. We will work on concrete problems for health disorders like Parkinsonism, ALS, cognitive disorders, gastrointestinal disorders, chronic pain, and sleep issues. We will understand processes including clinical examination, diagnosis, treatment, self-experimentation, and clinical research. After taking this course, students will be able to develop digital tools that intervene at an appropriate point in the healthcare process in ways that benefit all stakeholders. For topics, class structure, and methods, see https://vineetp13.github.io/DesigningHealth.html
CS 6969 - 001 HCC Research Methods
This course will focus on common quantitative research methods for human-centered computing, including statistics and study design, and the role of quantitative methods in mixed-methods approaches. This course complements 6540 and 6545, which focus on qualitative methods.
CS 6969 - 001 HCC Research Methods
- Class Number: 18965
- Instructor: KOGAN, MARINA
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 13
This course will focus on common quantitative research methods for human-centered computing, including statistics and study design, and the role of quantitative methods in mixed-methods approaches. This course complements 6540 and 6545, which focus on qualitative methods.
Frontier AI models, such as large language models (LLMs), function as black boxes: their solutions are hidden in internal parameters rather than explicitly specified, preventing us from testing them like conventional code and from applying established safety engineering. Mechanistic interpretability aims to reverse-engineer frontier AI models by breaking their functionality into basic components—effectively writing the code for their solutions. This seminar is for anyone eager to learn mechanistic interpretability, collaboratively with others. Topics will include transformer circuits, superposition, monosemanticity, sparse autoencoders, distributed alignment search, activation patching, and narrow circuits. Each topic is explored over two weeks: the first features a detailed presentation on the core technical aspects, and the second-week shifts to a more interactive approach with a paper discussion. Expected background: A strong understanding of the transformer architecture and training stages of large language models (pretraining, instruction finetuning, alignment, finetuning).
- Class Number: 19846
- Instructor: MARASOVIC, ANA
- Component: Seminar
- Type: In Person
- Units: 1.0
- Requisites: Yes
- Wait List: No
- Seats Available: 15
Frontier AI models, such as large language models (LLMs), function as black boxes: their solutions are hidden in internal parameters rather than explicitly specified, preventing us from testing them like conventional code and from applying established safety engineering. Mechanistic interpretability aims to reverse-engineer frontier AI models by breaking their functionality into basic components—effectively writing the code for their solutions. This seminar is for anyone eager to learn mechanistic interpretability, collaboratively with others. Topics will include transformer circuits, superposition, monosemanticity, sparse autoencoders, distributed alignment search, activation patching, and narrow circuits. Each topic is explored over two weeks: the first features a detailed presentation on the core technical aspects, and the second-week shifts to a more interactive approach with a paper discussion. Expected background: A strong understanding of the transformer architecture and training stages of large language models (pretraining, instruction finetuning, alignment, finetuning).
- Class Number: 11175
- Instructor: IMEL, ZAC
- Instructor: Srikumar, Vivek
- Component: Seminar
- Type: Remote Real-Time
- Units: 1.0
- Requisites: Yes
- Wait List: No
- Seats Available: 6
CS 7932 - 001 Human Centered Comp Seminar
CS 7932 - 001 Human Centered Comp Seminar
- Class Number: 10811
- Instructor: KOGAN, MARINA
- Component: Seminar
- Type: Remote Real-Time
- Units: 1.0
- Requisites: Yes
- Wait List: No
- Seats Available: 8
CS 7933 - 001 Graphics Seminar
- Class Number: 5347
- Instructor: EIDE, ERIC N
- Component: Seminar
- Type: In Person
- Units: 1.0
- Requisites: Yes
- Wait List: No
- Seats Available: 10
- Class Number: 20062
- Instructor: GREENMAN, BENJAMIN
- Component: Seminar
- Type: In Person
- Units: 1.0
- Requisites: Yes
- Wait List: No
- Seats Available: 9
CS 7937 - 001 Arch/VLSI
Meets in MEB 2170
CS 7937 - 001 Arch/VLSI
- Class Number: 6275
- Instructor: NAGARAJAN, VIJAYANAND
- Component: Seminar
- Type: In Person
- Units: 1.0
- Requisites: Yes
- Wait List: No
- Seats Available: 6
Meets in MEB 2170
CS 7938 - 001 Image Analysis Seminar
CS 7938 - 001 Image Analysis Seminar
- Class Number: 5527
- Instructor: JOSHI, SARANG
- Component: Seminar
- Type: In Person
- Units: 1.0
- Requisites: Yes
- Wait List: No
- Seats Available: 20
CS 7939 - 001 Robotics Seminar
CS 7939 - 001 Robotics Seminar
- Class Number: 5028
- Instructor: ZHANG, HAOHAN
- Component: Seminar
- Type: In Person
- Units: 1.0
- Requisites: Yes
- Wait List: No
- Seats Available: 7
CS 7941 - 001 Data Science Seminar
CS 7941 - 001 Data Science Seminar
- Class Number: 6441
- Instructor: BHASKARA, ADITYA
- Component: Seminar
- Type: In Person
- Units: 1.0
- Requisites: Yes
- Wait List: No
- Seats Available: 35
CS 7942 - 001 Visualization Seminar
CS 7942 - 001 Visualization Seminar
- Class Number: 6476
- Instructor: PHILLIPS, BEI WANG
- Component: Seminar
- Type: In Person
- Units: 1.0
- Requisites: Yes
- Wait List: No
- Seats Available: 13