Departmental Advisors
Undergraduate Studies Office
Vicki Jackson
MEB 3190
Graduate Studies Office
Jill Wilson
MEB 3190
Departmental Notes

For course descriptions and pre-requisite information click on the subject column next to the appropriate catalog number.

THIS DEPARTMENT ENFORCES UNDERGRADUATE PREREQUISITES. Please note that the registration system may not factor in transfer work when determining if prerequisites have been met. If you are unable to register for a course and think you have met the prerequisite(s), please contact an advisor from this department to inquire about obtaining a permission code. You may be administratively dropped from a course if the prerequisite has not been met.

CS 1030 - 001 Foundations of CS


Sections 002-004 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 1030 - 001 Foundations of CS

  • Class Number:
  • Instructor: BROWN, C. S. - View Feedback
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 58

Sections 002-004 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 1030 - 002 Foundations of CS

CS 1030 - 002 Foundations of CS

  • Class Number: 16100
  • Instructor: BROWN, C. S. - View Feedback
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 22

CS 1030 - 003 Foundations of CS

CS 1030 - 003 Foundations of CS

  • Class Number: 16101
  • Instructor: BROWN, C. S. - View Feedback
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 20

CS 1030 - 004 Foundations of CS

CS 1030 - 004 Foundations of CS

  • Class Number: 16102
  • Instructor: BROWN, C. S. - View Feedback
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 16

CS 1400 - 001 Intro Comp Programming

CS 1400 - 001 Intro Comp Programming

  • Class Number:
  • Instructor: JOHNSON, D. E.
  • Component: Lecture
  • Type: In Person
  • Units: 4.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 106

CS 1400 - 002 Intro Comp Programming

CS 1400 - 002 Intro Comp Programming

  • Class Number: 18247
  • Instructor: JOHNSON, D. E.
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 18

CS 1400 - 003 Intro Comp Programming

CS 1400 - 003 Intro Comp Programming

  • Class Number: 17164
  • Instructor: JOHNSON, D. E.
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 15

CS 1400 - 004 Intro Comp Programming

CS 1400 - 004 Intro Comp Programming

  • Class Number: 17165
  • Instructor: JOHNSON, D. E.
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 15

CS 1400 - 005 Intro Comp Programming

CS 1400 - 005 Intro Comp Programming

  • Class Number: 17166
  • Instructor: JOHNSON, D. E.
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 10

CS 1400 - 006 Intro Comp Programming

CS 1400 - 006 Intro Comp Programming

  • Class Number: 18189
  • Instructor: JOHNSON, D. E.
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 8

CS 1420 - 001 Accel Obj-Orient Prog

CS 1420 - 001 Accel Obj-Orient Prog

  • Class Number:
  • Instructor: JENSEN, P. A.
  • Component: Lecture
  • Type: In Person
  • Units: 4.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 58

CS 1420 - 002 Accel Obj-Orient Prog

CS 1420 - 002 Accel Obj-Orient Prog

  • Class Number: 18252
  • Instructor: JENSEN, P. A.
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 8

CS 1420 - 003 Accel Obj-Orient Prog

CS 1420 - 003 Accel Obj-Orient Prog

  • Class Number: 17168
  • Instructor: JENSEN, P. A.
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 8

CS 1420 - 004 Accel Obj-Orient Prog

CS 1420 - 004 Accel Obj-Orient Prog

  • Class Number: 17169
  • Instructor: JENSEN, P. A.
  • Component: Laboratory
  • Type: Hybrid & IVC
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 2

CS 1420 - 005 Accel Obj-Orient Prog

CS 1420 - 005 Accel Obj-Orient Prog

  • Class Number: 17170
  • Instructor: JENSEN, P. A.
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 0

CS 1420 - 006 Accel Obj-Orient Prog

CS 1420 - 006 Accel Obj-Orient Prog

  • Class Number: 18204
  • Instructor: JENSEN, P. A.
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 0

CS 1960 - 001 Strategies for Computer Scienc

CS 1960 - 001 Strategies for Computer Scienc

  • Class Number: 14373
  • Instructor: JOHNSON, D. E.
  • Component: Lecture
  • Type: In Person
  • Units: 1.0
  • Wait List: No
  • Seats Available: 18

CS 2100 - 001 Discrete Structures


Sections 002-005 belong to this lecture. This course requires registration for a lab and/or discussion section. Students will be automatically registered for this lecture section when registering for the pertinent lab and/or discussion section. Lectures for this course will be delivered online.

