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.

CS 140 - 022 Intro Comp Programming

CS 140 - 022 Intro Comp Programming

  • Class Number:
  • Instructor: JOHNSON, DAVID
  • Component: Lecture
  • Type: Interactive Video Conferencing
  • Units: 0.0
  • Wait List: No
  • Seats Available: 0

CS 140 - 023 Intro Comp Programming

CS 140 - 023 Intro Comp Programming

  • Class Number: 20243
  • Instructor: JOHNSON, DAVID
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Wait List: No
  • Fees: $545.00
  • Seats Available: 0

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.
  • Class Number:
  • Instructor: JOHNSON, DAVID
  • Component: Lecture
  • Type: In Person
  • Units: 4.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 8

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 - 002 Intro Comp Programming

CS 1400 - 002 Intro Comp Programming

  • Class Number: 15714
  • Instructor: JOHNSON, DAVID
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 2

CS 1400 - 003 Intro Comp Programming

CS 1400 - 003 Intro Comp Programming

  • Class Number: 14860
  • Instructor: JOHNSON, DAVID
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 3

CS 1400 - 004 Intro Comp Programming

CS 1400 - 004 Intro Comp Programming

  • Class Number: 14861
  • Instructor: JOHNSON, DAVID
  • 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: 14862
  • Instructor: JOHNSON, DAVID
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 0

CS 1400 - 006 Intro Comp Programming

CS 1400 - 006 Intro Comp Programming

  • Class Number: 15665
  • Instructor: JOHNSON, DAVID
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 2

CS 1400 - 007 Intro Comp Programming

CS 1400 - 007 Intro Comp Programming

  • Class Number: 15666
  • Instructor: JOHNSON, DAVID
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 0

CS 1400 - 008 Intro Comp Programming

CS 1400 - 008 Intro Comp Programming

  • Class Number: 15715
  • Instructor: JOHNSON, DAVID
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: -1

CS 1400 - 009 Intro Comp Programming

CS 1400 - 009 Intro Comp Programming

  • Class Number: 16671
  • Instructor: JOHNSON, DAVID
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 1

CS 1400 - 010 Intro Comp Programming

CS 1400 - 010 Intro Comp Programming

  • Class Number: 16891
  • Instructor: JOHNSON, DAVID
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 0

This lecture is an IVC lecture section held at the same time as the CS 1400-001 in-person lecture. This lecture section will have in-person testing on campus with dates published in the syllabus at the start of the semester. The labs for this lecture are in-person on campus as specified in the schedule.
  • Class Number:
  • Instructor: JOHNSON, DAVID
  • Component: Lecture
  • Type: Interactive Video Conferencing
  • Units: 4.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 10

This lecture is an IVC lecture section held at the same time as the CS 1400-001 in-person lecture. This lecture section will have in-person testing on campus with dates published in the syllabus at the start of the semester. The labs for this lecture are in-person on campus as specified in the schedule.

CS 1400 - 021 Intro Comp Programming

CS 1400 - 021 Intro Comp Programming

  • Class Number: 18530
  • Instructor: JOHNSON, DAVID
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 4

CS 1400 - 022 Intro Comp Programming

CS 1400 - 022 Intro Comp Programming

  • Class Number: 18531
  • Instructor: JOHNSON, DAVID
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 4

CS 1400 - 023 Intro Comp Programming

CS 1400 - 023 Intro Comp Programming

  • Class Number: 19838
  • Instructor: JOHNSON, DAVID
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 2

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.
  • Class Number:
  • Instructor: PARKER, ERIN
  • Component: Lecture
  • Type: In Person
  • Units: 4.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 109

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: 18086
  • Instructor: PARKER, ERIN
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 14

CS 1410 - 003 Object-Oriented Prog

CS 1410 - 003 Object-Oriented Prog

  • Class Number: 18087
  • Instructor: PARKER, ERIN
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 1

CS 1410 - 004 Object-Oriented Prog

CS 1410 - 004 Object-Oriented Prog

  • Class Number: 18088
  • Instructor: PARKER, ERIN
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 3

CS 1410 - 005 Object-Oriented Prog

CS 1410 - 005 Object-Oriented Prog

  • Class Number: 18089
  • Instructor: PARKER, ERIN
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 9

CS 1410 - 006 Object-Oriented Prog

CS 1410 - 006 Object-Oriented Prog

  • Class Number: 18090
  • Instructor: PARKER, ERIN
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 0

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.
  • Class Number:
  • Instructor: JENSEN, PETER
  • Component: Lecture
  • Type: In Person
  • Units: 4.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: -1

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 1420 - 002 Accel Obj-Orient Prog

CS 1420 - 002 Accel Obj-Orient Prog

  • Class Number: 16994
  • Instructor: JENSEN, PETER
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 0

CS 1420 - 003 Accel Obj-Orient Prog

CS 1420 - 003 Accel Obj-Orient Prog

  • Class Number: 16995
  • Instructor: JENSEN, PETER
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 0

CS 1420 - 004 Accel Obj-Orient Prog

CS 1420 - 004 Accel Obj-Orient Prog

  • Class Number: 16996
  • Instructor: JENSEN, PETER
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 0

CS 1420 - 005 Accel Obj-Orient Prog

CS 1420 - 005 Accel Obj-Orient Prog

  • Class Number: 16997
  • Instructor: JENSEN, PETER
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 0

CS 1420 - 006 Accel Obj-Orient Prog

