Departmental Advisors
Undergraduate Studies Office
Vicki Jackson
MEB 3190
Graduate Studies Office
Jill Wilson
MEB 3190
Departmental Notes
For course descriptions and pre-requisite information click on the subject column next to the appropriate catalog number.
THIS DEPARTMENT ENFORCES UNDERGRADUATE PREREQUISITES. Please note that the registration system may not factor in transfer work when determining if prerequisites have been met. If you are unable to register for a course and think you have met the prerequisite(s), please contact an advisor from this department to inquire about obtaining a permission code. You may be administratively dropped from a course if the prerequisite has not been met.
Attention: Classroom assignments may change between the time you
register and when classes begin. Please check your class schedule for the latest classroom location
information before attending class.
This course requires registration for a lab and/or discussion section. Students will be automatically registered for this lecture section when registering for the pertinent lab and/or discussion section.
- Class Number:
- Instructor: BROWN, NOELLE
- Component: Lecture
- Type: In Person
- Units: 4.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 3
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 - 004 Intro Comp Programming
CS 1400 - 004 Intro Comp Programming
- Class Number: 11903
- Instructor: BROWN, NOELLE
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 2
CS 1400 - 005 Intro Comp Programming
CS 1400 - 005 Intro Comp Programming
- Class Number: 11904
- Instructor: BROWN, NOELLE
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 0
CS 1400 - 006 Intro Comp Programming
CS 1400 - 006 Intro Comp Programming
- Class Number: 12218
- Instructor: BROWN, NOELLE
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 0
CS 1400 - 007 Intro Comp Programming
CS 1400 - 007 Intro Comp Programming
- Class Number: 12219
- Instructor: BROWN, NOELLE
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- 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: HEISLER, ERIC
- Component: Lecture
- Type: In Person
- Units: 4.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 15
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 - 022 Intro Comp Programming
CS 1400 - 022 Intro Comp Programming
- Class Number: 13205
- Instructor: HEISLER, ERIC
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 0
CS 1400 - 023 Intro Comp Programming
CS 1400 - 023 Intro Comp Programming
- Class Number: 13706
- Instructor: HEISLER, ERIC
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 0
CS 1400 - 024 Intro Comp Programming
CS 1400 - 024 Intro Comp Programming
- Class Number: 14297
- Instructor: HEISLER, ERIC
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 0
CS 1400 - 025 Intro Comp Programming
CS 1400 - 025 Intro Comp Programming
- Class Number: 14298
- Instructor: HEISLER, ERIC
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 5
CS 1400 - 026 Intro Comp Programming
CS 1400 - 026 Intro Comp Programming
- Class Number: 14299
- Instructor: HEISLER, ERIC
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 10
CS 1410 - 001 Object-Oriented Prog
This course requires registration for a lab and/or discussion section. Students will be automatically registered for this lecture section when registering for the pertinent lab and/or discussion section.
CS 1410 - 001 Object-Oriented Prog
- Class Number:
- Instructor: MARTIN, TRAVIS B
- Component: Lecture
- Type: In Person
- Units: 4.0
- Requisites: Yes
- Wait List: 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 1410 - 003 Object-Oriented Prog
CS 1410 - 003 Object-Oriented Prog
- Class Number: 13033
- Instructor: MARTIN, TRAVIS B
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 0
CS 1410 - 004 Object-Oriented Prog
CS 1410 - 004 Object-Oriented Prog
- Class Number: 13034
- Instructor: MARTIN, TRAVIS B
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 1
CS 1410 - 005 Object-Oriented Prog
CS 1410 - 005 Object-Oriented Prog
- Class Number: 13035
- Instructor: MARTIN, TRAVIS B
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 1
CS 1410 - 006 Object-Oriented Prog
CS 1410 - 006 Object-Oriented Prog
- Class Number: 13036
- Instructor: MARTIN, TRAVIS B
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 0
CS 1420 - 001 Accel Obj-Orient Prog
This course requires registration for a lab and/or discussion section. Students will be automatically registered for this lecture section when registering for the pertinent lab and/or discussion section.
CS 1420 - 001 Accel Obj-Orient Prog
- Class Number:
- Instructor: HEISLER, ERIC
- Component: Lecture
- Type: In Person
- Units: 4.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 19
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 - 004 Accel Obj-Orient Prog
CS 1420 - 004 Accel Obj-Orient Prog
- Class Number: 12702
- Instructor: HEISLER, ERIC
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 0
CS 1420 - 006 Accel Obj-Orient Prog
CS 1420 - 006 Accel Obj-Orient Prog
- Class Number: 12704
- Instructor: HEISLER, ERIC
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: -2
CS 1420 - 007 Accel Obj-Orient Prog
CS 1420 - 007 Accel Obj-Orient Prog
- Class Number: 12705
- Instructor: HEISLER, ERIC
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: -1
CS 1420 - 020 Accel Obj-Orient Prog
CS 1420 - 020 Accel Obj-Orient Prog
- Class Number:
- Instructor: PARKER, ERIN
- Component: Lecture
- Type: In Person
- Units: 4.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 32
CS 1420 - 022 Accel Obj-Orient Prog
CS 1420 - 022 Accel Obj-Orient Prog
- Class Number: 16198
- Instructor: PARKER, ERIN
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 1
CS 1420 - 023 Accel Obj-Orient Prog
CS 1420 - 023 Accel Obj-Orient Prog
- Class Number: 16199
- Instructor: PARKER, ERIN
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 2
CS 1420 - 024 Accel Obj-Orient Prog
CS 1420 - 024 Accel Obj-Orient Prog
- Class Number: 16200
- Instructor: PARKER, ERIN
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 0
CS 1960 - 002 Success in Computing
CS 1960 - 002 Success in Computing
- Class Number: 14970
- Instructor: PHILLIPS, ALYSSA
- Component: Lecture
- Type: In Person
- Units: 1.0
- Wait List: No
- Seats Available: 0
CS 1960 - 004 Success in Computing
CS 1960 - 004 Success in Computing
- Class Number: 15040
- Instructor: PHILLIPS, ALYSSA
- Component: Lecture
- Type: In Person
- Units: 1.0
- Wait List: No
- Seats Available: 8
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: YANG, YIN
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 32
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 - 003 Discrete Structures
CS 2100 - 004 Discrete Structures
CS 2100 - 020 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 - 020 Discrete Structures
- Class Number:
- Instructor: Elhabian, Shireen
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- 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 2100 - 021 Discrete Structures
CS 2100 - 021 Discrete Structures
- Class Number: 16186
- Instructor: Elhabian, Shireen
- Component: Discussion
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 0
CS 2100 - 022 Discrete Structures
CS 2100 - 022 Discrete Structures
- Class Number: 16187
- Instructor: Elhabian, Shireen
- Component: Discussion
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 1
CS 2100 - 023 Discrete Structures
CS 2100 - 023 Discrete Structures
- Class Number: 16188
- Instructor: Elhabian, Shireen
- Component: Discussion
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- 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: KOPTA, DANIEL
- Component: Lecture
- Type: In Person
- Units: 4.0
- Requisites: Yes
- Wait List: Yes
- 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 2420 - 003 Intro Alg & Data Struct
CS 2420 - 003 Intro Alg & Data Struct
- Class Number: 11613
- Instructor: KOPTA, DANIEL
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 0
CS 2420 - 004 Intro Alg & Data Struct
CS 2420 - 004 Intro Alg & Data Struct
- Class Number: 11614
- Instructor: KOPTA, DANIEL
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 0
CS 2420 - 005 Intro Alg & Data Struct
CS 2420 - 005 Intro Alg & Data Struct
- Class Number: 11615
- Instructor: KOPTA, DANIEL
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 2
CS 2420 - 006 Intro Alg & Data Struct
CS 2420 - 006 Intro Alg & Data Struct
- Class Number: 12220
- Instructor: KOPTA, DANIEL
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 11
CS 2420 - 007 Intro Alg & Data Struct
CS 2420 - 007 Intro Alg & Data Struct
- Class Number: 12221
- Instructor: KOPTA, DANIEL
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- 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: WOOD, AARON
- Component: Lecture
- Type: In Person
- Units: 4.0
- Requisites: Yes
- Wait List: Yes
- 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.
CS 2420 - 022 Intro Alg & Data Struct
CS 2420 - 022 Intro Alg & Data Struct
- Class Number: 14305
- Instructor: WOOD, AARON
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 0
CS 2420 - 023 Intro Alg & Data Struct
CS 2420 - 023 Intro Alg & Data Struct
- Class Number: 14306
- Instructor: WOOD, AARON
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 0
CS 2420 - 024 Intro Alg & Data Struct
CS 2420 - 024 Intro Alg & Data Struct
- Class Number: 14312
- Instructor: WOOD, AARON
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 0
CS 2420 - 025 Intro Alg & Data Struct
CS 2420 - 025 Intro Alg & Data Struct
- Class Number: 14313
- Instructor: WOOD, AARON
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 0
CS 2420 - 026 Intro Alg & Data Struct
CS 2420 - 026 Intro Alg & Data Struct
- Class Number: 14307
- Instructor: WOOD, AARON
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 0
CS 3020 - 001 Research Forum
CS 3020 - 001 Research Forum
- Class Number: 6678
- Instructor: BRUNVAND, ERIK
- Component: Seminar
- Type: In Person
- Units: 1.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 29
CS 3090 - 001 Ethics in Computing
CS 3090 - 001 Ethics in Computing
- Class Number: 16659
- Instructor: PHILLIPS, BEI WANG
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 5
CS 3100 - 001 Models Of Computation
CS 3100 - 001 Models Of Computation
- Class Number: 4137
- Instructor: KIRBY, ROBERT
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 22
CS 3130 - 001 Eng Prob Stats
CS 3130 - 002 Eng Prob Stats
CS 3130 - 002 Eng Prob Stats
- Class Number: 12343
- Instructor: TASDIZEN, TOLGA
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 0
- Class Number: 9846
- Instructor: REZIG, EL KINDI
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 3
CS 3200 - 001 Intro Sci Comp
CS 3200 - 001 Intro Sci Comp
- Class Number: 20194
- Instructor: JOHNSON, CHRISTOPHER
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 0
- Class Number: 11906
- Instructor: PATIL, SAMEER
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 1
CS 3500 - 001 Software Practice
This course requires registration for a lab and/or discussion section. Students will be automatically registered for this lecture section when registering for the pertinent lab and/or discussion section.
CS 3500 - 001 Software Practice
- Class Number:
- Instructor: DE ST GERMAIN, H. James 'Jim'
- Component: Lecture
- Type: In Person
- Units: 4.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 63
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: 11617
- Instructor: DE ST GERMAIN, H. James 'Jim'
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 10
CS 3500 - 003 Software Practice
CS 3500 - 003 Software Practice
- Class Number: 11618
- Instructor: DE ST GERMAIN, H. James 'Jim'
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 1
CS 3500 - 004 Software Practice
CS 3500 - 004 Software Practice
- Class Number: 11619
- Instructor: DE ST GERMAIN, H. James 'Jim'
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 0
CS 3500 - 007 Software Practice
CS 3500 - 007 Software Practice
- Class Number: 12226
- Instructor: DE ST GERMAIN, H. James 'Jim'
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 16
CS 3500 - 008 Software Practice
CS 3500 - 008 Software Practice
- Class Number: 12227
- Instructor: DE ST GERMAIN, H. James 'Jim'
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 14
CS 3500 - 009 Software Practice
CS 3500 - 009 Software Practice
- Class Number: 12228
- Instructor: DE ST GERMAIN, H. James 'Jim'
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 20
CS 3500 - 020 Software Practice
This course requires registration for a lab and/or discussion section. Students will be automatically registered for this lecture section when registering for the pertinent lab and/or discussion section.
CS 3500 - 020 Software Practice
- Class Number:
- Instructor: MARTIN, TRAVIS B
- Component: Lecture
- Type: In Person
- Units: 4.0
- Requisites: Yes
- Wait List: Yes
- 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.
CS 3500 - 021 Software Practice
CS 3500 - 021 Software Practice
- Class Number: 16203
- Instructor: MARTIN, TRAVIS B
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 0
CS 3500 - 022 Software Practice
CS 3500 - 022 Software Practice
- Class Number: 16204
- Instructor: MARTIN, TRAVIS B
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 0
CS 3500 - 023 Software Practice
CS 3500 - 023 Software Practice
- Class Number: 16205
- Instructor: MARTIN, TRAVIS B
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: -2
CS 3500 - 026 Software Practice
CS 3500 - 026 Software Practice
- Class Number: 16208
- Instructor: MARTIN, TRAVIS B
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 0
CS 3500 - 027 Software Practice
CS 3500 - 027 Software Practice
- Class Number: 16209
- Instructor: MARTIN, TRAVIS B
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: -2
CS 3500 - 028 Software Practice
CS 3500 - 028 Software Practice
- Class Number: 16210
- Instructor: MARTIN, TRAVIS B
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: -2
CS 3505 - 001 Software Practice II
This course requires registration for a lab and/or discussion section. Students will be automatically registered for this lecture section when registering for the pertinent lab and/or discussion section.
CS 3505 - 001 Software Practice II
- Class Number:
- Instructor: JOHNSON, DAVID
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 25
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 - 003 Software Practice II
CS 3505 - 003 Software Practice II
- Class Number: 8047
- Instructor: JOHNSON, DAVID
- Component: Discussion
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 0
CS 3505 - 004 Software Practice II
CS 3505 - 004 Software Practice II
- Class Number: 8048
- Instructor: JOHNSON, DAVID
- Component: Discussion
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 0
CS 3505 - 005 Software Practice II
CS 3505 - 005 Software Practice II
- Class Number: 8705
- Instructor: JOHNSON, DAVID
- Component: Discussion
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 1
CS 3505 - 006 Software Practice II
CS 3505 - 006 Software Practice II
- Class Number: 12236
- Instructor: JOHNSON, DAVID
- Component: Discussion
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 24
CS 3505 - 007 Software Practice II
CS 3505 - 007 Software Practice II
- Class Number: 12237
- Instructor: JOHNSON, DAVID
- Component: Discussion
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 0
CS 3505 - 008 Software Practice II
CS 3505 - 008 Software Practice II
- Class Number: 12238
- Instructor: JOHNSON, DAVID
- Component: Discussion
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Seats Available: 0
CS 3520 - 001 Programming Languages
CS 3520 - 001 Programming Languages
- Class Number: 14310
- Instructor: Flatt, Matthew
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 5
- Class Number: 8696
- Instructor: PANDEY, VINEET
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 7
CS 3550 - 001 Web Software Dev I
CS 3550 - 001 Web Software Dev I
- Class Number: 14302
- Instructor: PANCHEKHA, PAVEL
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 5
CS 3700 - 001 Digital System Design
CS 3700 - 001 Digital System Design
- Class Number:
- Instructor: Fayazi, Morteza
- Component: Lecture
- Type: In Person
- Units: 4.0
- Requisites: Yes
- Wait List: Yes
- Fees: $60.00
- Seats Available: 1
CS 3700 - 002 Digital System Design
CS 3700 - 002 Digital System Design
- Class Number: 11246
- Instructor: Fayazi, Morteza
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Fees: $60.00
- Seats Available: 0
CS 3700 - 004 Digital System Design
CS 3700 - 004 Digital System Design
- Class Number: 12444
- Instructor: Fayazi, Morteza
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Fees: $60.00
- Seats Available: 0
CS 3700 - 005 Digital System Design
CS 3700 - 005 Digital System Design
- Class Number: 12445
- Instructor: Fayazi, Morteza
- Component: Laboratory
- Type: In Person
- Units: --
- Requisites: Yes
- Wait List: Yes
- Fees: $60.00
- Seats Available: 0
CS 3710 - 001 Computer Design Lab
Laboratories scheduled during first week of classes.
CS 3710 - 001 Computer Design Lab
- Class Number: 3224
- Instructor: KALLA, PRIYANK
- Component: Laboratory
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Fees: $60.00
- Seats Available: 0
Laboratories scheduled during first week of classes.
CS 3810 - 001 Computer Organization
CS 3810 - 001 Computer Organization
- Class Number: 11620
- Instructor: KOPTA, DANIEL
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 57
Prerequisites: CS 2420 AND CS 2100 OR MATH 2200 AND MATH 2270 AND Foundational Courses complete AND (Major or Minor in Kahlert School of Computing). This course is designed to provide a groundwork for both machine learning and deep learning early on in undergraduate studies. Each lecture covers fundamental topics in Machine Learning interleaved with their practical application using Python and machine learning libraries such as PyTorch to implement and experiment with the discussed concepts. Topics include training paradigms, loss functions, optimization, evaluation, hyperparameter tuning, generalization, simple neural networks, CNNs and Transformers, backpropagation, featurization, and more. The course will also cover topics in probability and linear algebra which are fundamental to understanding machine learning basics. By the end of the course, students will be prepared to take more advanced courses to deepen their theoretical and applied knowledge of machine learning and deep learning.
- Class Number: 16823
- Instructor: Marino, Kenneth
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 18
Prerequisites: CS 2420 AND CS 2100 OR MATH 2200 AND MATH 2270 AND Foundational Courses complete AND (Major or Minor in Kahlert School of Computing). This course is designed to provide a groundwork for both machine learning and deep learning early on in undergraduate studies. Each lecture covers fundamental topics in Machine Learning interleaved with their practical application using Python and machine learning libraries such as PyTorch to implement and experiment with the discussed concepts. Topics include training paradigms, loss functions, optimization, evaluation, hyperparameter tuning, generalization, simple neural networks, CNNs and Transformers, backpropagation, featurization, and more. The course will also cover topics in probability and linear algebra which are fundamental to understanding machine learning basics. By the end of the course, students will be prepared to take more advanced courses to deepen their theoretical and applied knowledge of machine learning and deep learning.
CS 3991 - 001 CE Junior Seminar
CS 3991 - 001 CE Junior Seminar
- Class Number: 3993
- Instructor: GOPALAKRISHNAN, GANESH
- Component: Seminar
- Type: In Person
- Units: 1.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 1
- Class Number: 7329
- Instructor: BEAN, DAVID
- Instructor: BROWN, NOELLE
- Instructor: DE ST GERMAIN, H. James 'Jim'
- Instructor: REGEHR, JOHN
- Instructor: WOOD, AARON
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 20
CS 4150 - 001 Algorithms
CS 4150 - 001 Algorithms
- Class Number: 8575
- Instructor: BHASKARA, ADITYA
- Instructor: SHANKAR, VARUN
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 17
CS 4230 - 001 Parallel Programming
CS 4230 - 001 Parallel Programming
- Class Number: 9843
- Instructor: SADAYAPPAN, SADAY
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 7
- Class Number: 13043
- Instructor: BROWN, DANIEL
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 7
CS 4400 - 001 Computer Systems
This course requires registration for a lab and/or discussion section. Students will be automatically registered for this lecture section when registering for the pertinent lab and/or discussion section. The course fee covers digital course materials through the Instant Access program. Students may request to opt out here: https://portal.verba.io/utah/login
CS 4400 - 001 Computer Systems
- Class Number:
- Instructor: ZHANG, MU
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 14
This course requires registration for a lab and/or discussion section. Students will be automatically registered for this lecture section when registering for the pertinent lab and/or discussion section. The course fee covers digital course materials through the Instant Access program. Students may request to opt out here: https://portal.verba.io/utah/login
CS 4400 - 002 Computer Systems
CS 4400 - 003 Computer Systems
CS 4400 - 004 Computer Systems
CS 4400 - 005 Computer Systems
CS 4400 - 006 Computer Systems
CS 4400 - 007 Computer Systems
CS 4400 - 008 Computer Systems
CS 4400 - 009 Computer Systems
CS 4440 - 001 Computer Security
CS 4440 - 001 Computer Security
- Class Number: 14294
- Instructor: NAGY, STEFAN
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 0
- Class Number: 9182
- Instructor: BEAN, DAVID
- Instructor: DE ST GERMAIN, JOHN
- Instructor: SONI, PRATIK
- Instructor: WANG, FENGJIAO
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 4
- Class Number: 16195
- Instructor: MAKAREM, NABIL
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 48
CS 4600 - 001 Computer Graphics
CS 4600 - 001 Computer Graphics
- Class Number: 7707
- Instructor: Lin, Jenny
- Instructor: YUKSEL, CEM
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 74
CS 4710 - 001 Comptr Eng Sr Project
CS 4710 - 001 Comptr Eng Sr Project
- Class Number: 3510
- Instructor: PATWARI, NEAL
- Instructor: Van Der Merwe, Jacobus
- Component: Special Projects
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 24
'C-' or better in CS 3190 Found. of Data Analysis AND CS 3500 Software Practice. Full Major status in Computer Science OR Software Development OR Data Science. Machine learning (ML) has been widely integrated into various real-world systems, such as facial recognition, object detection, and autonomous driving. However, the security and safety of these ML-based systems are still of great concern, as adversaries can easily manipulate their behaviors. This course will provide an introduction to the intersection of two ubiquitous concepts: security and machine learning. It will cover key learning algorithms and techniques, the security problems of modern ML models (i.e., adversarial attacks and backdoor threats), practical defense solutions against various attacks, and more.
- Class Number: 17851
- Instructor: TAO, GUANHONG
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 5
'C-' or better in CS 3190 Found. of Data Analysis AND CS 3500 Software Practice. Full Major status in Computer Science OR Software Development OR Data Science. Machine learning (ML) has been widely integrated into various real-world systems, such as facial recognition, object detection, and autonomous driving. However, the security and safety of these ML-based systems are still of great concern, as adversaries can easily manipulate their behaviors. This course will provide an introduction to the intersection of two ubiquitous concepts: security and machine learning. It will cover key learning algorithms and techniques, the security problems of modern ML models (i.e., adversarial attacks and backdoor threats), practical defense solutions against various attacks, and more.
CS 4962 - 001 Sustainable Computing
We are witnessing exponential growth in computing hardware along with resource-intensive applications such as HPC and AI/ML workloads. This is increasing the environmental footprint of computing, risking global sustainability. In this course, we will first understand how computing affects various sustainability metrics like carbon footprint, water footprint, impact on public health and biodiversity. Next, we will discuss strategies for designing hardware and scheduling algorithms for data centers and other large scale computing platforms to reduce computing's environmental footprint. We will focus on developing energy-efficient software and making existing LLMs, HPC, and AI applications sustainable. Finally, we will look into emerging frontiers in sustainable computing, including space-based and quantum systems, as long-term solutions. This course assumes a background in computer systems and architecture. Prerequisite: CS 3810 and Full Major Status in Kahlert School of Computing.
CS 4962 - 001 Sustainable Computing
- Class Number: 19874
- Instructor: Basu Roy, Rohan
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 3
We are witnessing exponential growth in computing hardware along with resource-intensive applications such as HPC and AI/ML workloads. This is increasing the environmental footprint of computing, risking global sustainability. In this course, we will first understand how computing affects various sustainability metrics like carbon footprint, water footprint, impact on public health and biodiversity. Next, we will discuss strategies for designing hardware and scheduling algorithms for data centers and other large scale computing platforms to reduce computing's environmental footprint. We will focus on developing energy-efficient software and making existing LLMs, HPC, and AI applications sustainable. Finally, we will look into emerging frontiers in sustainable computing, including space-based and quantum systems, as long-term solutions. This course assumes a background in computer systems and architecture. Prerequisite: CS 3810 and Full Major Status in Kahlert School of Computing.
Prereqs: CS 3500 AND MATH 1220 AND MATH 2270 AND CS 3130. Algorithmic Foundations of Robotics explores the algorithms that help robots operate in the real world from autonomous cars to manipulators in factories. It covers a range of topics including forward/inverse kinematics, motion planning, simultaneous localization and mapping (SLAM), and optimal control. Students will learn about the algorithms and mathematical principles that enable robots to perceive, reason, and act in the world. By the end of the course, students will have an understanding of the fundamental concepts that drive robotic systems, and will be equipped with the skills to design and implement their own robotic algorithms.
- Class Number: 19875
- Instructor: Hermans, Tucker
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 22
Prereqs: CS 3500 AND MATH 1220 AND MATH 2270 AND CS 3130. Algorithmic Foundations of Robotics explores the algorithms that help robots operate in the real world from autonomous cars to manipulators in factories. It covers a range of topics including forward/inverse kinematics, motion planning, simultaneous localization and mapping (SLAM), and optimal control. Students will learn about the algorithms and mathematical principles that enable robots to perceive, reason, and act in the world. By the end of the course, students will have an understanding of the fundamental concepts that drive robotic systems, and will be equipped with the skills to design and implement their own robotic algorithms.
CS 5140 - 001 Data Mining
CS 5140 - 001 Data Mining
- Class Number: 19877
- Instructor: PHILLIPS, JEFF
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Fees: $15.00
- Seats Available: 3
CS 5150 - 001 Advanced Algorithms
CS 5150 - 001 Advanced Algorithms
- Class Number: 8573
- Instructor: WANG, HAITAO
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 4
CS 5310 - 001 Robotics I: Mechanics
CS 5310 - 001 Robotics I: Mechanics
- Class Number: 19881
- Instructor: ABBOTT, JAKE
- Instructor: Hallock, Laura
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 2
CS 5320 - 001 Computer Vision
The course is an introduction to fundamental problems of Computer Vision and main concepts and techniques to solve those. The course starts with the fundamentals of processing and transforming images, extracting features and descriptors, estimating camera pose, and stereo matching. After that, the course covers developing advanced algorithms and machine learning-based techniques, including an introduction to deep neural networks, to address high-level computer vision tasks like 3D reconstruction, detecting and segmenting objects in images, and classifying activities in videos.
CS 5320 - 001 Computer Vision
- Class Number: 14803
- Instructor: AL HALAH, ZIAD
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 1
The course is an introduction to fundamental problems of Computer Vision and main concepts and techniques to solve those. The course starts with the fundamentals of processing and transforming images, extracting features and descriptors, estimating camera pose, and stereo matching. After that, the course covers developing advanced algorithms and machine learning-based techniques, including an introduction to deep neural networks, to address high-level computer vision tasks like 3D reconstruction, detecting and segmenting objects in images, and classifying activities in videos.
CS 5340 - 001 Natural Language
This course focuses on solving NLP problems with large language models (LLMs). We trace their development from deep learning, vector semantics, language modeling, and neural machine translation to applications in question answering and summarization. Students learn the foundations essential for building LLMs, including the transformer architecture, transfer learning, instruction following, and alignment. The course also introduces advanced topics such as multilingual, multimodal, safe, and efficient LLMs. Additionally, we briefly cover linguistic structure prediction, including part-of-speech tagging, named entity resolution, constituency/dependency parsing, semantic role labeling, and coreference resolution. Prerequisites Note: This course has undergone a major overhaul in 2024. You should be experienced in Python, able to pick up PyTorch quickly, as well as machine learning and deep learning basics. A solid understanding of basic calculus, probability, and linear algebra is expected, including multivariable derivatives and matrix/vector operations. While there are no formal prerequisites, undergraduate students are strongly encouraged to take CS 3960 (Intro to Practical Machine Learning) first. Completing CS 5353/6353 (Deep Learning) or CS 5350/6350 (Machine Learning) may make the course easier but is not required.
CS 5340 - 001 Natural Language
- Class Number: 16211
- Instructor: MARASOVIC, ANA
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 23
This course focuses on solving NLP problems with large language models (LLMs). We trace their development from deep learning, vector semantics, language modeling, and neural machine translation to applications in question answering and summarization. Students learn the foundations essential for building LLMs, including the transformer architecture, transfer learning, instruction following, and alignment. The course also introduces advanced topics such as multilingual, multimodal, safe, and efficient LLMs. Additionally, we briefly cover linguistic structure prediction, including part-of-speech tagging, named entity resolution, constituency/dependency parsing, semantic role labeling, and coreference resolution. Prerequisites Note: This course has undergone a major overhaul in 2024. You should be experienced in Python, able to pick up PyTorch quickly, as well as machine learning and deep learning basics. A solid understanding of basic calculus, probability, and linear algebra is expected, including multivariable derivatives and matrix/vector operations. While there are no formal prerequisites, undergraduate students are strongly encouraged to take CS 3960 (Intro to Practical Machine Learning) first. Completing CS 5353/6353 (Deep Learning) or CS 5350/6350 (Machine Learning) may make the course easier but is not required.
CS 5353 - 001 Deep Learning
CS 5353 - 001 Deep Learning
- Class Number: 13040
- Instructor: KUNTZ, ALAN
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 8
- Class Number: 19973
- Instructor: YUKSEL, CEM
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 17
CS 5630 - 001 Vis for Data Science
CS 5630 - 001 Vis for Data Science
- Class Number: 13042
- Instructor: ROSEN, PAUL
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 2
CS 5710 - 001 Digital VLSI Design
CS 5710 - 001 Digital VLSI Design
- Class Number: 13443
- Instructor: GAILLARDON, PIERRE-EMMANUEL J
- Component: Lecture
- Type: In Person
- Units: 4.0
- Requisites: Yes
- Wait List: Yes
- Fees: $30.00
- Seats Available: 2
CS 5745 - 001 Test/Verif Digital Ckts
CS 5745 - 001 Test/Verif Digital Ckts
- Class Number: 20097
- Instructor: KALLA, PRIYANK
- Component: Activity
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 2
CS 5965 - 001 ADV OS Implementation
Learning how a modern operating system really works by reading, understanding, and modifying the source code for an OS kernel. Topics include scheduling, virtual memory, file systems, traps and interrupts, device drivers, concurrency control. Students will complete a number of programming assignments and also a more significant final project. Prerequisite: CS 5460
CS 5965 - 001 ADV OS Implementation
- Class Number: 20728
- Instructor: BURTSEV, ANTON
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 1
Learning how a modern operating system really works by reading, understanding, and modifying the source code for an OS kernel. Topics include scheduling, virtual memory, file systems, traps and interrupts, device drivers, concurrency control. Students will complete a number of programming assignments and also a more significant final project. Prerequisite: CS 5460
This course will provide a cross-disciplinary perspective on the design of state-of-the-art wireless networking systems. Topics range from the physical analog multipath propagation channel, to the antenna, to digital modulation and data rate, to multi-user multiplexing, to the higher networking layers. The 5G cellular networking protocols will be studied in depth. Spectrum sharing systems such as CBRS and RDZ will be introduced. Topics will be covered both via lecture and via experimentation on the Platform for Open Wireless Data-driven Experimental Research (POWDER), a large-scale software-defined radio testbed on the University of Utah campus. Students will work in interdisciplinary teams to set up, configure and execute modify wireless networking experiments.
- Class Number: 19872
- Instructor: PATWARI, NEAL
- Instructor: Van Der Merwe, Jacobus
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 8
This course will provide a cross-disciplinary perspective on the design of state-of-the-art wireless networking systems. Topics range from the physical analog multipath propagation channel, to the antenna, to digital modulation and data rate, to multi-user multiplexing, to the higher networking layers. The 5G cellular networking protocols will be studied in depth. Spectrum sharing systems such as CBRS and RDZ will be introduced. Topics will be covered both via lecture and via experimentation on the Platform for Open Wireless Data-driven Experimental Research (POWDER), a large-scale software-defined radio testbed on the University of Utah campus. Students will work in interdisciplinary teams to set up, configure and execute modify wireless networking experiments.
- Class Number: 9523
- Instructor: ALSALEEM, AHMAD
- Component: Lecture
- Type: In Person
- Units: 4.0
- Wait List: No
- Seats Available: 47
CS 6011 - 001 MSD: Comp Programming
CS 6011 - 001 MSD: Comp Programming
- Class Number: 9524
- Instructor: ALSALEEM, AHMAD
- Instructor: DE ST GERMAIN, JOHN
- Component: Lecture
- Type: In Person
- Units: 4.0
- Wait List: No
- Seats Available: 47
CS 6012 - 001 MSD: Data Struct Algo
CS 6012 - 001 MSD: Data Struct Algo
- Class Number: 9525
- Instructor: JONES, BEN
- Instructor: SHANKAR, VARUN
- Component: Lecture
- Type: In Person
- Units: 4.0
- Wait List: No
- Seats Available: 47
- Class Number: 10180
- Instructor: JONES, BEN
- Component: Lecture
- Type: In Person
- Units: 4.0
- Wait List: No
- Seats Available: 28
CS 6019 - 001 MSD Project
CS 6019 - 001 MSD Project
- Class Number: 10181
- Instructor: ALSALEEM, AHMAD
- Instructor: DE ST GERMAIN, JOHN
- Instructor: Flatt, Matthew
- Instructor: JONES, BEN
- Instructor: MAKAREM, NABIL
- Instructor: SHANKAR, VARUN
- Component: Lecture
- Type: In Person
- Units: 4.0
- Wait List: No
- Seats Available: 1
CS 6020 - 001 Early-Career Research
CS 6020 - 001 Early-Career Research
- Class Number: 4831
- Instructor: PHILLIPS, BEI WANG
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 7
CS 6140 - 001 Data Mining
CS 6140 - 001 Data Mining
- Class Number: 19878
- Instructor: PHILLIPS, JEFF
- Component: Lecture
- Type: In Person
- Units: 3.0
- Wait List: No
- Fees: $15.00
- Seats Available: 1
CS 6150 - 001 Graduate Algorithms
CS 6150 - 001 Graduate Algorithms
- Class Number: 5188
- Instructor: PASCUCCI, VALERIO
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 55
- Class Number: 16192
- Instructor: WANG, HAITAO
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 1
- Class Number: 11244
- Instructor: SADAYAPPAN, SADAY
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 0
- Class Number: 16213
- Instructor: BROWN, DANIEL
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: -2
CS 6310 - 001 Robotics I: Mechanics
CS 6310 - 001 Robotics I: Mechanics
- Class Number: 1354
- Instructor: ABBOTT, JAKE
- Instructor: Hallock, Laura
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 2
CS 6320 - 001 Computer Vision
The course is an introduction to fundamental problems of Computer Vision and main concepts and techniques to solve those. The course starts with the fundamentals of processing and transforming images, extracting features and descriptors, estimating camera pose, and stereo matching. After that, the course covers developing advanced algorithms and machine learning-based techniques, including an introduction to deep neural networks, to address high-level computer vision tasks like 3D reconstruction, detecting and segmenting objects in images, and classifying activities in videos.
CS 6320 - 001 Computer Vision
- Class Number: 14804
- Instructor: AL HALAH, ZIAD
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 1
The course is an introduction to fundamental problems of Computer Vision and main concepts and techniques to solve those. The course starts with the fundamentals of processing and transforming images, extracting features and descriptors, estimating camera pose, and stereo matching. After that, the course covers developing advanced algorithms and machine learning-based techniques, including an introduction to deep neural networks, to address high-level computer vision tasks like 3D reconstruction, detecting and segmenting objects in images, and classifying activities in videos.
CS 6340 - 001 Natural Language
CS 6340 - 001 Natural Language
- Class Number: 16212
- Instructor: MARASOVIC, ANA
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 7
CS 6350 - 001 Machine Learning
CS 6350 - 001 Machine Learning
- Class Number: 8044
- Instructor: Abdelrahman, Samir
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 50
CS 6353 - 001 Deep Learning
CS 6353 - 001 Deep Learning
- Class Number: 13041
- Instructor: KUNTZ, ALAN
- Component: Lecture
- Type: In Person
- Units: 3.0
- Wait List: Yes
- Seats Available: 1
CS 6450 - 001 Distributed Systems
CS 6450 - 001 Distributed Systems
- Class Number: 13028
- Instructor: Stutsman, Ryan
- Component: Lecture
- Type: In Person
- Units: 3.0
- Wait List: Yes
- Seats Available: 2
CS 6465 - 001 Adv OS Implementation
CS 6465 - 001 Adv OS Implementation
- Class Number: 14295
- Instructor: BURTSEV, ANTON
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 6
CS 6520 - 001 Programming Language
CS 6520 - 001 Programming Language
- Class Number: 14296
- Instructor: Flatt, Matthew
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: Yes
- Seats Available: 4
CS 6530 - 001 Adv. Database Systems
This graduate-level course covers the design and implementation of relational database system kernels and advanced data management techniques. Topics include relational models, SQL, indexing (in-memory, learned), storage (row vs. column stores), and query processing. It also explores AI-driven database optimization, automatic database tuning (self-driving databases), transactions, concurrency control, logging, and recovery. The course discusses modern application of AI in DBMS, focusing on self-optimization, security, NLP for database queries, and human-centric data management. Additional topics include differential privacy, probabilistic databases, data provenance, retrieval-augmented generation (RAG), vector databases, data lakes, and query result diversification. Ethical considerations in data management are also discussed. Students will engage in hands-on projects, implementing core database modules and exploring modern large-scale data management techniques. Please note that this is NOT a course on building database applications and introduction to database systems, i.e., we will not cover in this course how to build a database application (e.g., ER design, schema refinement, functional dependency, and database application development). Such topics will be covered in CS 5530. Also, this course will have almost no overlap with the special topics course Human-centered Data Management (CS 3960/6959).
CS 6530 - 001 Adv. Database Systems
- Class Number: 13626
- Instructor: FARIHA, ANNA
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 24
This graduate-level course covers the design and implementation of relational database system kernels and advanced data management techniques. Topics include relational models, SQL, indexing (in-memory, learned), storage (row vs. column stores), and query processing. It also explores AI-driven database optimization, automatic database tuning (self-driving databases), transactions, concurrency control, logging, and recovery. The course discusses modern application of AI in DBMS, focusing on self-optimization, security, NLP for database queries, and human-centric data management. Additional topics include differential privacy, probabilistic databases, data provenance, retrieval-augmented generation (RAG), vector databases, data lakes, and query result diversification. Ethical considerations in data management are also discussed. Students will engage in hands-on projects, implementing core database modules and exploring modern large-scale data management techniques. Please note that this is NOT a course on building database applications and introduction to database systems, i.e., we will not cover in this course how to build a database application (e.g., ER design, schema refinement, functional dependency, and database application development). Such topics will be covered in CS 5530. Also, this course will have almost no overlap with the special topics course Human-centered Data Management (CS 3960/6959).
- Class Number: 11908
- Instructor: PATIL, SAMEER
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 3
- Class Number: 19884
- Instructor: YUKSEL, CEM
- Component: Lecture
- Type: In Person
- Units: 3.0
- Wait List: No
- Seats Available: 9
CS 6630 - 001 Vis for Data Science
CS 6630 - 001 Vis for Data Science
- Class Number: 13044
- Instructor: ROSEN, PAUL
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 62
CS 6640 - 001 Image Processing
CS 6640 - 001 Image Processing
- Class Number: 5815
- Instructor: HENDERSON, THOMAS
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 15
CS 6710 - 001 Digital VLSI Design
CS 6710 - 001 Digital VLSI Design
- Class Number: 13442
- Instructor: GAILLARDON, PIERRE-EMMANUEL J
- Component: Lecture
- Type: In Person
- Units: 4.0
- Requisites: Yes
- Wait List: No
- Fees: $30.00
- Seats Available: 1
CS 6745 - 001 Test/Verif Digital Ckts
CS 6745 - 001 Test/Verif Digital Ckts
- Class Number: 20098
- Instructor: KALLA, PRIYANK
- Component: Activity
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 2
CS 6800 - 001 MSD Capstone Internship
CS 6800 - 001 MSD Capstone Internship
- Class Number: 11464
- Instructor: ALSALEEM, AHMAD
- Instructor: DE ST GERMAIN, JOHN
- Instructor: Flatt, Matthew
- Instructor: JONES, BEN
- Instructor: MAKAREM, NABIL
- Instructor: SHANKAR, VARUN
- Component: Practicum
- Type: In Person
- Units: 4.0
- Wait List: No
- Seats Available: 2
CS 6810 - 001 Computer Architecture
CS 6810 - 001 Computer Architecture
- Class Number: 9859
- Instructor: NAGARAJAN, VIJAYANAND
- Component: Lecture
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 47
CS 6957 - 001 Secure Computing Projects
In this class, students will work in small teams on capstone-style projects in secure computing proposed by industry/federal partners. Each team will develop solutions to a secure computing problem under the supervision of a Kahlert School of Computing faculty member. The grade in the course will be decided based on the quality of design, implementation, and evaluation of the solution. This course may be used to replace one of the five required courses or may be counted towards the elective requirements of MS/PhD in Computing in the Secure Computing track. The list of projects is as follows: (i) Defense Against AI Vulnerabilities – discover new vulnerabilities in virtual assistants, exploit these, and determine how they can be prevented. [proposed by National Security Agency] (ii) Breaking ciphered language - develop (or build upon) an LLM that can detect when ciphered language is being used and provide possible translations. [proposed by National Security Agency] (iii) Applied Data Security – allowing data-driven innovation while protecting against data breaches considering policy, location, data sensitivity, and data instances. [proposed by i4 Ops] Pre-requisites: (i) At least one security course at the University of Utah in the Kahlert School of Computing from the following list: Computer Security, Software and System Security, Network Security, Security Operations, Applied Software Security Testing, Modern Cryptography and Its Applications, Cyber-physical Systems, and IoT Security, and (ii) a basic understanding of machine learning concepts is expected.
CS 6957 - 001 Secure Computing Projects
- Class Number: 21793
- Instructor: KASERA, SNEHA K
- Instructor: RICCI, ROBERT P
- Instructor: SONI, PRATIK
- Instructor: TAO, GUANHONG
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Wait List: No
- Seats Available: 5
In this class, students will work in small teams on capstone-style projects in secure computing proposed by industry/federal partners. Each team will develop solutions to a secure computing problem under the supervision of a Kahlert School of Computing faculty member. The grade in the course will be decided based on the quality of design, implementation, and evaluation of the solution. This course may be used to replace one of the five required courses or may be counted towards the elective requirements of MS/PhD in Computing in the Secure Computing track. The list of projects is as follows: (i) Defense Against AI Vulnerabilities – discover new vulnerabilities in virtual assistants, exploit these, and determine how they can be prevented. [proposed by National Security Agency] (ii) Breaking ciphered language - develop (or build upon) an LLM that can detect when ciphered language is being used and provide possible translations. [proposed by National Security Agency] (iii) Applied Data Security – allowing data-driven innovation while protecting against data breaches considering policy, location, data sensitivity, and data instances. [proposed by i4 Ops] Pre-requisites: (i) At least one security course at the University of Utah in the Kahlert School of Computing from the following list: Computer Security, Software and System Security, Network Security, Security Operations, Applied Software Security Testing, Modern Cryptography and Its Applications, Cyber-physical Systems, and IoT Security, and (ii) a basic understanding of machine learning concepts is expected.
Machine learning (ML) has been widely integrated into various real-world systems, such as facial recognition, object detection, and autonomous driving. However, the security and safety of these ML-based systems are still of great concern, as adversaries can easily manipulate their behaviors. This course will provide an introduction to the intersection of two ubiquitous concepts: security and machine learning. It will cover key learning algorithms and techniques, the security problems of modern ML models (i.e., adversarial attacks and backdoor threats), practical defense solutions against various attacks, and more.
- Class Number: 15081
- Instructor: TAO, GUANHONG
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Wait List: No
- Seats Available: -6
Machine learning (ML) has been widely integrated into various real-world systems, such as facial recognition, object detection, and autonomous driving. However, the security and safety of these ML-based systems are still of great concern, as adversaries can easily manipulate their behaviors. This course will provide an introduction to the intersection of two ubiquitous concepts: security and machine learning. It will cover key learning algorithms and techniques, the security problems of modern ML models (i.e., adversarial attacks and backdoor threats), practical defense solutions against various attacks, and more.
A graduate course for instruction and practice in teaching computer science at a university level. Enrollment is by permission code and limited. Students must have completed a bachelor’s degree and be pursuing a graduate degree in Computing or Computer Science. Prior experience as a TA is preferred.
- Class Number: 19885
- Instructor: PARKER, ERIN
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 1
A graduate course for instruction and practice in teaching computer science at a university level. Enrollment is by permission code and limited. Students must have completed a bachelor’s degree and be pursuing a graduate degree in Computing or Computer Science. Prior experience as a TA is preferred.
CS 6962 - 001 Sustainable Computing
We are witnessing exponential growth in computing hardware along with resource-intensive applications such as HPC and AI/ML workloads. This is increasing the environmental footprint of computing, risking global sustainability. In this course, we will first understand how computing affects various sustainability metrics like carbon footprint, water footprint, impact on public health and biodiversity. Next, we will discuss strategies for designing hardware and scheduling algorithms for data centers and other large scale computing platforms to reduce computing's environmental footprint. We will focus on developing energy-efficient software and making existing LLMs, HPC, and AI applications sustainable. Finally, we will look into emerging frontiers in sustainable computing, including space-based and quantum systems, as long-term solutions. This course assumes a background in computer systems and architecture.
CS 6962 - 001 Sustainable Computing
- Class Number: 19886
- Instructor: Basu Roy, Rohan
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 2
We are witnessing exponential growth in computing hardware along with resource-intensive applications such as HPC and AI/ML workloads. This is increasing the environmental footprint of computing, risking global sustainability. In this course, we will first understand how computing affects various sustainability metrics like carbon footprint, water footprint, impact on public health and biodiversity. Next, we will discuss strategies for designing hardware and scheduling algorithms for data centers and other large scale computing platforms to reduce computing's environmental footprint. We will focus on developing energy-efficient software and making existing LLMs, HPC, and AI applications sustainable. Finally, we will look into emerging frontiers in sustainable computing, including space-based and quantum systems, as long-term solutions. This course assumes a background in computer systems and architecture.
- Class Number: 21599
- Instructor: Hermans, Tucker
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 6
- Class Number: 20091
- Instructor: Srikumar, Vivek
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 10
This course will provide a cross-disciplinary perspective on the design of state-of-the-art wireless networking systems. Topics range from the physical analog multipath propagation channel, to the antenna, to digital modulation and data rate, to multi-user multiplexing, to the higher networking layers. The 5G cellular networking protocols will be studied in depth. Spectrum sharing systems such as CBRS and RDZ will be introduced. Topics will be covered both via lecture and via experimentation on the Platform for Open Wireless Data-driven Experimental Research (POWDER), a large-scale software-defined radio testbed on the University of Utah campus. Students will work in interdisciplinary teams to set up, configure and execute modify wireless networking experiments.
- Class Number: 19873
- Instructor: PATWARI, NEAL
- Instructor: Van Der Merwe, Jacobus
- Component: Special Topics
- Type: In Person
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 4
This course will provide a cross-disciplinary perspective on the design of state-of-the-art wireless networking systems. Topics range from the physical analog multipath propagation channel, to the antenna, to digital modulation and data rate, to multi-user multiplexing, to the higher networking layers. The 5G cellular networking protocols will be studied in depth. Spectrum sharing systems such as CBRS and RDZ will be introduced. Topics will be covered both via lecture and via experimentation on the Platform for Open Wireless Data-driven Experimental Research (POWDER), a large-scale software-defined radio testbed on the University of Utah campus. Students will work in interdisciplinary teams to set up, configure and execute modify wireless networking experiments.
CS 6968 - 090 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 - 090 Bus Asp of Sec & Privacy
- Class Number: 16890
- Instructor: MOHR, HENNER
- Component: Special Topics
- Type: Online
- Units: 3.0
- Requisites: Yes
- Wait List: No
- Seats Available: 8
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: 4336
- Instructor: BALASUBRAMONIAN, RAJEEV
- Component: Seminar
- Type: In Person
- Units: 1.0
- Requisites: Yes
- Wait List: No
- Seats Available: 6
Please contact the graduate advisors to obtain a permission code.
CS 7933 - 002 Graphics Seminar
CS 7933 - 002 Graphics Seminar
- Class Number: 13312
- Instructor: YUKSEL, CEM
- Component: Seminar
- Type: In Person
- Units: 1.0
- Requisites: Yes
- Wait List: No
- Seats Available: 7
- Class Number: 4598
- Instructor: EIDE, ERIC N
- Component: Seminar
- Type: In Person
- Units: 1.0
- Requisites: Yes
- Wait List: No
- Seats Available: 16
- Class Number: 15581
- Instructor: SADAYAPPAN, SADAY
- Component: Seminar
- Type: In Person
- Units: 1.0
- Requisites: Yes
- Wait List: No
- Seats Available: 39
- Class Number: 12697
- 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: 5686
- Instructor: TASDIZEN, TOLGA
- Component: Seminar
- Type: In Person
- Units: 1.0
- Requisites: Yes
- Wait List: No
- Seats Available: 23
CS 7939 - 001 Robotics
CS 7939 - 001 Robotics
- Class Number: 4784
- Instructor: Hallock, Laura
- Component: Seminar
- Type: In Person
- Units: 1.0
- Requisites: Yes
- Wait List: No
- Seats Available: 10
- Class Number: 19883
- Instructor: BROWN, NOELLE
- Component: Seminar
- Type: In Person
- Units: 1.0
- Requisites: Yes
- Wait List: No
- Seats Available: 7
CS 7941 - 002 Data Science Seminar
CS 7941 - 002 Data Science Seminar
- Class Number: 16895
- Instructor: AL HALAH, ZIAD
- Instructor: REZIG, EL KINDI
- Component: Seminar
- Type: In Person
- Units: 1.0
- Requisites: Yes
- Wait List: No
- Seats Available: 41
CS 7942 - 001 Visualization Seminar
This class meets in WEB 3780.
CS 7942 - 001 Visualization Seminar
- Class Number: 12803
- Instructor: MCNUTT, ANDREW
- Component: Seminar
- Type: In Person
- Units: 1.0
- Requisites: Yes
- Wait List: No
- Seats Available: 14
This class meets in WEB 3780.