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.


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, see https://handbook.cs.utah.edu/2021-2022/Prospective_Students/choosing_between_1030_1400_1420.php.
  • Class Number:
  • Instructor: JOHNSON, DAVID
  • Component: Lecture
  • Type: In Person
  • Units: 4.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 47

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, see https://handbook.cs.utah.edu/2021-2022/Prospective_Students/choosing_between_1030_1400_1420.php.

CS 1400 - 003 Intro Comp Programming

CS 1400 - 003 Intro Comp Programming

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

CS 1400 - 005 Intro Comp Programming

CS 1400 - 005 Intro Comp Programming

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

CS 1400 - 007 Intro Comp Programming

CS 1400 - 007 Intro Comp Programming

  • Class Number: 13018
  • Instructor: JOHNSON, DAVID
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • 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.

This course requires registration for a lab and/or discussion section. Students will be automatically registered for this lecture section when registering for the pertinent lab and/or discussion section.

CS 1410 - 003 Object-Oriented Prog

CS 1410 - 003 Object-Oriented Prog

  • Class Number: 13024
  • Instructor: KABIR, KAZI SINTHIA
  • 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: 13025
  • Instructor: KABIR, KAZI SINTHIA
  • Instructor: MARTIN, TRAVIS B
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: -1

CS 1410 - 005 Object-Oriented Prog

CS 1410 - 005 Object-Oriented Prog

  • Class Number: 14081
  • Instructor: KABIR, KAZI SINTHIA
  • 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: 13026
  • Instructor: KABIR, KAZI SINTHIA
  • 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: 13027
  • Instructor: KABIR, KAZI SINTHIA
  • 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: 13028
  • Instructor: KABIR, KAZI SINTHIA
  • Instructor: MARTIN, TRAVIS B
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 4

CS 1410 - 009 Object-Oriented Prog

CS 1410 - 009 Object-Oriented Prog

  • Class Number: 13029
  • Instructor: KABIR, KAZI SINTHIA
  • Instructor: MARTIN, TRAVIS B
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 5

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, see https://handbook.cs.utah.edu/2021-2022/Prospective_Students/choosing_between_1030_1400_1420.php.
  • Class Number:
  • Instructor: PARKER, ERIN
  • Component: Lecture
  • Type: In Person
  • Units: 4.0
  • 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. Students may take CS 1400 or CS 1420 as a their first CS course. For a guide on choosing a course, see https://handbook.cs.utah.edu/2021-2022/Prospective_Students/choosing_between_1030_1400_1420.php.

CS 1420 - 003 Accel Obj-Orient Prog

CS 1420 - 003 Accel Obj-Orient Prog

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

CS 1420 - 004 Accel Obj-Orient Prog

CS 1420 - 004 Accel Obj-Orient Prog

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

CS 1420 - 005 Accel Obj-Orient Prog

CS 1420 - 005 Accel Obj-Orient Prog

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

CS 1420 - 006 Accel Obj-Orient Prog

CS 1420 - 006 Accel Obj-Orient Prog

  • Class Number: 5116
  • Instructor: PARKER, ERIN
  • 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: 5117
  • Instructor: PARKER, ERIN
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: -3
  • Class Number:
  • Instructor: PARKER, ERIN
  • Instructor: REGEHR, JOHN
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Wait List: No
  • Seats Available: 42

CS 1810 - 002 Intro to Comp Systems

CS 1810 - 002 Intro to Comp Systems

  • Class Number: 18614
  • Instructor: PARKER, ERIN
  • Instructor: REGEHR, JOHN
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Wait List: No
  • Seats Available: 10

CS 1810 - 003 Intro to Comp Systems

CS 1810 - 003 Intro to Comp Systems

  • Class Number: 18595
  • Instructor: PARKER, ERIN
  • Instructor: REGEHR, JOHN
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Wait List: No
  • Seats Available: 2

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: KIRBY, ROBERT
  • Instructor: SONI, PRATIK
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Fees: $20.00
  • Seats Available: 68

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: 7523
  • Instructor: KIRBY, ROBERT
  • Instructor: SONI, PRATIK
  • Component: Discussion
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 2

CS 2100 - 003 Discrete Structures