CS 1420 - 006 Accel Obj-Orient Prog

  • Class Number: 16998
  • Instructor: JENSEN, PETER
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 3

CS 1420 - 007 Accel Obj-Orient Prog

CS 1420 - 007 Accel Obj-Orient Prog

  • Class Number: 16999
  • Instructor: JENSEN, PETER
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: -1

CS 1420 - 008 Accel Obj-Orient Prog

CS 1420 - 008 Accel Obj-Orient Prog

  • Class Number: 17000
  • Instructor: JENSEN, PETER
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: -3

CS 1420 - 009 Accel Obj-Orient Prog

CS 1420 - 009 Accel Obj-Orient Prog

  • Class Number: 17001
  • Instructor: JENSEN, PETER
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 2

CS 1420 - 010 Accel Obj-Orient Prog

CS 1420 - 010 Accel Obj-Orient Prog

  • Class Number: 17002
  • Instructor: JENSEN, PETER
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: -1

CS 1420 - 011 Accel Obj-Orient Prog

CS 1420 - 011 Accel Obj-Orient Prog

  • Class Number: 17003
  • Instructor: JENSEN, PETER
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: -1

CS 1420 - 012 Accel Obj-Orient Prog

CS 1420 - 012 Accel Obj-Orient Prog

  • Class Number: 19932
  • Instructor: JENSEN, PETER
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: -1

CS 1420 - 013 Accel Obj-Orient Prog

CS 1420 - 013 Accel Obj-Orient Prog

  • Class Number: 20114
  • Instructor: JENSEN, PETER
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 1

CS 1960 - 002 Strategies for Computer Scienc

CS 1960 - 002 Strategies for Computer Scienc

  • Class Number: 20102
  • Instructor: JOHNSON, DAVID
  • Component: Lecture
  • Type: In Person
  • Units: 1.0
  • Wait List: No
  • Seats Available: 6

Sections 002-005 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.
  • Class Number:
  • Instructor: PHILLIPS, BEI WANG
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: Yes
  • Seats Available: 37

Sections 002-005 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 2100 - 002 Discrete Structures

CS 2100 - 002 Discrete Structures

  • Class Number: 14863
  • Instructor: PHILLIPS, BEI WANG
  • Component: Discussion
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: Yes
  • Seats Available: 10

CS 2100 - 003 Discrete Structures

CS 2100 - 003 Discrete Structures

  • Class Number: 14326
  • Instructor: PHILLIPS, BEI WANG
  • Component: Discussion
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: Yes
  • Seats Available: 6

CS 2100 - 004 Discrete Structures

CS 2100 - 004 Discrete Structures

  • Class Number: 14325
  • Instructor: PHILLIPS, BEI WANG
  • Component: Discussion
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: Yes
  • Seats Available: 3

CS 2100 - 005 Discrete Structures

CS 2100 - 005 Discrete Structures

  • Class Number: 14864
  • Instructor: PHILLIPS, BEI WANG
  • Component: Discussion
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: Yes
  • Seats Available: 3

Sections 002-011 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.
  • Class Number:
  • Instructor: KOPTA, DANIEL
  • Component: Lecture
  • Type: In Person
  • Units: 4.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 25

Sections 002-011 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 2420 - 002 Intro Alg & Data Struct

CS 2420 - 002 Intro Alg & Data Struct

  • Class Number: 14328
  • Instructor: KOPTA, DANIEL
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 3

CS 2420 - 003 Intro Alg & Data Struct

CS 2420 - 003 Intro Alg & Data Struct

  • Class Number: 14329
  • Instructor: KOPTA, DANIEL
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 3

CS 2420 - 004 Intro Alg & Data Struct

CS 2420 - 004 Intro Alg & Data Struct

  • Class Number: 14330
  • Instructor: KOPTA, DANIEL
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 3

CS 2420 - 005 Intro Alg & Data Struct

CS 2420 - 005 Intro Alg & Data Struct

  • Class Number: 14331
  • Instructor: KOPTA, DANIEL
  • 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: 15667
  • Instructor: KOPTA, DANIEL
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 7

CS 2420 - 007 Intro Alg & Data Struct

CS 2420 - 007 Intro Alg & Data Struct

  • Class Number: 15668
  • Instructor: KOPTA, DANIEL
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 2

CS 2420 - 008 Intro Alg & Data Struct

CS 2420 - 008 Intro Alg & Data Struct

  • Class Number: 15669
  • Instructor: KOPTA, DANIEL
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 0

CS 2420 - 009 Intro Alg & Data Struct

CS 2420 - 009 Intro Alg & Data Struct

  • Class Number: 16231
  • Instructor: KOPTA, DANIEL
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 1

CS 2420 - 010 Intro Alg & Data Struct

CS 2420 - 010 Intro Alg & Data Struct

  • Class Number: 15671
  • Instructor: KOPTA, DANIEL
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 1

CS 2420 - 011 Intro Alg & Data Struct

CS 2420 - 011 Intro Alg & Data Struct

  • Class Number: 16259
  • Instructor: KOPTA, DANIEL
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 4
  • Class Number: 7497
  • Instructor: VAN DER MERWE, JACOBUS
  • Component: Seminar
  • Type: In Person
  • Units: 1.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 8

CS 3100 - 001 Models Of Computation

CS 3100 - 001 Models Of Computation

  • Class Number: 4546
  • Instructor: GOPALAKRISHNAN, GANESH
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 39

CS 3130 - 002 Eng Prob Stats