CS 2100 - 001 Discrete Structures

  • Class Number:
  • Instructor: PARKER, D. - View Feedback
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: Yes
  • Seats Available: 17

Sections 002-005 belong to this lecture. This course requires registration for a lab and/or discussion section. Students will be automatically registered for this lecture section when registering for the pertinent lab and/or discussion section. Lectures for this course will be delivered online.

CS 2100 - 002 Discrete Structures

CS 2100 - 002 Discrete Structures

  • Class Number: 17171
  • Instructor: PARKER, D. - View Feedback
  • Component: Discussion
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 31

CS 2100 - 003 Discrete Structures

CS 2100 - 003 Discrete Structures

  • Class Number: 16063
  • Instructor: PARKER, D. - View Feedback
  • Component: Discussion
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 0

CS 2100 - 004 Discrete Structures

CS 2100 - 004 Discrete Structures

  • Class Number: 16062
  • Instructor: PARKER, D. - View Feedback
  • Component: Discussion
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: Yes
  • Seats Available: 17

CS 2100 - 005 Discrete Structures

CS 2100 - 005 Discrete Structures

  • Class Number: 17172
  • Instructor: PARKER, D. - View Feedback
  • Component: Discussion
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 13

CS 2420 - 001 Intro Alg & Data Struct


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

CS 2420 - 001 Intro Alg & Data Struct

  • Class Number:
  • Instructor: KOPTA, D. M.
  • Component: Lecture
  • Type: In Person
  • Units: 4.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 137

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

CS 2420 - 002 Intro Alg & Data Struct

CS 2420 - 002 Intro Alg & Data Struct

  • Class Number: 16068
  • Instructor: KOPTA, D. M.
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 4

CS 2420 - 003 Intro Alg & Data Struct

CS 2420 - 003 Intro Alg & Data Struct

  • Class Number: 16069
  • Instructor: KOPTA, D. M.
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 13

CS 2420 - 004 Intro Alg & Data Struct

CS 2420 - 004 Intro Alg & Data Struct

  • Class Number: 16070
  • Instructor: KOPTA, D. M.
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 4

CS 2420 - 005 Intro Alg & Data Struct

CS 2420 - 005 Intro Alg & Data Struct

  • Class Number: 16071
  • Instructor: KOPTA, D. M.
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 10

CS 2420 - 006 Intro Alg & Data Struct

CS 2420 - 006 Intro Alg & Data Struct

  • Class Number: 18191
  • Instructor: KOPTA, D. M.
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 14

CS 2420 - 007 Intro Alg & Data Struct

CS 2420 - 007 Intro Alg & Data Struct

  • Class Number: 18192
  • Instructor: KOPTA, D. M.
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 16

CS 2420 - 008 Intro Alg & Data Struct

CS 2420 - 008 Intro Alg & Data Struct

  • Class Number: 18193
  • Instructor: KOPTA, D. M.
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 4

CS 2420 - 009 Intro Alg & Data Struct

CS 2420 - 009 Intro Alg & Data Struct

  • Class Number: 18195
  • Instructor: KOPTA, D. M.
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 6

CS 3020 - 001 Research Forum

CS 3020 - 001 Research Forum

  • Class Number: 7883
  • Instructor: ELHABIAN, S. Y. - View Feedback
  • Component: Seminar
  • Type: In Person
  • Units: 1.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 47

CS 3100 - 001 Models Of Computation

CS 3100 - 001 Models Of Computation

  • Class Number: 4760
  • Instructor: GOPALAKRISHNAN, G. - View Feedback
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 88

CS 3130 - 001 Eng Prob Stats

CS 3130 - 001 Eng Prob Stats

  • Class Number: 7225
  • Instructor: COTTER, N. E. - View Feedback
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: Yes
  • Seats Available: 75

CS 3130 - 003 Eng Prob Stats

CS 3130 - 003 Eng Prob Stats

  • Class Number: 18609
  • Instructor: COTTER, N. E. - View Feedback
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 1

CS 3190 - 001 Found. of Data Analysis

CS 3190 - 001 Found. of Data Analysis

  • Class Number: 12388
  • Instructor: PHILLIPS, J. - View Feedback
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 1

CS 3390 - 001 Ethics in Data Science

CS 3390 - 001 Ethics in Data Science

  • Class Number: 17173
  • Instructor: VENKATASUBRAMANIAN, S.
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 14

