Course Overview

Here is a brief overview of what the class is and how it works. You may also want to see the Getting Started page.

What this class is about

Computer Graphics is how we use computers to make pictures. This class is about how to program computers to draw. It is not about what pictures you should draw (that’s art). The class is about how you program picture making, not how you use tools to make pictures. This class is how to write graphics programs not about how to use them.

You can see the Learning Goals page for a discussion of what we want you to learn in this class, and a summary of the key topics. You can also see what we’re going to cover in class from the Calendar.

To practice the graphics ideas, we will implement them with web programming. So, along the way, you will learn the basics of web programming and JavaScript (if you don’t know it already). See the Javascript in CS559 page which explains why we use JavaScript, as well as how to learn it.

How the class will work

Each week will follow the same pattern (until the last weeks):

  • On Tuesday: during the class period (11-12:15) we will have a synchronous lecture that introduces the week’s topic. See Policies (lectures).
  • On Tuesday: we will release the week’s workbook. The workbook has readings and programming assignments. See Workbooks.
  • Throughout the week, we will release additional videos that cover the course materials. These will be announced on Canvas.
  • On Thursday: during the class period (11-12:15) we will have either a synchronous lecture, a discussion, or an exam. See Policies (lectures) and Policies (exams).
  • On Friday: there will be a survey (quiz) that you can take any time during the day. See Policies (Surveys (Quizzes)).
  • On Monday: the workbook is due. See Workbooks.

The Course Web provides key information about the class. The course also uses Canvas and Piazza (information below).

Announcements will be made on Canvas - you should configure Canvas to notify you about announcements.

If you have questions, you can post on Piazza, come to Getting Help (Consulting Hours) (online), or contact the Course Staff.

Basic Info

See Policies for details.

Lectures: Will be given online. They will be in a mix of formats, but we intend to record them so you can watch them asynchronously or review them. See Policies (lectures).

Communication: Please communicate with the Course Staff via Piazza. Course announcements will be on Canvas.

Instructor: Professor Michael Gleicher web page. Office: 6385 Computer Sciences. Office hours (online): Wednesday 1-2pm, or by appointment. (see Course Staff).

Office Hours: The course staff will hold regular “consulting hours” almost every day (see Getting Help (Consulting Hours)). The professor holds open office hours on Wednesdays from 1-2pm. We all will make appointments for 1-on-1 meetings, use the 1-on-1 Appointment Scheduling Form.

Teaching Assistants and Peer Mentors: (Course Staff) Wiley Corning, Yeping Wang, Young Wu, Viet Bui, Jerry Kou, Gia-Phong Nguyen, and Kevin Wilson. Send messages to the course staff via Piazza.

Course Mechanisms: See Communications:

  • The Course Web will store most information. When something new is posted, we will make announcements to Canvas.
  • We will use Canvas for announcements and to give grades to students and make private readings available.
  • We will use Piazza for discussion
  • We will use GitHub to distribute and collect workbooks (which are reading, writing, and programming assignments)

Grading: 65% workbooks, 35% exams, small adjustments for other factors. See Policies (grading) for details.

Exams: We will have three “mini-exams” during scheduled class periods (on Thursdays) as well as an exam in the official University assigned final examination period which is Monday, May 3, 2021, 2:45pm-4:45pm Madison (Central) time. Exams will be delivered online using Canvas. If you need a McBurney accomodation, please contact me no later than 2 weeks before the first exam. See Policies (Exams).

Surveys: We will have weekly surveys. We will keep track of whether you complete the surveys, although the content will not be graded. See Policies (Surveys (Quizzes))

Books: You are not required to purchase any books. Chapters for required readings will be provided online, either through the course Canvas or the University Library. See the Books page for more information.

Late policy: Workbooks may be submitted up to a week late, subject to rules and penalties. Surveys may be submitted until the cutoff time. Exams may not be taken late.

Class Topics

The main topics, in rough order of appearance (subject to change):

  • Basics of web programming
  • 2D graphics APIs
  • Coordinate Systems and Hierarchical Modeling
  • Transformations
  • Curves and Shape Representations
  • 3D programming with a high level API
  • Transformations in 3D
  • Meshes and Shapes in 3D
  • Local lighting
  • Texturing
  • How 3D drawing works
  • Graphics Pipelines and efficiency issues
  • Surfaces
  • Higher quality rendering