The course fee covers digital course materials through the Inclusive Access program. Students may request to opt out here: https://portal.verba.io/utah/login

CS 3130 - 002 Eng Prob Stats

  • Class Number: 13026
  • Instructor: XIANG, YU
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: Yes
  • Fees: $32.94
  • Seats Available: 2

The course fee covers digital course materials through the Inclusive Access program. Students may request to opt out here: https://portal.verba.io/utah/login

CS 3130 - 003 Eng Prob Stats

CS 3130 - 003 Eng Prob Stats

  • Class Number: 16017
  • Instructor: CHEN, RONG-RONG
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 23
  • Class Number: 11612
  • Instructor: PHILLIPS, JEFF
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 26
  • Class Number: 18870
  • Instructor: JOHNSON, CHRISTOPHER
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: -2
  • Class Number: 14865
  • Instructor: PATIL, SAMEER
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 14

Sections 002-011 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.
  • Class Number:
  • Instructor: KOPTA, DANIEL
  • Instructor: MARTIN, TRAVIS B
  • Component: Lecture
  • Type: In Person
  • Units: 4.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 26

Sections 002-011 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 3500 - 002 Software Practice

CS 3500 - 002 Software Practice

  • Class Number: 14333
  • Instructor: KOPTA, DANIEL
  • Instructor: MARTIN, TRAVIS B
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 5

CS 3500 - 003 Software Practice

CS 3500 - 003 Software Practice

  • Class Number: 14334
  • Instructor: KOPTA, DANIEL
  • Instructor: MARTIN, TRAVIS B
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 0

CS 3500 - 004 Software Practice

CS 3500 - 004 Software Practice

  • Class Number: 14335
  • Instructor: KOPTA, DANIEL
  • Instructor: MARTIN, TRAVIS B
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: -1

CS 3500 - 005 Software Practice

CS 3500 - 005 Software Practice

  • Class Number: 15672
  • Instructor: KOPTA, DANIEL
  • Instructor: MARTIN, TRAVIS B
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 2

CS 3500 - 006 Software Practice

CS 3500 - 006 Software Practice

  • Class Number: 15673
  • Instructor: KOPTA, DANIEL
  • Instructor: MARTIN, TRAVIS B
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 20

CS 3500 - 007 Software Practice

CS 3500 - 007 Software Practice

  • Class Number: 15674
  • Instructor: KOPTA, DANIEL
  • Instructor: MARTIN, TRAVIS B
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 0

CS 3500 - 008 Software Practice

CS 3500 - 008 Software Practice

  • Class Number: 15675
  • Instructor: KOPTA, DANIEL
  • Instructor: MARTIN, TRAVIS B
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 0

CS 3500 - 009 Software Practice

CS 3500 - 009 Software Practice

  • Class Number: 15676
  • Instructor: KOPTA, DANIEL
  • Instructor: MARTIN, TRAVIS B
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 0

Sections 002-008 belong to this section. 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.
  • Class Number:
  • Instructor: JOHNSON, DAVID
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 27

Sections 002-008 belong to this section. 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: 9201
  • Instructor: JOHNSON, DAVID
  • Component: Discussion
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 5

CS 3505 - 003 Software Practice II

CS 3505 - 003 Software Practice II

  • Class Number: 9202
  • Instructor: JOHNSON, DAVID
  • 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: 9203
  • Instructor: JOHNSON, DAVID
  • Component: Discussion
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 3

CS 3505 - 005 Software Practice II

CS 3505 - 005 Software Practice II

  • Class Number: 9997
  • Instructor: JOHNSON, DAVID
  • Component: Discussion
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 0

CS 3505 - 006 Software Practice II

CS 3505 - 006 Software Practice II

  • Class Number: 15694
  • Instructor: JOHNSON, DAVID
  • Component: Discussion
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 10
  • Class Number: 9983
  • Instructor: WIESE, ELIANE S
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: Yes
  • Seats Available: 6

CS 3700 - 001 Digital System Design

CS 3700 - 001 Digital System Design

  • Class Number:
  • Instructor: Yu, Cunxi
  • Component: Lecture
  • Type: In Person
  • Units: 4.0
  • Requisites: Yes
  • Wait List: No
  • Fees: $60.00
  • Seats Available: 10

CS 3700 - 002 Digital System Design

CS 3700 - 002 Digital System Design

  • Class Number: 13673
  • Instructor: Yu, Cunxi
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Fees: $60.00
  • Seats Available: 1

CS 3700 - 004 Digital System Design

CS 3700 - 004 Digital System Design

  • Class Number: 16257
  • Instructor: Yu, Cunxi
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Fees: $60.00
  • Seats Available: 0

CS 3700 - 005 Digital System Design

CS 3700 - 005 Digital System Design

  • Class Number: 16258
  • Instructor: Yu, Cunxi
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Fees: $60.00
  • Seats Available: 3

CS 3710 - 001 Computer Design Lab


Laboratories scheduled during first week of classes.

CS 3710 - 001 Computer Design Lab

  • Class Number: 3488
  • Instructor: BRUNVAND, ERIK
  • Component: Laboratory
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Fees: $60.00
  • Seats Available: 14

Laboratories scheduled during first week of classes.

CS 3810 - 001 Computer Organization

CS 3810 - 001 Computer Organization

  • Class Number: 14336
  • Instructor: BURTSEV, ANTON
  • Component: Lecture
  • Type: In Person
  • Units: 4.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 4