CS 3500 - 001 Software Practice


Sections 002-004 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: KOPTA, D. M. - View Feedback
  • Component: Lecture
  • Type: In Person
  • Units: 4.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 150

Sections 002-004 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: 16075
  • Instructor: KOPTA, D. M. - View Feedback
  • Component: Discussion
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 21

CS 3500 - 003 Software Practice

CS 3500 - 003 Software Practice

  • Class Number: 16076
  • Instructor: KOPTA, D. M. - View Feedback
  • Component: Discussion
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 19

CS 3500 - 004 Software Practice

CS 3500 - 004 Software Practice

  • Class Number: 16077
  • Instructor: KOPTA, D. M. - View Feedback
  • Component: Discussion
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 13

CS 3500 - 005 Software Practice

CS 3500 - 005 Software Practice

  • Class Number: 18196
  • Instructor: KOPTA, D. M. - View Feedback
  • Component: Discussion
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 16

CS 3500 - 006 Software Practice

CS 3500 - 006 Software Practice

  • Class Number: 18197
  • Instructor: KOPTA, D. M. - View Feedback
  • Component: Discussion
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 19

CS 3500 - 007 Software Practice

CS 3500 - 007 Software Practice

  • Class Number: 18198
  • Instructor: KOPTA, D. M. - View Feedback
  • Component: Discussion
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 10

CS 3500 - 008 Software Practice

CS 3500 - 008 Software Practice

  • Class Number: 18199
  • Instructor: KOPTA, D. M. - View Feedback
  • Component: Discussion
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 19

CS 3500 - 009 Software Practice

CS 3500 - 009 Software Practice

  • Class Number: 18200
  • Instructor: KOPTA, D. M. - View Feedback
  • Component: Discussion
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 18

CS 3505 - 001 Software Practice II


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

CS 3505 - 001 Software Practice II

  • Class Number:
  • Instructor: JOHNSON, D. E. - View Feedback
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 39

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

CS 3505 - 002 Software Practice II

CS 3505 - 002 Software Practice II

  • Class Number: 9756
  • Instructor: JOHNSON, D. E. - View Feedback
  • Component: Discussion
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 14

CS 3505 - 003 Software Practice II

CS 3505 - 003 Software Practice II

  • Class Number: 9757
  • Instructor: JOHNSON, D. E. - View Feedback
  • 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: 9758
  • Instructor: JOHNSON, D. E. - View Feedback
  • 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: 10611
  • Instructor: JOHNSON, D. E. - View Feedback
  • Component: Discussion
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 13

CS 3505 - 006 Software Practice II

CS 3505 - 006 Software Practice II

  • Class Number: 18224
  • Instructor: JOHNSON, D. E. - View Feedback
  • Component: Discussion
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 12

CS 3505 - 007 Software Practice II

CS 3505 - 007 Software Practice II

  • Class Number: 18225
  • Instructor: JOHNSON, D. E. - View Feedback
  • Component: Discussion
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 0

CS 3505 - 008 Software Practice II

CS 3505 - 008 Software Practice II

  • Class Number: 18226
  • Instructor: JOHNSON, D. E. - View Feedback
  • Component: Discussion
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 0

CS 3520 - 001 Programming Languages

CS 3520 - 001 Programming Languages

  • Class Number: 9754
  • Instructor: FLATT, M. - View Feedback
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: Yes
  • Seats Available: 4

CS 3540 - 001 Human/Computer Interact

CS 3540 - 001 Human/Computer Interact

  • Class Number: 10594
  • Instructor: WIESE, E. S. - View Feedback
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 1

CS 3700 - 001 Digital System Design

CS 3700 - 001 Digital System Design

  • Class Number:
  • Instructor: YU, C.
  • Component: Lecture
  • Type: In Person
  • Units: 4.0
  • Requisites: Yes
  • Wait List: No
  • Fees: $60.00
  • Seats Available: 13

CS 3700 - 002 Digital System Design

CS 3700 - 002 Digital System Design

  • Class Number: 14914
  • Instructor: YU, C.
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 4

CS 3700 - 003 Digital System Design

CS 3700 - 003 Digital System Design

  • Class Number: 19019
  • Instructor: YU, C.
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 3

CS 3700 - 004 Digital System Design

CS 3700 - 004 Digital System Design

  • Class Number: 19020
  • Instructor: YU, C.
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 3

CS 3700 - 005 Digital System Design

