Skip to main content
Course web for the Spring 2019 Computer Graphics Class


Here is a brief overview of what the class is…

WARNING: The design of the class (with the weekly workbooks and GIT) is an experiment.

How the class will work

The weekly rhythm will be:

  • Monday: we give out a “workbook” (that you clone from GitHub) with programs to look at and add to, as well as readings to do. See Workbooks
  • Tuesday: Lecture (lectures are required)
  • Thursday: Lecture (lectures are required)
  • Friday: you turn in your workbook (this is the due date)
  • (the following Monday): last chance to turn in last week’s workbook to have it graded. If you turn it in after Friday it will be late, and we may penalize you if you are chronically late.

There will also be a midterm exam and a final exam.

You will read and write JavaScript programs as part of the workbooks. See Javascript and 559.

There will be some optional programming assignments to extend workbooks.

Basic Info

See CS559 Course Policy Page for details.

Lectures: Tuesday and Thursday from 11-12:15, Room 19 Ingraham Hall. You are responsible for material presented in lecture. Please come on time.

Communication: Please communicate with the Course Staff via Piazza.

Instructor: Professor Michael Gleicher web page. Office: 6385 Computer Sciences. Office hours: Tuesday, 2:45-3:30 (except 2/22, 3/26) and Wednesday 11-11:45 (except 3/27 and 4/10).

Office Hours: At least one member of the course staff will be available in room 7331 CS on Monday, Thursday, and Friday between 3-5 for “consulting hours”. Specific staff members may have other hours. Any staff member is available by appointment.

Teaching Assistants:

  • Luke Swanson – Office: 1306CS, Office Hours: Weds 4-5 (and consulting room)
  • Young Wu – Office: 4397CS (as part of consulting room)
  • Harshal Parimi – Office Hours: Mon, Fri 12-1:30 (and consulting room)
  • Peer Mentor: Jay Wang – (as part of consulting room)

Course Mechanisms:

  • The Course Web will store most information. When something new is posted, we will make announcements to Canvas and/or Piazza.
  • We will use Canvas 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)

Exams: Alternate exam arrangements must be made 3 or more weeks ahead of time.

  • We will have a midterm exam in the evening (Tuesday, March 12th at 7:15-9:15pm in room 3650 Humanities.)
  • We will have a final exam in the University assigned time slot (currently slot 23, 10:05am on May 7th)

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.

Grading: 65% workbooks, 35% exams. Workbook grades will only go up to AB – to get an A, you must get enough bonus points.

Late policy: Students who turn in workbooks chronically late (after Friday) may be penalized. Workbooks turned in after Monday will not be graded.

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