CS 3991 - 001 CE Junior Seminar

CS 3991 - 001 CE Junior Seminar

  • Class Number: 4374
  • Instructor: BERZINS, MARTIN
  • Instructor: CARP, SHERI L
  • Component: Seminar
  • Type: In Person
  • Units: 1.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 28
  • Class Number: 9850
  • Instructor: MARTIN, TRAVIS B
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 48
  • Class Number: 11609
  • Instructor: SADAYAPPAN, SADAY
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 30
  • Class Number: 18097
  • Instructor: KUNTZ, ALAN
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 20

Sections 2-7 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.
  • Class Number:
  • Instructor: Zhang, Mu
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: Yes
  • Seats Available: 20

Sections 2-7 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 4400 - 002 Computer Systems

CS 4400 - 002 Computer Systems

  • Class Number: 9984
  • Instructor: Zhang, Mu
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: Yes
  • Seats Available: 0

CS 4400 - 003 Computer Systems

CS 4400 - 003 Computer Systems

  • Class Number: 9985
  • Instructor: Zhang, Mu
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: Yes
  • Seats Available: 0

CS 4400 - 004 Computer Systems

CS 4400 - 004 Computer Systems

  • Class Number: 13669
  • Instructor: Zhang, Mu
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: Yes
  • Seats Available: 1

CS 4400 - 005 Computer Systems

CS 4400 - 005 Computer Systems

  • Class Number: 15697
  • Instructor: Zhang, Mu
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: Yes
  • Seats Available: 2

CS 4400 - 006 Computer Systems

CS 4400 - 006 Computer Systems

  • Class Number: 16268
  • Instructor: Zhang, Mu
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: Yes
  • Seats Available: 7

CS 4400 - 007 Computer Systems

CS 4400 - 007 Computer Systems

  • Class Number: 16347
  • Instructor: Zhang, Mu
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: Yes
  • Seats Available: 7

CS 4400 - 008 Computer Systems

CS 4400 - 008 Computer Systems

  • Class Number: 19174
  • Instructor: Zhang, Mu
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: Yes
  • Seats Available: 3
  • Class Number: 10694
  • Instructor: HENDERSON, THOMAS
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 1
  • Class Number: 10693
  • Instructor: DE ST GERMAIN, H. JAMES 'JIM'
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 12
  • Class Number: 8754
  • Instructor: YUKSEL, CEM
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: Yes
  • Seats Available: 30
  • Class Number: 14866
  • Instructor: Elhabian, Shireen
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 32

CS 4710 - 001 Comptr Eng Sr Project

CS 4710 - 001 Comptr Eng Sr Project

  • Class Number: 3794
  • Instructor: STEVENS, KENNETH S
  • Component: Special Projects
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 10

Prerequisite: CS 4150 and Full Major Status in Computer Science or Data Science. Course Description: Computational geometry is the study of efficient algorithms to solve geometric problems, with applications in data analysis, computer graphics, visualization, robotics, computer vision, image processing, gaming, user interface design, and animation. Topics covered in this course include foundations, polygon partitioning and triangulation, line intersections, convex hulls, Voronoi diagrams, Delaunay triangulation, and point arrangements and search. This course includes weekly homework problems and 4 programming assignments designed to provide hands-on experience with 2D geometry. At the end of this course, students should be able to identify different problem-solving strategies and tradeoffs for solving geometric problems in real-world scenarios.
  • Class Number: 19434
  • Instructor: ROSEN, PAUL
  • Component: Special Topics
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 25

Prerequisite: CS 4150 and Full Major Status in Computer Science or Data Science. Course Description: Computational geometry is the study of efficient algorithms to solve geometric problems, with applications in data analysis, computer graphics, visualization, robotics, computer vision, image processing, gaming, user interface design, and animation. Topics covered in this course include foundations, polygon partitioning and triangulation, line intersections, convex hulls, Voronoi diagrams, Delaunay triangulation, and point arrangements and search. This course includes weekly homework problems and 4 programming assignments designed to provide hands-on experience with 2D geometry. At the end of this course, students should be able to identify different problem-solving strategies and tradeoffs for solving geometric problems in real-world scenarios.

CS 4991 - 001 CE Senior Thesis I

CS 4991 - 001 CE Senior Thesis I

  • Class Number: 4375
  • Instructor: STEVENS, KENNETH S
  • Component: Special Projects
  • Type: In Person
  • Units: 2.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 15
  • Class Number: 9847
  • Instructor: Sullivan, Blair
  • Instructor: WANG, HAITAO
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 28

CS 5340 - 001 Natural Language

CS 5340 - 001 Natural Language

  • Class Number: 9195
  • Instructor: RILOFF, ELLEN
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 15

CS 5350 - 001 Machine Learning

CS 5350 - 001 Machine Learning

  • Class Number: 9197
  • Instructor: Zhe, Shandian
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: Yes
  • Seats Available: 52

CS 5353 - 001 Deep Learning


Prerequisites: "C-" or better in CS 3500 AND "C" or better in (MATH 1250 AND 1260) OR (MATH 1311 AND MATH 1321) OR MATH 2210 AND Full Major Status in Computer Science.

CS 5353 - 001 Deep Learning

  • Class Number: 18094
  • Instructor: EARNSHAW, BERTON
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Wait List: No
  • Seats Available: 9