CS 3700 - 005 Digital System Design

  • Class Number: 19021
  • Instructor: YU, C.
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 3

CS 3700 - 006 Digital System Design

CS 3700 - 006 Digital System Design

  • Class Number:
  • Instructor: YU, C.
  • Component: Lecture
  • Type: Online
  • Units: 4.0
  • Requisites: Yes
  • Wait List: No
  • Fees: $60.00
  • Seats Available: 10

CS 3700 - 007 Digital System Design

CS 3700 - 007 Digital System Design

  • Class Number: 19045
  • Instructor: YU, C.
  • Component: Laboratory
  • Type: Online
  • Units: --
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 10

CS 3710 - 001 Computer Design Lab


Laboratories scheduled during first week of classes.

CS 3710 - 001 Computer Design Lab

  • Class Number: 3626
  • Instructor: BRUNVAND, E. L.
  • Component: Laboratory
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Fees: $60.00
  • Seats Available: 16

Laboratories scheduled during first week of classes.

CS 3810 - 001 Computer Organization

CS 3810 - 001 Computer Organization

  • Class Number: 16080
  • Instructor: JENSEN, P. E.
  • Component: Lecture
  • Type: In Person
  • Units: 4.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 88

CS 3991 - 001 CE Junior Seminar

CS 3991 - 001 CE Junior Seminar

  • Class Number: 4578
  • Component: Seminar
  • Type: IVC
  • Units: 1.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 37

CS 4000 - 001 Senior Capstone Design

CS 4000 - 001 Senior Capstone Design

CS 4010 - 001 CS Internship


Contact instructor for permission.

CS 4010 - 001 CS Internship

  • Class Number: 7737
  • Instructor: DE ST GERMAIN, H. J. - View Feedback
  • Component: Field Work
  • Type: In Person
  • Units: 1.0 - 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 15

Contact instructor for permission.

CS 4150 - 001 Algorithms

CS 4150 - 001 Algorithms

  • Class Number: 10457
  • Instructor: MARTIN, T. B.
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 12

CS 4230 - 001 Parallel Programming

CS 4230 - 001 Parallel Programming

  • Class Number: 12385
  • Instructor: SADAYAPPAN, P. - View Feedback
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 44

CS 4400 - 001 Computer Systems


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

CS 4400 - 001 Computer Systems

  • Class Number:
  • Instructor: ZHANG, M. - View Feedback
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: Yes
  • Seats Available: 24

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

CS 4400 - 002 Computer Systems

CS 4400 - 002 Computer Systems

  • Class Number: 10595
  • Instructor: ZHANG, M. - View Feedback
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: Yes
  • Seats Available: 9

CS 4400 - 003 Computer Systems

CS 4400 - 003 Computer Systems

  • Class Number: 10596
  • Instructor: ZHANG, M. - View Feedback
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: Yes
  • Seats Available: 0

CS 4400 - 004 Computer Systems

CS 4400 - 004 Computer Systems

  • Class Number: 14907
  • Instructor: ZHANG, M. - View Feedback
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: Yes
  • Seats Available: 4

CS 4400 - 005 Computer Systems

CS 4400 - 005 Computer Systems

  • Class Number: 18227
  • Instructor: ZHANG, M. - View Feedback
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: Yes
  • Seats Available: 0

CS 4400 - 006 Computer Systems

CS 4400 - 006 Computer Systems

  • Class Number: 18908
  • Instructor: ZHANG, M. - View Feedback
  • Component: Laboratory
  • Type: In Person
  • Units: --
  • Requisites: Yes
  • Wait List: Yes
  • Seats Available: 11

CS 4500 - 001 Senior Capstone Project

CS 4500 - 001 Senior Capstone Project

  • Class Number: 11393
  • Instructor: BROWN, C. S.
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 13

CS 4540 - 001 Web Software Architect.

CS 4540 - 001 Web Software Architect.

  • Class Number: 11392
  • Instructor: DE ST GERMAIN, H. J. - View Feedback
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 38

CS 4600 - 001 Computer Graphics

CS 4600 - 001 Computer Graphics

  • Class Number: 9271
  • Instructor: YUKSEL, C. - View Feedback
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: Yes
  • Seats Available: 3

CS 4640 - 001 Image Processing Basics

CS 4640 - 001 Image Processing Basics

  • Class Number: 17174
  • Instructor: HENDERSON, T. C. - View Feedback
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 0