CS 2100 - 003 Discrete Structures

  • Class Number: 6099
  • Instructor: KIRBY, ROBERT
  • Instructor: SONI, PRATIK
  • Component: Discussion
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 4

CS 2100 - 004 Discrete Structures

CS 2100 - 004 Discrete Structures

  • Class Number: 6100
  • Instructor: KIRBY, ROBERT
  • Instructor: SONI, PRATIK
  • Component: Discussion
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 5

CS 2100 - 005 Discrete Structures

CS 2100 - 005 Discrete Structures

  • Class Number: 8288
  • Instructor: KIRBY, ROBERT
  • Instructor: SONI, PRATIK
  • Component: Discussion
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 22

CS 2100 - 006 Discrete Structures

CS 2100 - 006 Discrete Structures

  • Class Number: 9765
  • Instructor: KIRBY, ROBERT
  • Instructor: SONI, PRATIK
  • Component: Discussion
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 35

CS 2420 - 001 Intro Alg & Data Struct


This course requires registration for a lab section. Students will be automatically registered for this lecture section when registering for the pertinent lab section.

CS 2420 - 001 Intro Alg & Data Struct

  • Class Number:
  • Instructor: JONES, BEN
  • Component: Lecture
  • Type: In Person
  • Units: 4.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 51

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: 5125
  • Instructor: JONES, BEN
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 12

CS 2420 - 003 Intro Alg & Data Struct

CS 2420 - 003 Intro Alg & Data Struct

  • Class Number: 5126
  • Instructor: JONES, BEN
  • 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: 5127
  • Instructor: JONES, BEN
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 2

CS 2420 - 005 Intro Alg & Data Struct

CS 2420 - 005 Intro Alg & Data Struct

  • Class Number: 5128
  • Instructor: JONES, BEN
  • 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: 5129
  • Instructor: JONES, BEN
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 1

CS 2420 - 007 Intro Alg & Data Struct

CS 2420 - 007 Intro Alg & Data Struct

  • Class Number: 6231
  • Instructor: JONES, BEN
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 4

CS 2420 - 008 Intro Alg & Data Struct

CS 2420 - 008 Intro Alg & Data Struct

  • Class Number: 7903
  • Instructor: JONES, BEN
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 4
  • Class Number:
  • Instructor: HEISLER, ERIC
  • Component: Lecture
  • Type: In Person
  • Units: 4.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 24

CS 2420 - 021 Intro Alg & Data Struct

CS 2420 - 021 Intro Alg & Data Struct

  • Class Number: 18212
  • Instructor: HEISLER, ERIC
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: -1

CS 2420 - 022 Intro Alg & Data Struct

CS 2420 - 022 Intro Alg & Data Struct

  • Class Number: 18213
  • Instructor: HEISLER, ERIC
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 1

CS 2420 - 023 Intro Alg & Data Struct

CS 2420 - 023 Intro Alg & Data Struct

  • Class Number: 18214
  • Instructor: HEISLER, ERIC
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 0

CS 2420 - 024 Intro Alg & Data Struct

CS 2420 - 024 Intro Alg & Data Struct

  • Class Number: 18215
  • 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: 18216
  • Instructor: HEISLER, ERIC
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 0

CS 2420 - 026 Intro Alg & Data Struct

CS 2420 - 026 Intro Alg & Data Struct

  • Class Number: 18217
  • Instructor: HEISLER, ERIC
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 0

CS 2420 - 027 Intro Alg & Data Struct

CS 2420 - 027 Intro Alg & Data Struct

  • Class Number: 18218
  • Instructor: HEISLER, ERIC
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 0

CS 3011 - 001 Industry Forum

CS 3011 - 001 Industry Forum

  • Class Number: 5646
  • Instructor: CARP, SHERI L
  • Instructor: PARASHAR, MANISH
  • Component: Lecture
  • Type: In Person
  • Units: 1.0
  • Requisites: Yes
  • Wait List: Yes
  • Seats Available: 11
  • Class Number: 15204
  • Instructor: MARTIN, TRAVIS B
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 0

CS 3100 - 001 Models Of Computation


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 3100 - 001 Models Of Computation

  • Class Number: 11667
  • Instructor: HENDERSON, THOMAS
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Fees: $39.82
  • Seats Available: 20

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 - 001 Eng Prob Stats