Prerequisites: "C-" or better in CS 3500 AND "C" or better in (MATH 1250 AND 1260) OR (MATH 1311 AND MATH 1321) OR MATH 2210 AND Full Major Status in Computer Science.
  • Class Number: 18096
  • Instructor: LEX, ALEXANDER
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 9

CS 5710 - 001 Digital VLSI Design


The course fee covers digital course materials through the Inclusive Access program. Students may request to opt out here: https://portal.verba.io/utah/login

CS 5710 - 001 Digital VLSI Design

  • Class Number: 19159
  • Instructor: SNELGROVE, ASHTON
  • Component: Lecture
  • Type: In Person
  • Units: 4.0
  • Requisites: Yes
  • Wait List: No
  • Fees: $59.18
  • Seats Available: 0

The course fee covers digital course materials through the Inclusive Access program. Students may request to opt out here: https://portal.verba.io/utah/login

Prerequisite: CS 3505 & CS 3540. Please fill out a permission code form at https://www.cs.utah.edu/permcodes/ This course will examine various human aspects involved in cybersecurity and privacy matters connected to technology, including but not limited to: theories of social behavior; laws, regulations, and public policy; UI/UX; economic and organizational considerations; cybersecurity- and privacy-sensitive software engineering; etc. The course takes an active-learning approach with in-class activities and a group project dealing with one or more human and social aspects pertaining to cybersecurity and privacy issues in everyday technologies. At the end of the course, students will be able to identify, analyze, and address various human aspects in development, deployment, and use of technology to help achieve optimal security and privacy for users and organizations.
  • Class Number: 16422
  • Instructor: PATIL, SAMEER
  • Component: Special Topics
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 15

Prerequisite: CS 3505 & CS 3540. Please fill out a permission code form at https://www.cs.utah.edu/permcodes/ This course will examine various human aspects involved in cybersecurity and privacy matters connected to technology, including but not limited to: theories of social behavior; laws, regulations, and public policy; UI/UX; economic and organizational considerations; cybersecurity- and privacy-sensitive software engineering; etc. The course takes an active-learning approach with in-class activities and a group project dealing with one or more human and social aspects pertaining to cybersecurity and privacy issues in everyday technologies. At the end of the course, students will be able to identify, analyze, and address various human aspects in development, deployment, and use of technology to help achieve optimal security and privacy for users and organizations.

Prerequisites: CS 4300 and CS 5350. Course Description: This course will cover a range of topics related to the problem of how to get AI systems to do what we, as humans, actually want them to do. We will explore a range of topics including active learning, human-in-the-loop reinforcement learning, human intent and preference learning, algorithmic teaching, and AI safety. Classes will be a mix of lectures covering foundational materials as well as hands-on analysis and exploration of both seminal and recent research papers. Throughout the semester, students will also be engaged in a novel research project or in-depth literature review, culminating in a final presentation and written technical report. By taking this course, students will develop a broad understanding of the common techniques and unique research challenges involved in building AI systems that learn from, interact with, and assist humans. Additionally, students will learn and practice fundamental research skills, including how to read, write, and review research papers, how to quickly prototype and test research ideas, and how to give technical presentations.
  • Class Number: 19590
  • Instructor: BROWN, DANIEL
  • Component: Special Topics
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 10

Prerequisites: CS 4300 and CS 5350. Course Description: This course will cover a range of topics related to the problem of how to get AI systems to do what we, as humans, actually want them to do. We will explore a range of topics including active learning, human-in-the-loop reinforcement learning, human intent and preference learning, algorithmic teaching, and AI safety. Classes will be a mix of lectures covering foundational materials as well as hands-on analysis and exploration of both seminal and recent research papers. Throughout the semester, students will also be engaged in a novel research project or in-depth literature review, culminating in a final presentation and written technical report. By taking this course, students will develop a broad understanding of the common techniques and unique research challenges involved in building AI systems that learn from, interact with, and assist humans. Additionally, students will learn and practice fundamental research skills, including how to read, write, and review research papers, how to quickly prototype and test research ideas, and how to give technical presentations.

Applied Software Security Testing: Prerequisites CS 3505, CS 4400 and CS 4440. 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: 19810
  • Instructor: NAGY, STEFAN
  • Component: Special Topics
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 16

Applied Software Security Testing: Prerequisites CS 3505, CS 4400 and CS 4440. 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 5350/DS 4350. Local Explanations for Deep Learning Models:This course will cover concepts, techniques, and evaluation of explanations for individual predictions of deep learning models. We’ll first go over explainability methods that aim to address: Which part of the input led to the predicted label? How to change the prediction to another label? In plain English, why is this input assigned this label? Which training examples caused the prediction? In the second part, we’ll revisit evaluations of these methods and focus on how to develop and evaluate explainability methods that best accomplish a concrete, real-world utility. The course is appropriate for graduate and advanced undergraduate students who completed a machine learning course. Methods and examples in this course will focus on NLP and computer vision.
  • Class Number: 20000
  • Instructor: MARASOVIC, ANA
  • Component: Special Topics
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 19

Prerequisites: CS 5350/DS 4350. Local Explanations for Deep Learning Models:This course will cover concepts, techniques, and evaluation of explanations for individual predictions of deep learning models. We’ll first go over explainability methods that aim to address: Which part of the input led to the predicted label? How to change the prediction to another label? In plain English, why is this input assigned this label? Which training examples caused the prediction? In the second part, we’ll revisit evaluations of these methods and focus on how to develop and evaluate explainability methods that best accomplish a concrete, real-world utility. The course is appropriate for graduate and advanced undergraduate students who completed a machine learning course. Methods and examples in this course will focus on NLP and computer vision.
  • Class Number: 5787
  • Instructor: Sullivan, Blair
  • Instructor: WANG, HAITAO
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 17

