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 (9:30-10:45) we will have a synchronous lecture that introduces the week’s topic. See Lectures.
- On Tuesday: we will release the week’s workbook. The workbook has readings and programming assignments. See Workbooks. The schedule is changed a bit around exam weeks, and the schedule is off a little bit for break and the final project.
- On two of the Wednesdays (March 8, April 26) we will have exams. See Exams.
- On Thursday: during the class period (9:30-10:45) we will have a synchronous lecture. See Lectures.
- On Friday: there will be a survey (quiz) that you can take any time during the day. See Policies (surveys).
- 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 Policy 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
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. On Canvas, you will find the Zoom links at Canvas Zoom List. Recordings will be made available afterwards. More details are available on the Lectures page.
Communication: See the Communications Policy 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 Gleicher's Home Page, but generally it’s 2:15-3:15 on Wednesdays.
Office Hours: The course staff will hold regular “consulting hours” on many days (see Consulting Hours). The professor holds office ours (see Gleicher's Home Page). To make an appointments for 1-on-1 meetings, use the Appointment Scheduling Form.
Teaching Assistants and Peer Mentors: (Course Staff). Send messages to the course staff via Piazza.
Course Mechanisms: See Communications Policy:
- 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: 64% workbooks, 12% final “project”, 24% 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/8, 4/26) and one during the University final exam period (currently scheduled for 5/7). 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 for more information.
Surveys: We will have weekly “surveys” on Friday. We will keep track of whether you complete the surveys, although the content will not be graded. Surveys count towards your grade (we care that you complete them, not how well you do on them). Some surveys will be anonymous. See Policies (surveys) for more details.
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
These roughly map to weeks in the Calendar