CS 3130 - 001 Eng Prob Stats

  • Class Number: 7092
  • Instructor: WHITAKER, ROSS
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 73

CS 3200 - 001 Intro Sci Comp

CS 3200 - 001 Intro Sci Comp

  • Class Number: 5130
  • Instructor: BERZINS, MARTIN
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 15

CS 3500 - 001 Software Practice


Sections 2 - 5 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 - 001 Software Practice

  • Class Number:
  • Instructor: DE ST GERMAIN, H. James 'Jim'
  • Component: Lecture
  • Type: In Person
  • Units: 4.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 53

Sections 2 - 5 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: 8087
  • Instructor: DE ST GERMAIN, H. James 'Jim'
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 10

CS 3500 - 003 Software Practice

CS 3500 - 003 Software Practice

  • Class Number: 8088
  • Instructor: DE ST GERMAIN, H. James 'Jim'
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 1

CS 3500 - 004 Software Practice

CS 3500 - 004 Software Practice

  • Class Number: 8089
  • Instructor: DE ST GERMAIN, H. James 'Jim'
  • 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: 8246
  • Instructor: DE ST GERMAIN, H. James 'Jim'
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 0

CS 3500 - 006 Software Practice

CS 3500 - 006 Software Practice

  • Class Number: 9824
  • Instructor: DE ST GERMAIN, H. James 'Jim'
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: -1

CS 3500 - 007 Software Practice

CS 3500 - 007 Software Practice

  • Class Number: 11002
  • Instructor: DE ST GERMAIN, H. James 'Jim'
  • 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: 14348
  • Instructor: DE ST GERMAIN, H. James 'Jim'
  • 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: 16702
  • Instructor: DE ST GERMAIN, H. James 'Jim'
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 0

CS 3500 - 011 Software Practice

CS 3500 - 011 Software Practice

  • Class Number: 16766
  • Instructor: DE ST GERMAIN, H. James 'Jim'
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 10

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: HEISLER, ERIC
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 27

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: 5132
  • Instructor: HEISLER, ERIC
  • Component: Discussion
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 6

CS 3505 - 003 Software Practice II

CS 3505 - 003 Software Practice II

  • Class Number: 5133
  • 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: 5134
  • 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: 5135
  • Instructor: HEISLER, ERIC
  • 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: 5353
  • 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: 6960
  • Instructor: HEISLER, ERIC
  • Component: Discussion
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 2

CS 3505 - 008 Software Practice II

CS 3505 - 008 Software Practice II

  • Class Number: 16410
  • Instructor: HEISLER, ERIC
  • Component: Discussion
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 3
  • Class Number: 15705
  • Instructor: WIESE, ELIANE S
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 14

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 Inclusive Access program. Students may request to opt out here: https://portal.verba.io/utah/login
  • Class Number:
  • Instructor: GARCIA, LUIS
  • Component: Lecture
  • Type: In Person
  • Units: 4.0
  • Requisites: Yes
  • Wait List: No
  • Fees: $105.88
  • Seats Available: 6

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 Inclusive 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: 5379
  • Instructor: GARCIA, LUIS
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 6

This class meets in MEB 3133.
  • Class Number: 8091
  • Instructor: BALASUBRAMONIAN, RAJEEV
  • Component: Lecture
  • Type: In Person
  • Units: 4.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: 15428
  • 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.

Prerequisites: Full Major Status in Computer Engineering. This class meets with CS 3505 001. Please contact the professor to coordinate a lab section.
  • Class Number: 18224
  • Instructor: HEISLER, ERIC
  • Component: Special Topics
  • Type: In Person
  • Units: 2.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 12

Prerequisites: Full Major Status in Computer Engineering. This class meets with CS 3505 001. Please contact the professor to coordinate a lab section.

CS 3960 - 003 Intro Computational Geometry


Pre-reqs: CS 2100 and CS 3500. 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 several 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 3960 - 003 Intro Computational Geometry

  • Class Number: 18225
  • Instructor: ROSEN, PAUL
  • Component: Special Topics
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 27

Pre-reqs: CS 2100 and CS 3500. 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 several 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.