CS 6210 - 002 Sci. and Data Comp. I

CS 6210 - 002 Sci. and Data Comp. I

  • Class Number: 19223
  • Instructor: BERZINS, MARTIN
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 6
  • Class Number: 18394
  • Instructor: Sundar, Hari
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 45
  • Class Number: 13670
  • Instructor: SADAYAPPAN, SADAY
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 11
  • Class Number: 1434
  • Instructor: HOLLERBACH, JOHN
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 34

CS 6340 - 001 Natural Language

CS 6340 - 001 Natural Language

  • Class Number: 9196
  • Instructor: RILOFF, ELLEN
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 42

CS 6350 - 001 Machine Learning

CS 6350 - 001 Machine Learning

  • Class Number: 9198
  • Instructor: Zhe, Shandian
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 5

CS 6353 - 001 Deep Learning

CS 6353 - 001 Deep Learning

  • Class Number: 18095
  • Instructor: EARNSHAW, BERTON
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Wait List: No
  • Seats Available: 2
  • Class Number: 18082
  • Instructor: STUTSMAN, RYAN
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Wait List: No
  • Seats Available: 19

This course is a comprehensive study of the internals of the modern database systems and challenges of indexing and querying large-scale data in the context of continuously evolving hardware. It will cover the core concepts and fundamentals of indexing and hashing data structures, concurrency control, storage, file organization, and query processing. The course will study both the in-memory and disk-based database systems and will use examples from modern key-value stores as database systems. All the class projects will be in context of real in-memory and disk-based database systems. The course is appropriate for graduate students in software systems and for advanced undergraduates with systems programming skills. Unofficial pre-requisites: CS 5530 (Undergrad databases), CS 3505 software practice in C/C++
  • Class Number: 19574
  • Instructor: PANDEY, PRASHANT
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 34

This course is a comprehensive study of the internals of the modern database systems and challenges of indexing and querying large-scale data in the context of continuously evolving hardware. It will cover the core concepts and fundamentals of indexing and hashing data structures, concurrency control, storage, file organization, and query processing. The course will study both the in-memory and disk-based database systems and will use examples from modern key-value stores as database systems. All the class projects will be in context of real in-memory and disk-based database systems. The course is appropriate for graduate students in software systems and for advanced undergraduates with systems programming skills. Unofficial pre-requisites: CS 5530 (Undergrad databases), CS 3505 software practice in C/C++
  • Class Number: 14870
  • Instructor: ISAACS, KATE E
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 35
  • Class Number: 18099
  • Instructor: LEX, ALEXANDER
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 33

CS 6640 - 001 Image Processing


The course fee covers digital course materials through the Inclusive Access program. Students may request to opt out here: https://portal.verba.io/utah/login

CS 6640 - 001 Image Processing

  • Class Number: 6506
  • Instructor: TASDIZEN, TOLGA
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Fees: $32.94
  • Seats Available: 16

The course fee covers digital course materials through the Inclusive Access program. Students may request to opt out here: https://portal.verba.io/utah/login

CS 6710 - 001 Digital VLSI Design


The course fee covers digital course materials through the Inclusive Access program. Students may request to opt out here: https://portal.verba.io/utah/login

CS 6710 - 001 Digital VLSI Design

  • Class Number: 19157
  • Instructor: SNELGROVE, ASHTON
  • Component: Lecture
  • Type: In Person
  • Units: 4.0
  • Requisites: Yes
  • Wait List: No
  • Fees: $59.18
  • Seats Available: 11

The course fee covers digital course materials through the Inclusive Access program. Students may request to opt out here: https://portal.verba.io/utah/login
  • Class Number: 11625
  • Instructor: BALASUBRAMONIAN, RAJEEV
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 18

This course will examine various human aspects involved in cybersecurity and privacy matters connected to technology, including but not limited to: theories of social behavior; laws, regulations, and public policy; UI/UX; economic and organizational considerations; cybersecurity- and privacy-sensitive software engineering; etc. The course takes an active-learning approach with in-class activities and a group project dealing with one or more human and social aspects pertaining to cybersecurity and privacy issues in everyday technologies. At the end of the course, students will be able to identify, analyze, and address various human aspects in development, deployment, and use of technology to help achieve optimal security and privacy for users and organizations.
  • Class Number: 16421
  • Instructor: PATIL, SAMEER
  • Component: Special Topics
  • Type: In Person
  • Units: 3.0
  • Wait List: No
  • Seats Available: 15

This course will examine various human aspects involved in cybersecurity and privacy matters connected to technology, including but not limited to: theories of social behavior; laws, regulations, and public policy; UI/UX; economic and organizational considerations; cybersecurity- and privacy-sensitive software engineering; etc. The course takes an active-learning approach with in-class activities and a group project dealing with one or more human and social aspects pertaining to cybersecurity and privacy issues in everyday technologies. At the end of the course, students will be able to identify, analyze, and address various human aspects in development, deployment, and use of technology to help achieve optimal security and privacy for users and organizations.