CS 4710 - 001 Comptr Eng Sr Project

CS 4710 - 001 Comptr Eng Sr Project

  • Class Number: 3949
  • Instructor: HUANG, T.
  • Component: Special Projects
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 21

CS 4960 - 001 Intro to Info Retrieval

CS 4960 - 001 Intro to Info Retrieval

  • Class Number: 15266
  • Instructor: AI, Q.
  • Component: Special Topics
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 23

CS 4962 - 001 Web Browser Internals


How does a web browser work? This class covers all the major components of a modern web browser, including networking, graphics, layout, styling, and JavaScript execution. Students will write their own web browser and work on extensions to it, implementing features like emoji support, scrollbars, text editing, and HTML canvas. Class follows a textbook and is taught in a "flipped" format, allowing a lot of student interaction.

CS 4962 - 001 Web Browser Internals

  • Class Number: 17175
  • Instructor: PANCHEKHA, P.
  • Component: Special Topics
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: Yes
  • Seats Available: 0

How does a web browser work? This class covers all the major components of a modern web browser, including networking, graphics, layout, styling, and JavaScript execution. Students will write their own web browser and work on extensions to it, implementing features like emoji support, scrollbars, text editing, and HTML canvas. Class follows a textbook and is taught in a "flipped" format, allowing a lot of student interaction.

CS 4991 - 001 CE Senior Thesis I

CS 4991 - 001 CE Senior Thesis I

  • Class Number: 4579
  • Instructor: KALLA, P.
  • Component: Special Projects
  • Type: In Person
  • Units: 2.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 14

CS 4998 - 004 Honors Project Thesis

CS 4998 - 004 Honors Project Thesis

  • Class Number: 18702
  • Instructor: HENDERSON, T. C.
  • Component: Independent Study
  • Type: In Person
  • Units: 1.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 5

CS 4998 - 005 Honors Project Thesis

CS 4998 - 005 Honors Project Thesis

  • Class Number: 18703
  • Instructor: BROWN, C. S.
  • Component: Independent Study
  • Type: In Person
  • Units: 1.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 3

CS 5150 - 001 Advanced Algorithms

CS 5150 - 001 Advanced Algorithms

  • Class Number: 10452
  • Instructor: BHASKARA, A. - View Feedback
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 14

CS 5310 - 001 Robotics

CS 5310 - 001 Robotics

  • Class Number: 1096
  • Instructor: HOLLERBACH, J. M. - View Feedback
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 16

CS 5340 - 001 Natural Language

CS 5340 - 001 Natural Language

  • Class Number: 9750
  • Instructor: RILOFF, E. M. - View Feedback
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 35

CS 5350 - 001 Machine Learning

CS 5350 - 001 Machine Learning

  • Class Number: 9752
  • Instructor: ZHE, S. - View Feedback
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: Yes
  • Seats Available: 0

CS 5360 - 001 Virtual Reality

CS 5360 - 001 Virtual Reality

  • Class Number: 15425
  • Instructor: CARDONA-RIVERA, R. - View Feedback
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: Yes
  • Seats Available: 5

CS 5710 - 002 Digital VLSI Design


The course fee covers all required textbooks and course materials at a reduced cost. Students may request to opt out here: https://portal.verba.io/utah/login

CS 5710 - 002 Digital VLSI Design

  • Class Number: 12815
  • Instructor: GAILLARDON, P. J.
  • Component: Lecture
  • Type: IVC
  • Units: 4.0
  • Requisites: Yes
  • Wait List: No
  • Fees: $67.65
  • Seats Available: 0

The course fee covers all required textbooks and course materials at a reduced cost. Students may request to opt out here: https://portal.verba.io/utah/login

CS 5745 - 001 Test/Verif Digital Ckts

CS 5745 - 001 Test/Verif Digital Ckts

  • Class Number: 18556
  • Instructor: KALLA, P.
  • Component: Activity
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 2

CS 5955 - 002 Deep Learning


This class will teach key concepts of deep (machine) learning with an emphasis on convolutional neural networks.

CS 5955 - 002 Deep Learning

  • Class Number: 12636
  • Instructor: EARNSHAW, B. A. - View Feedback
  • Component: Special Topics
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: Yes
  • Seats Available: 1

This class will teach key concepts of deep (machine) learning with an emphasis on convolutional neural networks.

CS 5956 - 002 Image Processing