Prerequisite: CS 3540 in Fall 2023.
  • Class Number: 20309
  • Instructor: WIESE, ELIANE S
  • Component: Special Topics
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 1

Prerequisite: CS 3540 in Fall 2023.

CS 3992 - 002 Pre-Thesis/Clinic/Proj

CS 3992 - 002 Pre-Thesis/Clinic/Proj

  • Class Number: 20035
  • Instructor: DZAKA, ELMIR
  • Instructor: STEVENS, KENNETH S
  • Component: Seminar
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 11

CS 4000 - 001 Senior Capstone Design

CS 4000 - 001 Senior Capstone Design

  • Class Number: 8709
  • Instructor: DE ST GERMAIN, JOHN
  • Instructor: WANG, FENGJIAO
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 3

CS 4011 - 001 Professional Dev

CS 4011 - 001 Professional Dev

  • Class Number: 15293
  • Instructor: LEX, ALEXANDER
  • Component: Lecture
  • Type: In Person
  • Units: 1.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 16
  • Class Number: 5165
  • Instructor: Sundar, Hari
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 7
  • Class Number: 18226
  • Instructor: WANG, HAITAO
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 35

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: 3.0
  • Requisites: Yes
  • Wait List: Yes
  • Seats Available: 7

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: 9321
  • Instructor: KOPTA, DANIEL
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: Yes
  • Seats Available: 2

CS 4400 - 003 Computer Systems

CS 4400 - 003 Computer Systems

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

CS 4400 - 004 Computer Systems

CS 4400 - 004 Computer Systems

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

CS 4400 - 006 Computer Systems

CS 4400 - 006 Computer Systems

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

CS 4400 - 007 Computer Systems

CS 4400 - 007 Computer Systems

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

CS 4400 - 008 Computer Systems

CS 4400 - 008 Computer Systems

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

CS 4440 - 001 Computer Security

CS 4440 - 001 Computer Security

  • Class Number: 10332
  • Instructor: XU, JUN
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 25
  • Class Number: 6102
  • Instructor: STUTSMAN, Ryan
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: Yes
  • Fees: $36.71
  • Seats Available: 11

CS 4530 - 001 Mobile App Programming

CS 4530 - 001 Mobile App Programming

  • Class Number: 9316
  • Instructor: JONES, BEN
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: Yes
  • Seats Available: 12

CS 4550 - 001 Web Software Dev II

CS 4550 - 001 Web Software Dev II

  • Class Number: 18208
  • Instructor: WOOD, AARON
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 30

CS 4560 - 001 Web Browser Internals

CS 4560 - 001 Web Browser Internals

  • Class Number: 18207
  • Instructor: PANCHEKHA, PAVEL
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 15

CS 4960 - 001 Algorithms, Geometry, & Optimi


The classic paradigms in algorithm design include divide and conquer, greedy selection, dynamic programming, etc. But over the last 3-4 decades, a much richer set of techniques have transformed algorithm design. These include geometric and continuous "relaxations" for problems, leveraging tools from probability theory and optimization (e.g., gradient descent), and so on. The goal of this course will be to introduce some of these methods, and how they have had significant impact on the development of areas like data science. Pre-requisite: CS 4150

CS 4960 - 001 Algorithms, Geometry, & Optimi

  • Class Number: 13585
  • Instructor: BHASKARA, ADITYA
  • Component: Special Topics
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 4

The classic paradigms in algorithm design include divide and conquer, greedy selection, dynamic programming, etc. But over the last 3-4 decades, a much richer set of techniques have transformed algorithm design. These include geometric and continuous "relaxations" for problems, leveraging tools from probability theory and optimization (e.g., gradient descent), and so on. The goal of this course will be to introduce some of these methods, and how they have had significant impact on the development of areas like data science. Pre-requisite: CS 4150

CS 4961 - 001 Special Topics


CS 4961/6961 is a combined undergraduate/graduate level course on Mobile and Wireless Networking with a systems emphasis. The course will cover basic principles of wireless communication and focus on understanding and applying those principles in practical systems. The course is suitable for both undergraduate and graduate students who have completed the prerequisites, i.e., "B" or better grade in CS 4480 (or an equivalent computer networking course).