Course Description: This course will cover a range of topics related to the problem of how to get AI systems to do what we, as humans, actually want them to do. We will explore a range of topics including active learning, human-in-the-loop reinforcement learning, human intent and preference learning, algorithmic teaching, and AI safety. Classes will be a mix of lectures covering foundational materials as well as hands-on analysis and exploration of both seminal and recent research papers. Throughout the semester, students will also be engaged in a novel research project or in-depth literature review, culminating in a final presentation and written technical report. By taking this course, students will develop a broad understanding of the common techniques and unique research challenges involved in building AI systems that learn from, interact with, and assist humans. Additionally, students will learn and practice fundamental research skills, including how to read, write, and review research papers, how to quickly prototype and test research ideas, and how to give technical presentations.
  • Class Number: 19598
  • Instructor: BROWN, DANIEL
  • Component: Special Topics
  • Type: In Person
  • Units: 3.0
  • Wait List: No
  • Seats Available: 16

Course Description: This course will cover a range of topics related to the problem of how to get AI systems to do what we, as humans, actually want them to do. We will explore a range of topics including active learning, human-in-the-loop reinforcement learning, human intent and preference learning, algorithmic teaching, and AI safety. Classes will be a mix of lectures covering foundational materials as well as hands-on analysis and exploration of both seminal and recent research papers. Throughout the semester, students will also be engaged in a novel research project or in-depth literature review, culminating in a final presentation and written technical report. By taking this course, students will develop a broad understanding of the common techniques and unique research challenges involved in building AI systems that learn from, interact with, and assist humans. Additionally, students will learn and practice fundamental research skills, including how to read, write, and review research papers, how to quickly prototype and test research ideas, and how to give technical presentations.

Description / note: A new graduate course for instruction and practice in teaching computer science at a university level. Enrollment is by permission code and limited. Students must have a bachelor’s degree and be pursuing a graduate degree in Computing or Computer Science. Prior experience as a TA or TM is preferred.
  • Class Number: 16687
  • Instructor: PARKER, ERIN
  • Component: Special Topics
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 1

Description / note: A new graduate course for instruction and practice in teaching computer science at a university level. Enrollment is by permission code and limited. Students must have a bachelor’s degree and be pursuing a graduate degree in Computing or Computer Science. Prior experience as a TA or TM is preferred.

Applied Software Security Testing: Prerequisites CS 3505, CS 4400 and CS 4440. 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: 19825
  • Instructor: NAGY, STEFAN
  • Component: Special Topics
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 12

Applied Software Security Testing: Prerequisites CS 3505, CS 4400 and CS 4440. 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.

Local Explanations for Deep Learning Models: This course will cover concepts, techniques, and evaluation of explanations for individual predictions of deep learning models. We’ll first go over explainability methods that aim to address: Which part of the input led to the predicted label? How to change the prediction to another label? In plain English, why is this input assigned this label? Which training examples caused the prediction? In the second part, we’ll revisit evaluations of these methods and focus on how to develop and evaluate explainability methods that best accomplish a concrete, real-world utility. The course is appropriate for graduate and advanced undergraduate students who completed a machine learning course. Methods and examples in this course will focus on NLP and computer vision.
  • Class Number: 20051
  • Instructor: MARASOVIC, ANA
  • Component: Special Topics
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 32

Local Explanations for Deep Learning Models: This course will cover concepts, techniques, and evaluation of explanations for individual predictions of deep learning models. We’ll first go over explainability methods that aim to address: Which part of the input led to the predicted label? How to change the prediction to another label? In plain English, why is this input assigned this label? Which training examples caused the prediction? In the second part, we’ll revisit evaluations of these methods and focus on how to develop and evaluate explainability methods that best accomplish a concrete, real-world utility. The course is appropriate for graduate and advanced undergraduate students who completed a machine learning course. Methods and examples in this course will focus on NLP and computer vision.

CS 6967 - 001 Security Operations

CS 6967 - 001 Security Operations

  • Class Number: 18081
  • Instructor: XU, JUN
  • Component: Special Topics
  • Type: In Person
  • Units: 3.0
  • Wait List: No
  • Seats Available: 0

CS 6968 - 001 Bus Asp of Sec & Privacy


Business Aspects of Security and Privacy. Successful security programs utilize risk management techniques to make effective security control decisions. Regulations, such as GDPR, force companies into adopting security best practices to protect sensitive data. This course covers many compliance and risk management topics, which are necessary to understand in order to be an effective cybersecurity leader and build an effective cybersecurity program.

CS 6968 - 001 Bus Asp of Sec & Privacy

  • Class Number: 18080
  • Instructor: MOHR, HENNER
  • Component: Special Topics
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 2

Business Aspects of Security and Privacy. Successful security programs utilize risk management techniques to make effective security control decisions. Regulations, such as GDPR, force companies into adopting security best practices to protect sensitive data. This course covers many compliance and risk management topics, which are necessary to understand in order to be an effective cybersecurity leader and build an effective cybersecurity program.

Please contact the graduate advisors to obtain a permission code.
  • Class Number: 4776
  • Instructor: Sundar, Hari
  • Component: Seminar
  • Type: In Person
  • Units: 1.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 4

Please contact the graduate advisors to obtain a permission code.

CS 7931 - 002 Software Correctness

CS 7931 - 002 Software Correctness

CS 7932 - 001 Human-Centered Computing

CS 7932 - 001 Human-Centered Computing

  • Class Number: 20289
  • Instructor: WIESE, JASON
  • Component: Seminar
  • Type: Interactive Video Conferencing
  • Units: 1.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 14
  • Class Number: 18760
  • Instructor: YUKSEL, CEM
  • Component: Seminar
  • Type: In Person
  • Units: 1.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 4
  • Class Number: 5073
  • Instructor: EIDE, ERIC N
  • Component: Seminar
  • Type: In Person
  • Units: 1.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 18

