Current Term

CS 528 - Virtual Reality - Sp 24

This course focuses on current research in the area of virtual / augmented / mixed reality. Students create individual and group projects utilizing immersive 3D visuals, head and hand tracking, and audio on VR displays such as CAVE2 (previously the original CAVE, C-Wall, PARIS, and Varrier) and head mounted displays, and present current research papers.

This course is typically taught once every three years. I previously taught it in: Sp '20, Sp '15, Fa '07, Fa '05, Fa '04, Sp '01, Sp '99, Sp '98

Average student eval score: 4.2 / 5.0

Past Terms

CS 427 - Creative Coding - Fa 23

Creative Coding is a project based course where Computer Science students and Design students work together creating projects in interactive media. It is one of the core courses in the new CS+DES curriculum.

This course is typically taught once per year. I previously co-taught it in: Sp '22

CS 428 - Virtual, Augmented, Mixed Reality - Fall 22

This course focuses on current virtual reality and augmented reality hardware and software, and how to create interactive environments and user interfaces that make effective use of their special affordances.

This course is typically taught once per year. I previously taught it in: Fa '21, Fa '20, Fa '19, Fa '18, Fa '17

Average student eval score: 3.9 / 5.0

CS 424 - Visualization & Visual Analytics - Sp 22

This course focuses on 2D information, scientific, and medical visualization, starting from proper use of tables and charts, through interactive visualizations to aid in analysis of large datasets.

This course is typically taught once per year. I previously taught it in: Sp '21, Sp '20, Sp '19, Sp '18, Fa '15, Fa '14, Sp '14, Fa '12, Fa '11, Fa '10, Fa '09

Average student eval score: 3.9 / 5.0

CS 422 - User Interface Design & Prog. - Sp 17

This course focuses on understanding and making effective use of the principles of user interface deign. Students design and implement an individual project and design and prototype one larger group project, with a heavy focus on critiquing designs and improving those designs based on that criticism.

I previously taught it in: Sp '16, Sp '12, Sp '08, Sp '06, Fa '02, Sp '00, Sp '99

Average student eval score: 3.8 / 5.0

CS 594 - High Performance Visualization - Sp 15

The UIC Computer Science Department participated in a distributed course from The Ohio State University on High Performance Visualization for Large-Scale Scientific Data Analytics. The course included students from Cyprus Institute, U of Colorado Boulder, U. of Colorado Denver, U. of Illinois at Urbana-Champaign, U. of Illinois at Chicago and U. of Texas at El Paso

Average student eval score: 4.2 / 5.0

CS 526 - Computer Graphics II - Fa 13

Current topics in Computer Graphics. This iteration of the course will focus on large format displays. Recently this course has focused on current research in the area of scientific, medical, and infor­mation visual­ization which now has its own course in CS 524. The first time I taught it in 2002 the course was focused on video games which now has its own course in CS 426.

I previously taught it in: Sp '09, Sp '07, Sp '05, Sp '04, Sp '02

Average student eval score: 4.4 / 5.0

CS 525 - GPU Programming - Sp 12

This course focuses on current research in the area of GPU programming using vertex shaders, geometry shaders, and fragment shaders in GLSL for graphics, and CUDA for general computation. Students create individual projects in both GLSL and CUDA and present and discuss current research papers. I may use OpenCL next time.

I previously taught it in: Sp 10, Fa '08, Sp '06

Average student eval score: 4.6 / 5.0

CS 524 - Visualization & Visual Analytics II - Sp 11

This course focuses on current research in the area of scientific, medical, and infor­mation visual­ization. vtk is used as the primary implementation library. Students create several individual projects and present and discuss current research papers.

I previously taught it as CS 526 Computer Graphics II. I previously taught it in: Sp '09, Sp '07, Sp '05, Sp '04

Average student eval score: 4.7 / 5.0

CS 527 - Computer Animation - Sp 08

This course focuses on current research in the area of computer animation. Students learn how to create motion in several different ways: using a standard package such as Maya to animate a single figure, through code to generate flocking behavior for large groups of individuals, and through motion capture of human motion. The students and also present and discuss current research papers.

I previously taught it in: Fa '06, Fa '01

Average student eval score: 4.3 / 5.0

CS 425 - Computer Graphics I - Fa 03

This course focuses on under­standing how 3D computer graphics are generated. Students create several individual projects on topics including polygon filling, 3D transforms, lighting, ray tracing.

I previously taught it in: Sp '03, Fa '00, Fa '99, Sp '96

Average student eval score: 4.3 / 5.0

CS 522 - Human-Computer Interaction - Fa 98

This course is the graduate-level follow-on course to CS 422. It focuses on current research in the area of human computer interaction. Students create and conduct user studies on a project of their choice, and present and discuss current research papers.

Average student eval score: 3.6 / 5.0

CS 101 - Intro to Computer Science - Fa 97

This course introduces the area of computer science.

Average student eval score: 2.9 / 5.0

Awards

2009 winner of the UIC Award for Excellence in Teaching

2007 winner of the UIC Teaching Recognition Program Award from the Council for Excellence in Teaching and Learning

Grad School at Wayne State (lectures)

CS 101 Introduction to Computing - Fall '90

This course focused on an introduction to desktop computers and computer applications.

I previously taught it in: Su '90, Wi '90, Fa '89, Su '89

pdf version of the textbook that Jason Leigh and I created for our class

CS 102 Computer Science I - Winter '94

This course focused on an introduction to programming.

I previously taught it in: Wi '92, Su '91, Wi '89

CS 203 Computer Science II - Fall '92

This course focused on data structures.

I previously taught it in: Su '92, Fa '91

CS 314 Information Systems Design Using COBOL - Fall '93

This course focused on an introduction to programming in COBOL.

CS 441 Introduction to Computer Systems - Winter '91

CS 442 Computer Operating Systems - Summer '93