CS 4961 - 001 Special Topics

  • Class Number: 18610
  • Instructor: VAN DER MERWE, Jacobus
  • Component: Special Topics
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 18

CS 4961/6961 is a combined undergraduate/graduate level course on Mobile and Wireless Networking with a systems emphasis. The course will cover basic principles of wireless communication and focus on understanding and applying those principles in practical systems. The course is suitable for both undergraduate and graduate students who have completed the prerequisites, i.e., "B" or better grade in CS 4480 (or an equivalent computer networking course).

CS 4964 - 001 Manage Data for & with ML


This course provides a broad exploration of the practical skills essential for handling, preparing, ingesting, indexing, and analyzing large datasets for machine learning applications. Students will explore various topics, including relational databases, optimizing dataset storage, data cleansing techniques, and large-scale data processing systems (e.g., Spark). The class also covers learned indexes and large-scale data visualization. This hands-on course aims to equip participants with the knowledge and proficiency to effectively manage and analyze vast datasets for machine learning applications. The prerequisite is CS 3500.

CS 4964 - 001 Manage Data for & with ML

  • Class Number: 16687
  • Instructor: REZIG, EL KINDI
  • Component: Special Topics
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 3

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: 5169
  • Instructor: STEVENS, KENNETH S
  • Component: Special Projects
  • Type: In Person
  • Units: 2.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 20

CS 5110 - 001 Software Verification

CS 5110 - 001 Software Verification

  • Class Number: 13008
  • Instructor: GREENMAN, BENJAMIN
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 15
  • Class Number: 18220
  • Instructor: MARASOVIC, ANA
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: Yes
  • Seats Available: 10
  • Class Number: 15206
  • Instructor: SRIKUMAR, Vivek
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: Yes
  • Seats Available: 7

CS 5460 - 001 Operating Systems

CS 5460 - 001 Operating Systems

  • Class Number: 6895
  • Instructor: BURTSEV, ANTON
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: Yes
  • Seats Available: 3

CS 5490 - 001 Network Security

CS 5490 - 001 Network Security

  • Class Number: 12300
  • Instructor: KASERA, SNEHA K
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Fees: $36.71
  • Seats Available: 15

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: 6044
  • Instructor: KOPTA, DANIEL
  • Component: Lecture
  • Type: Online
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 61

This is an online course, which does not have a specific meeting time or location throughout the semester. For additional information, please visit https://online.utah.edu/about-online-learning/

CS 5610 - 001 Interactive Comp Graph

CS 5610 - 001 Interactive Comp Graph

  • Class Number: 8092
  • Instructor: YANG, YIN
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 29
  • Class Number: 10326
  • Instructor: JOHNSON, CHRISTOPHER
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 4

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


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

CS 5780 - 003 Embedded Sys Design

CS 5780 - 003 Embedded Sys Design

  • Class Number: 7173
  • Instructor: GAILLARDON, PIERRE-EMMANUEL J
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 0

CS 5780 - 004 Embedded Sys Design

CS 5780 - 004 Embedded Sys Design

  • Class Number: 7174
  • Instructor: GAILLARDON, PIERRE-EMMANUEL J
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 1

CS 5780 - 005 Embedded Sys Design

CS 5780 - 005 Embedded Sys Design

CS 5780 - 006 Embedded Sys Design

CS 5780 - 006 Embedded Sys Design

  • Class Number: 10530
  • Instructor: GAILLARDON, PIERRE-EMMANUEL J
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 0

CS 5789 - 001 Emb Sys & Kinetic Art

CS 5789 - 001 Emb Sys & Kinetic Art

  • Class Number: 18205
  • Instructor: BRUNVAND, ERIK
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Fees: $55.00
  • Seats Available: -2

CS 5963 - 001 Applied S/W Secur Test


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, CS 4400 and CS 4440

CS 5963 - 001 Applied S/W Secur Test

  • Class Number: 18228
  • 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, CS 4400 and CS 4440

CS 5968 - 001 Designing Citizen Science Sys


Designing Novel Computing Systems for Science and Medicine. This special topics course in Human-centered Computing (HCC) will provide PhD, MS, and BS students with the concepts and skills to answer the question "How might online platforms augment communities’ access to scientific expertise and high-quality data?". In this class, we will design novel online/social platforms for deeper, beneficial public participation in science and medicine. After taking this course, students will be able to develop participatory models of producing knowledge and apply it to a research topic of their choice. For topics, class structure, and methods, see https://vineetp13.github.io/DesigningScience.html. Pre-requisite: CS 3540