CS 7937 - 002 Arch/VLSI


Meets in MEB 2170.

CS 7937 - 002 Arch/VLSI

  • Class Number: 16983
  • Instructor: BALASUBRAMONIAN, RAJEEV
  • Component: Seminar
  • Type: In Person
  • Units: 1.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 7

Meets in MEB 2170.

CS 7938 - 001 Image Analysis Seminar

CS 7938 - 001 Image Analysis Seminar

  • Class Number: 6352
  • Instructor: Elhabian, Shireen
  • Component: Seminar
  • Type: In Person
  • Units: 1.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 20

CS 7939 - 001 Robotics

CS 7939 - 001 Robotics

  • Class Number: 5299
  • Instructor: MINOR, MARK ANDREW
  • Component: Seminar
  • Type: In Person
  • Units: 1.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 6

CS 7940 - 003 High-Perform Machine Learning


This research seminar will cover a range of research issues pertinent to High-Performance Machine Learning from a cross-stack perspective that spans Algorithm Design, Compiler Optimization, and Accelerator Architectures. A) ML Algorithms: Desirable attributes of Machine Learning algorithms are high accuracy, low execution time, low energy expenditure and low resource (e.g., memory) requirements. These attributes generally represent trade-offs across a design space of neural architectures for implementing the ML model. Topics include: Sparse representations for DNN models, Tensor train networks, Graph neural networks, Neural architecture search. B) Performance Optimization: Given a specific DNN model to be implemented on a given target platform (e.g., multicore CPU, GPU, or spatial accelerator array), the number of possible loop-level implementations is enormous. Topics include: Design space exploration for optimizing CNNs, Memory-constrained training of DNN pipelines, Optimization for sparse operators, Tensor network optimization. C) Accelerators for ML: Customized accelerators for ML offer significant performance potential over general-purpose architectures. We will study several proposed accelerator designs for ML. Topics include: Accelerator design space exploration for neural networks, Architectural support for sparsity. Students may register for the seminar either for 1 credit (paper presentation and discussion) or 2 credits (paper presentation/discussion and project).

CS 7940 - 003 High-Perform Machine Learning


This research seminar will cover a range of research issues pertinent to High-Performance Machine Learning from a cross-stack perspective that spans Algorithm Design, Compiler Optimization, and Accelerator Architectures. A) ML Algorithms: Desirable attributes of Machine Learning algorithms are high accuracy, low execution time, low energy expenditure and low resource (e.g., memory) requirements. These attributes generally represent trade-offs across a design space of neural architectures for implementing the ML model. Topics include: Sparse representations for DNN models, Tensor train networks, Graph neural networks, Neural architecture search. B) Performance Optimization: Given a specific DNN model to be implemented on a given target platform (e.g., multicore CPU, GPU, or spatial accelerator array), the number of possible loop-level implementations is enormous. Topics include: Design space exploration for optimizing CNNs, Memory-constrained training of DNN pipelines, Optimization for sparse operators, Tensor network optimization. C) Accelerators for ML: Customized accelerators for ML offer significant performance potential over general-purpose architectures. We will study several proposed accelerator designs for ML. Topics include: Accelerator design space exploration for neural networks, Architectural support for sparsity. Students may register for the seminar either for 1 credit (paper presentation and discussion) or 2 credits (paper presentation/discussion and project).

CS 7941 - 001 Data Science Seminar


CS 7941 001 will meet in WEB 3780

CS 7941 - 001 Data Science Seminar

  • Class Number: 8781
  • Instructor: PHILLIPS, JEFF
  • Instructor: Sullivan, Blair
  • Component: Seminar
  • Type: In Person
  • Units: 1.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 29

CS 7941 001 will meet in WEB 3780

CS 7942 - 001 Visualization Seminar


This class meets in WEB 3780.

CS 7942 - 001 Visualization Seminar

  • Class Number: 17190
  • Instructor: JOHNSON, CHRISTOPHER
  • Component: Seminar
  • Type: In Person
  • Units: 1.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 15

This class meets in WEB 3780.

Prerequisite CS 6540 This course will examine various human aspects involved in cybersecurity and privacy matters connected to technology, including but not limited to: theories of social behavior; laws, regulations, and public policy; UI/UX; economic and organizational considerations; cybersecurity- and privacy-sensitive software engineering; etc. The course takes an active-learning approach with in-class activities and a group project dealing with one or more human and social aspects pertaining to cybersecurity and privacy issues in everyday technologies. At the end of the course, students will be able to identify, analyze, and address various human aspects in development, deployment, and use of technology to help achieve optimal security and privacy for users and organizations.
  • Class Number: 18646
  • Instructor: PATIL, SAMEER
  • Component: Special Topics
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 10

Prerequisite CS 6540 This course will examine various human aspects involved in cybersecurity and privacy matters connected to technology, including but not limited to: theories of social behavior; laws, regulations, and public policy; UI/UX; economic and organizational considerations; cybersecurity- and privacy-sensitive software engineering; etc. The course takes an active-learning approach with in-class activities and a group project dealing with one or more human and social aspects pertaining to cybersecurity and privacy issues in everyday technologies. At the end of the course, students will be able to identify, analyze, and address various human aspects in development, deployment, and use of technology to help achieve optimal security and privacy for users and organizations.