CS 5956 - 002 Image Processing

  • Class Number: 15313
  • Instructor: WHITAKER, R. T.
  • Component: Special Topics
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 16

CS 5957 - 001 Social Computing

CS 5957 - 001 Social Computing

  • Class Number: 18422
  • Instructor: KOGAN, M.
  • Component: Special Topics
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 19

CS 5958 - 001 Special Topics


Prerequisites: CS 4150 To register for this class, please request a permission code: https://handbook.cs.utah.edu/2021-2022/Academics/permission_codes.php This research-oriented course will introduce the fundamentals of parameterized complexity and algorithms (including kernelization, branching, dynamic programming, intractibility, and approximation), along with a selection of advanced techniques used in the recent literature. Students will also gain hands-on experience in theoretical computer science research from literature review and problem selection through active research, collaboration, and presentation of results and future directions.

CS 5958 - 001 Special Topics

  • Class Number: 18621
  • Instructor: SULLIVAN, B.
  • Component: Special Topics
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 8

Prerequisites: CS 4150 To register for this class, please request a permission code: https://handbook.cs.utah.edu/2021-2022/Academics/permission_codes.php This research-oriented course will introduce the fundamentals of parameterized complexity and algorithms (including kernelization, branching, dynamic programming, intractibility, and approximation), along with a selection of advanced techniques used in the recent literature. Students will also gain hands-on experience in theoretical computer science research from literature review and problem selection through active research, collaboration, and presentation of results and future directions.

CS 5965 - 001 ADV OS Implementation


Prerequisite: CS 5460 and full major status in Computer Science. Please fill out the permission code form at https://www.cs.utah.edu/permcodes/ to register for this class.

CS 5965 - 001 ADV OS Implementation

  • Class Number: 18594
  • Instructor: REGEHR, J.
  • Component: Special Topics
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 9

Prerequisite: CS 5460 and full major status in Computer Science. Please fill out the permission code form at https://www.cs.utah.edu/permcodes/ to register for this class.

CS 6020 - 001 Early-Career Research

CS 6020 - 001 Early-Career Research

  • Class Number: 5602
  • Instructor: GOPALAKRISHNAN, G.
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 9

CS 6150 - 001 Graduate Algorithms

CS 6150 - 001 Graduate Algorithms

  • Class Number: 6086
  • Instructor: BHASKARA, A. - View Feedback
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 39

CS 6210 - 001 Sci. and Data Comp. I

CS 6210 - 001 Sci. and Data Comp. I

  • Class Number: 3950
  • Instructor: BERZINS, M. - View Feedback
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Fees: $48.75
  • Seats Available: 27

CS 6230 - 001 Parallel Computing HPC

CS 6230 - 001 Parallel Computing HPC

  • Class Number: 14909
  • Instructor: SADAYAPPAN, P. - View Feedback
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 34

CS 6310 - 001 Robotics

CS 6310 - 001 Robotics

  • Class Number: 1489
  • Instructor: HOLLERBACH, J. M. - View Feedback
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 8

CS 6340 - 001 Natural Language

CS 6340 - 001 Natural Language

  • Class Number: 9751
  • Instructor: RILOFF, E. M. - View Feedback
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 45

CS 6350 - 001 Machine Learning

CS 6350 - 001 Machine Learning

  • Class Number: 9753
  • Instructor: ZHE, S. - View Feedback
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 43

CS 6360 - 001 Virtual Reality

CS 6360 - 001 Virtual Reality

  • Class Number: 13854
  • Instructor: CARDONA-RIVERA, R. - View Feedback
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 22

CS 6465 - 001 Adv OS Implementation

CS 6465 - 001 Adv OS Implementation

  • Class Number: 17177
  • Instructor: REGEHR, J.
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 13

CS 6520 - 001 Programming Language

CS 6520 - 001 Programming Language

  • Class Number: 11389
  • Instructor: FLATT, M. - View Feedback
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 18

CS 6540 - 001 Human/Computer Interact

CS 6540 - 001 Human/Computer Interact

  • Class Number: 17178
  • Instructor: DENNING, T. - View Feedback
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 44

CS 6550 - 001 Intro to Info Retrieval

CS 6550 - 001 Intro to Info Retrieval

  • Class Number: 14912
  • Instructor: AI, Q. - View Feedback
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Wait List: No
  • Seats Available: 7

CS 6640 - 001 Image Processing

CS 6640 - 001 Image Processing

  • Class Number: 6836
  • Instructor: WHITAKER, R. T.
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 10