CS 5968 - 001 Designing Citizen Science Sys

  • Class Number: 16176
  • Instructor: PANDEY, VINEET
  • Component: Special Topics
  • Type: In Person
  • Units: 3.0
  • Wait List: No
  • Seats Available: 16

Designing Novel Computing Systems for Science and Medicine. This special topics course in Human-centered Computing (HCC) will provide PhD, MS, and BS students with the concepts and skills to answer the question "How might online platforms augment communities’ access to scientific expertise and high-quality data?". In this class, we will design novel online/social platforms for deeper, beneficial public participation in science and medicine. After taking this course, students will be able to develop participatory models of producing knowledge and apply it to a research topic of their choice. For topics, class structure, and methods, see https://vineetp13.github.io/DesigningScience.html. Pre-requisite: CS 3540

CS 6020 - 001 Early-Career Research

CS 6020 - 001 Early-Career Research

  • Class Number: 6219
  • Instructor: LEX, ALEXANDER
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 8

CS 6110 - 001 Software Verification

CS 6110 - 001 Software Verification

  • Class Number: 11666
  • Instructor: GREENMAN, BENJAMIN
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 23
  • Class Number: 20012
  • Instructor: PASCUCCI, VALERIO
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 20

CS 6190 - 001 Prob Machine Learning

CS 6190 - 001 Prob Machine Learning

  • Class Number: 13009
  • Instructor: Zhe, Shandian
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Wait List: No
  • Seats Available: 11

CS 6220 - 001 Sci. and Data Comp. II

CS 6220 - 001 Sci. and Data Comp. II

  • Class Number: 18227
  • Instructor: SHANKAR, VARUN
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 11
  • Class Number: 5170
  • Instructor: BROWN, DANIEL
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 19

CS 6330 - 001 Intro to Robot Control

CS 6330 - 001 Intro to Robot Control

  • Class Number: 7178
  • Instructor: MASCARO, STEPHEN A
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Fees: $40.00
  • Seats Available: 10
  • Class Number: 18230
  • Instructor: MARASOVIC, ANA
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: Yes
  • Seats Available: 11
  • Class Number: 15207
  • Instructor: SRIKUMAR, Vivek
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: Yes
  • Seats Available: 28

CS 6460 - 001 Operating Systems

CS 6460 - 001 Operating Systems

  • Class Number: 6965
  • Instructor: BURTSEV, ANTON
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 40

CS 6490 - 001 Network Security

CS 6490 - 001 Network Security

  • Class Number: 12303
  • Instructor: KASERA, SNEHA K
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Fees: $36.71
  • Seats Available: 28

CS 6490 - 090 Network Security

CS 6490 - 090 Network Security

  • Class Number: 18663
  • Instructor: KASERA, SNEHA K
  • Component: Lecture
  • Type: Online
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Fees: $36.71
  • Seats Available: 10
  • Class Number: 18609
  • Instructor: ZHANG, MU
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Wait List: No
  • Seats Available: 9
  • Class Number: 18665
  • Instructor: ZHANG, MU
  • Component: Lecture
  • Type: Online
  • Units: 3.0
  • Wait List: No
  • Seats Available: 4
  • Class Number: 18661
  • Instructor: FLATT, Matthew
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Wait List: No
  • Seats Available: 7

CS 6545 - 001 HCI Origin&Perspectives


Prerequisite: CS 6540

CS 6545 - 001 HCI Origin&Perspectives

  • Class Number: 18210
  • Instructor: WIESE, Jason
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 26

Prerequisite: CS 6540

CS 6610 - 001 Interactive Comp Graph

CS 6610 - 001 Interactive Comp Graph

  • Class Number: 8093
  • Instructor: YANG, YIN
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Wait List: No
  • Seats Available: 13
  • Class Number: 10331
  • Instructor: JOHNSON, CHRISTOPHER
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Wait List: No
  • Seats Available: 21

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


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

CS 6780 - 004 Embed Sys Design

