What I am currently teaching

  1. ENGR112, Introduction to Engineering Computing. Introductory MATLAB, with a focus on solving engineering problems. Topics covered include basic program flow, plotting, matrices, and data fitting and processing.
  2. Informal course to create a piece of public artwork. This is a trial run for the full-fledged version I will be teaching in the Spring.
  3. New for Spring 2014: I will be teaching a joint course involving a mixed group of art and engineering students with the goal of creating a public piece of art work.

Supplementary Courses I designed

Most of these courses are now taught by other faculty or graduate students.
  1. C++ helper class
  2. Math helper class

Courses I have taught

  1. Software Design and Development Studio. The basic goal is to help students move beyond course projects and into the realm of designing and writing programs for themselves. The class is run critique style, which means lots of in-class discussion of everything from low-level coding style through project design. Lecturing is kept to a minimum, and is primarily used to illustrate concepts as they come up. Students will learn a bit about how to look at, understand, and critique other people's code and designs, how to work in small groups, and how to work with large chunks of code they initially know nothing about.
  2. Advanced graphics. I cover a mix of topics in modeling (subdivision surfaces, splines), rendering (volume rendering, point-based rendering), and animation (basic physics). Mostly a project-driven course, with a lot of freedom in the assignments. Usually taught in the spring.
  3. CSE200, Engineering and Scientific Computing (MatLab). This course is an introduction to MatLab. It is primarily a lab-based course and is required for most non-CS Engineering students.
  4. Beginning graphics. This is your standard introductory course. I cover the basics of 2D graphics (scan conversion, filtering), 3D graphics (making and rendering shapes), and an overview of advanced topics (animation, advanced rendering). Anyone interested in working with me should take this class. Usually taught in the fall. Note: This class is now taught primarily by Tao Ju.
  5. Video games. I'd like to take credit for this, but basically two students, Lauren McHugh and Luke Zulauf, put the course together in 2004. I just volunteered to be the official in charge. This is a year-long course in which students develop and implement a video game.
  6. Data structures and algorithms. [Taught spring 2005] A required course for our majors and minors.


  1. Math for vision, graphics, and robots
Page written by Cindy Grimm.