CS 6710 - 002 Digital VLSI Design


The course fee covers all required textbooks and course materials at a reduced cost. Students may request to opt out here: https://portal.verba.io/utah/login

CS 6710 - 002 Digital VLSI Design

  • Class Number: 12816
  • Instructor: GAILLARDON, P. J.
  • Component: Lecture
  • Type: IVC
  • Units: 4.0
  • Requisites: Yes
  • Wait List: No
  • Fees: $67.65
  • Seats Available: 14

The course fee covers all required textbooks and course materials at a reduced cost. Students may request to opt out here: https://portal.verba.io/utah/login

CS 6745 - 001 Test/Verif Digital Ckts

CS 6745 - 001 Test/Verif Digital Ckts

  • Class Number: 18557
  • Instructor: KALLA, P.
  • Component: Activity
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 3

CS 6810 - 001 Computer Architecture

CS 6810 - 001 Computer Architecture

  • Class Number: 12404
  • Instructor: NAZM BOJNORDI, M. - View Feedback
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 23

CS 6955 - 002 Deep Learning


This class will teach key concepts of deep (machine) learning with an emphasis on convolutional neural networks.

CS 6955 - 002 Deep Learning

  • Class Number: 12635
  • Instructor: EARNSHAW, B. A. - View Feedback
  • Component: Special Topics
  • Type: In Person
  • Units: 3.0
  • Wait List: Yes
  • Seats Available: 16

This class will teach key concepts of deep (machine) learning with an emphasis on convolutional neural networks.

CS 6956 - 001 Medical Robotics


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.

CS 6956 - 001 Medical Robotics

  • Class Number: 17179
  • Instructor: KUNTZ, A. D.
  • Component: Special Topics
  • Type: In Person
  • Units: 3.0
  • Wait List: No
  • Seats Available: 22

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.

CS 6957 - 001 Social Computing

CS 6957 - 001 Social Computing

  • Class Number: 18423
  • Instructor: KOGAN, M.
  • Component: Special Topics
  • Type: In Person
  • Units: 3.0
  • Wait List: No
  • Seats Available: 11

CS 6958 - 001 Parameterized Algorithms & Com


Prerequisites: CS 4150 This research-oriented course will introduce the fundamentals of parameterized complexity and algorithms (including kernelization, branching, dynamic programming, intractibility, and approximation), along with a selection of advanced techniques used in the recent literature. Students will also gain hands-on experience in theoretical computer science research from literature review and problem selection through active research, collaboration, and presentation of results and future directions.

CS 6958 - 001 Parameterized Algorithms & Com

  • Class Number: 18620
  • Instructor: SULLIVAN, B.
  • Component: Special Topics
  • Type: In Person
  • Units: 3.0
  • Wait List: No
  • Seats Available: 6

Prerequisites: CS 4150 This research-oriented course will introduce the fundamentals of parameterized complexity and algorithms (including kernelization, branching, dynamic programming, intractibility, and approximation), along with a selection of advanced techniques used in the recent literature. Students will also gain hands-on experience in theoretical computer science research from literature review and problem selection through active research, collaboration, and presentation of results and future directions.

CS 6962 - 001 Computational Inverse Problems

CS 6962 - 001 Computational Inverse Problems

  • Class Number: 17180
  • Instructor: JOHNSON, C. R.
  • Component: Special Topics
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 16

CS 6965 - 001 Adv Data Visualization

CS 6965 - 001 Adv Data Visualization

  • Class Number: 17181
  • Instructor: PHILLIPS, B. W. - View Feedback
  • Component: Special Topics
  • Type: In Person
  • Units: 3.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 14

CS 7710 - 001 Neuromorphic Architect

CS 7710 - 001 Neuromorphic Architect

  • Class Number: 17182
  • Instructor: BALASUBRAMONIAN, R.
  • Component: Lecture
  • Type: In Person
  • Units: 3.0
  • Wait List: No
  • Seats Available: 36

CS 7930 - 001 Intro to Computing PhD


Please contact the graduate advisors to obtain a permission code.

CS 7930 - 001 Intro to Computing PhD

  • Class Number: 5002
  • Component: Seminar
  • Type: In Person
  • Units: 1.0
  • Requisites: Yes
  • Wait List: No
  • Seats Available: 15

Please contact the graduate advisors to obtain a permission code.

CS 7931 - 002 Software Correctness