CS 6780 - 004 Embed Sys Design

  • Class Number: 7177
  • Instructor: GAILLARDON, PIERRE-EMMANUEL J
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Fees: $35.00
  • Seats Available: 1

CS 6780 - 005 Embed Sys Design

CS 6780 - 005 Embed Sys Design

CS 6953 - 001 Deep Learning Capstone

CS 6953 - 001 Deep Learning Capstone

  • Class Number: 15445
  • Instructor: AL HALAH, ZIAD
  • Instructor: HENDERSON, THOMAS
  • Component: Practicum
  • Type: In Person
  • Units: 3.0
  • Wait List: No
  • Seats Available: 7

This course will cover a broad range of concepts related to modern surgical, interventional, and diagnostic medical robotic systems. Topics to be covered include commercial surgical robot systems, medical imaging, telemanipulation, surgical robotics mechanisms, registration, microrobots in medicine, continuum medical robots, and motion planning and automation for medical robots.
  • Class Number: 13007
  • Instructor: KUNTZ, ALAN
  • Component: Special Topics
  • Type: In Person
  • Units: 3.0
  • Wait List: No
  • Seats Available: 25

This course will cover a broad range of concepts related to modern surgical, interventional, and diagnostic medical robotic systems. Topics to be covered include commercial surgical robot systems, medical imaging, telemanipulation, surgical robotics mechanisms, registration, microrobots in medicine, continuum medical robots, and motion planning and automation for medical robots.
  • Class Number: 20103
  • Instructor: FARIHA, ANNA
  • Component: Special Topics
  • Type: In Person
  • Units: 3.0
  • Wait List: No
  • Seats Available: 2

CS 6960 - 001 Algorithms, Geometry, and Opti


Algorithms, Geometry, and Optimization The classic paradigms in algorithm design include divide and conquer, greedy selection, dynamic programming, etc. But over the last 3-4 decades, a much richer set of techniques have transformed algorithm design. These include geometric and continuous "relaxations" for problems, leveraging tools from probability theory and optimization (e.g., gradient descent), and so on. The goal of this course will be to introduce some of these methods, and how they have had significant impact on the development of areas like data science.

CS 6960 - 001 Algorithms, Geometry, and Opti

  • Class Number: 13634
  • Instructor: BHASKARA, ADITYA
  • Component: Special Topics
  • Type: In Person
  • Units: 3.0
  • Wait List: No
  • Seats Available: 10

Algorithms, Geometry, and Optimization The classic paradigms in algorithm design include divide and conquer, greedy selection, dynamic programming, etc. But over the last 3-4 decades, a much richer set of techniques have transformed algorithm design. These include geometric and continuous "relaxations" for problems, leveraging tools from probability theory and optimization (e.g., gradient descent), and so on. The goal of this course will be to introduce some of these methods, and how they have had significant impact on the development of areas like data science.

CS 6961 - 001 Special Topics


CS 4961/6961 is a combined undergraduate/graduate level course on Mobile and Wireless Networking with a systems emphasis. The course will cover basic principles of wireless communication and focus on understanding and applying those principles in practical systems. The course is suitable for both undergraduate and graduate students who have completed the prerequisites, i.e., "B" or better grade in CS 4480 (or an equivalent computer networking course).

CS 6961 - 001 Special Topics

  • Class Number: 18620
  • Instructor: VAN DER MERWE, Jacobus
  • Component: Special Topics
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 33

CS 4961/6961 is a combined undergraduate/graduate level course on Mobile and Wireless Networking with a systems emphasis. The course will cover basic principles of wireless communication and focus on understanding and applying those principles in practical systems. The course is suitable for both undergraduate and graduate students who have completed the prerequisites, i.e., "B" or better grade in CS 4480 (or an equivalent computer networking course).

CS 6963 - 001 Applied S/W Secur Test


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.

CS 6963 - 001 Applied S/W Secur Test

  • Class Number: 18229
  • Instructor: NAGY, STEFAN
  • Component: Special Topics
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 1

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.

CS 6964 - 001 Manage Data for & with ML


