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:

  • On Tuesday: during the class period (5:30-6:45) 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.
  • On two of the Wednesdays we will have exams. See Exams (policy).
  • On Thursday: during the class period (5:30-6:45) we will have a synchronous lecture.
  • 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.

This class will use a variety of different mechanism for communication. The are detailed on the Communications page. But briefly: The Course Web provides key information about the class. The course also uses Canvas, Piazza and GitHub.

Announcements will be made on Canvas - you should configure Canvas to notify you about announcements. We also use Canvas for quizzes and surveys (a survey is a quiz that Canvas does not compute your grade) and for its caldenar.

If you have questions, you can post on Piazza, come to Consulting Hours (online), or contact the Course Staff. See Getting Help. In general, we don’t use email for class, except in emergencies.

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 Lectures. On Canvas, you will find the Zoom links at Canvas Zoom List. Recordings will be made available afterwards.

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

Instructor: Professor Michael Gleicher web page. Office: 6385 Computer Sciences. For office hours, see my Gleicher's Home Page

Office Hours: The course staff will hold regular “consulting hours” almost every day (see Consulting Hours). The professor holds office ours (see Gleicher's Home Page). We all will make appointments for 1-on-1 meetings, use the Appointment Scheduling Form.

Teaching Assistants and Peer Mentors: (Course Staff) FIX ME!. 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) (see Git and GitHub in CS559)

Grading: 60% workbooks, 10% project, 30% exams, small adjustments for other factors. See Grading for details.

Exams: We will have three exams. Two will be on Wednesday evenings during the semester (3/9, 4/27) and one during the University final exam period. 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 Exams (policy) for more information.

Surveys: We will have weekly surveys. We will keep track of whether you complete the surveys, although the content will not be graded. See End-of-Week 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