This course provides a broad exploration of the practical skills essential for handling, preparing, ingesting, indexing, and analyzing large datasets for machine learning applications. Students will explore various topics, including relational databases, optimizing dataset storage, data cleansing techniques, and large-scale data processing systems (e.g., Spark). The class also covers learned indexes and large-scale data visualization. This hands-on course aims to equip participants with the knowledge and proficiency to effectively manage and analyze vast datasets for machine learning applications.

CS 6964 - 001 Manage Data for & with ML

  • Class Number: 16685
  • Instructor: REZIG, EL KINDI
  • Component: Special Topics
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: -13

This course provides a broad exploration of the practical skills essential for handling, preparing, ingesting, indexing, and analyzing large datasets for machine learning applications. Students will explore various topics, including relational databases, optimizing dataset storage, data cleansing techniques, and large-scale data processing systems (e.g., Spark). The class also covers learned indexes and large-scale data visualization. This hands-on course aims to equip participants with the knowledge and proficiency to effectively manage and analyze vast datasets for machine learning applications.

CS 6968 - 001 Designing Citizen Science Sys


Designing Novel Computing Systems for Science and Medicine This special topics course in Human-centered Computing (HCC) will provide PhD, MS, and BS students with the concepts and skills to answer the question "How might online platforms augment communities’ access to scientific expertise and high-quality data?". In this class, we will design novel online/social platforms for deeper, beneficial public participation in science and medicine. After taking this course, students will be able to develop participatory models of producing knowledge and apply it to a research topic of their choice. For topics, class structure, and methods, see https://vineetp13.github.io/DesigningScience.html

CS 6968 - 001 Designing Citizen Science Sys

  • Class Number: 16179
  • Instructor: PANDEY, VINEET
  • Component: Special Topics
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: Yes
  • Seats Available: 3

Designing Novel Computing Systems for Science and Medicine This special topics course in Human-centered Computing (HCC) will provide PhD, MS, and BS students with the concepts and skills to answer the question "How might online platforms augment communities’ access to scientific expertise and high-quality data?". In this class, we will design novel online/social platforms for deeper, beneficial public participation in science and medicine. After taking this course, students will be able to develop participatory models of producing knowledge and apply it to a research topic of their choice. For topics, class structure, and methods, see https://vineetp13.github.io/DesigningScience.html
  • Class Number: 18204
  • Instructor: Elhabian, Shireen
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Fees: $98.82
  • Seats Available: 33

CS 7810 - 001 Adv Computer Arch

CS 7810 - 001 Adv Computer Arch

  • Class Number: 18202
  • Instructor: NAGARAJAN, VIJAYANAND
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 5

CS 7932 - 001 Human-Centered Computing

CS 7932 - 001 Human-Centered Computing

  • Class Number: 12295
  • Instructor: KOGAN, MARINA
  • Component: Seminar
  • Type: Interactive Video Conferencing
  • Units: 1.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 12

CS 7933 - 001 Graphics Seminar

CS 7933 - 001 Graphics Seminar

  • Class Number: 5810
  • Instructor: YANG, YIN
  • Component: Seminar
  • Type: In Person
  • Units: 1.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 8
  • Class Number: 5692
  • Instructor: EIDE, ERIC N
  • 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: 6772
  • Instructor: NAGARAJAN, VIJAYANAND
  • Component: Seminar
  • Type: In Person
  • Units: 1.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 5

Meets in MEB 2170

CS 7938 - 001 Image Analysis Seminar

CS 7938 - 001 Image Analysis Seminar

  • Class Number: 5919
  • Instructor: JOSHI, SARANG
  • Component: Seminar
  • Type: In Person
  • Units: 1.0 - 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 9
  • Class Number: 5356
  • Instructor: BROWN, DANIEL
  • Component: Seminar
  • Type: In Person
  • Units: 1.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 6

CS 7941 - 001 Data Science Seminar

CS 7941 - 001 Data Science Seminar

  • Class Number: 6971
  • Instructor: BHASKARA, ADITYA
  • Component: Seminar
  • Type: In Person
  • Units: 1.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 34

CS 7942 - 001 Visualization Seminar


This class meets in WEB 3780.

CS 7942 - 001 Visualization Seminar

  • Class Number: 7010
  • Instructor: LEX, ALEXANDER
  • Component: Seminar
  • Type: In Person
  • Units: 1.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 14

This class meets in WEB 3780.