Basic Info

Books

in Pages

You are not required to purchase books for this class.

All required readings will be provided online. Some of the readings are provided under academic fair use, and are only for students in the class. For this reason, they will be provided via the course Canvas page.

In the past, we used readings more extensively.

In the past, we used textbooks more extensively in class. Over time, students seemed to become less interested in them. This year, we will try to reduce our reliance on them. This is a bit of an experiment. The workbooks will suggest readings.

Read more…

Getting Help

in Pages

The course staff is available to provide help!

Getting Help Online

You can get help online using Piazza. You can ask a question publicly - which is highly recommended as others with a similar question can benefit (see Communications Policy (Using Piazza for Class)).

For most administrative questions, the answer is probably online. Notice that there is a search box on the top of the course web pages (look at the top right of this page).

Read more…

Lectures

in Pages

Summary

CS559 is being taught in person for Spring 2025.

Synchronous Lectures: The in-person lectures will be recorded. In the event that there is some failure and the video is not recorded, students are still responsible for the material. There may be delays between the lecture and when it appears on Canvas for viewing. Participation in lectures (attendance and other participation) will be tracked on TopHat.

Lecture Materials (Notes)

The notes used for the lecture presentations will be made available on Lecture Materials: Videos and Slides.

Read more…

Academic Conduct and Collaboration

in Pages

In this class you are expected to uphold standards of professional conduct and academic integrity. The University policies on academic misconduct apply to this class.

Proper academic conduct means being honest about your work and being respectful in your communications with staff and other students. It means not presenting the work of others as your own. It means not collaborating on parts of class we ask you not to collaborate on.

Read more…

Grading

in Pages
  1. Grading is based on the 10 workbooks (50%), two projects (20%), and the exams (20%), and in-class quizzes (10%, lowest four dropped).
  2. We will consider dropped in-class quizzes to adjust your grade at the end.

Canvas cannot compute your grade for you. It does not correctly deal with the way we handle dropping scores.

Your grade in this class will be determined by:

  1. (50%) Your total score on the 10 workbooks. You will get a number of points for each workbook. Note that workbook scores are points not percentages. 86 points is an 4.5/5, whether there are 120 points possible or 90 points possible. More details are given in the information about workbooks.

    Read more…

Course Pre-Requisites (should you be here?)

in Pages

Pre-Requisites: what you need to know before taking this class.

Officially the prerequisites are:

(MATH 222 or MATH 276) and (COMP SCI 367 or 400) or graduate/professional standing or declared in the Capstone Certificate in Computer Sciences for Professionals

The Programming requirements

We require CS400. Not necessarily because we want all the specific things they teach you in the class, but rather, we expect you to be a mature enough programmer that you can write non-trivial programs. You should be comfortable enough with programming that learning a new language or picking up a new development environment isn’t such a big deal.

Read more…

Calendar

in Pages

The Weekly Rhythm

  • On Mondays and Wednesdays during the class period (4:00-5:15) we will have a in person lecture with in-class quiz on TopHat. See Lectures.
  • At the end of Fridays: the workbook is due. See Workbooks and Projects.
  • On March 6 and May 4, we will have exams. See Exams.

The Weeks / Topics

WeekDates (MW)Topic
11/22Pre-Graphics
21/27, 1/29APIs and 2D Drawing
32/3, 2/5Coordinate Systems and Transformations
42/10, 2/12Transformation Math and 2D Shapes
52/17, 2/19Curves
62/24, 2/262D Wrap up, Intro to 3D
73/3, 3/53D Basics
3/6 (R)Evening Midterm
83/10, 3/12Transformations in 3D
93/17, 3/19Meshes, Texture, and Lighting
3/24, 3/26Spring Break!
103/31, 4/2More Texture, How 3D Drawing Works
114/7, 4/9Shaders and Graphics Hardware
124/14, 4/16Interactive Rendering
134/21, 4/23Shape in 3D, High Quality Rendering
144/28, 4/30Advanced Topics
5/4 (S)Official University Final Exam Slot

Calendar notes:

  • The midterm exam is online and in an evening slot shared with the honors section
  • The final exam will be in a University assigned exam slot (currently, Sunday May 4th, 7:45am). The exam will be online, and we’ll have some flexibility in timing.
Read formatted page...

Policies

in Pages

Communications

See the Communications Policy page.

Lectures and In-class Quizzes

See the Lectures page.

Grading

See the Grading page.

Exams

See the Exams page.

Policy on Late Assignments

See the specific assignment type for details.

Regrades and Unexpected Occurances

See the Workbooks and Projects page.

Academic Conduct

By virtue of enrollment, you agree to uphold the high academic standards of the University of Wisconsin-Madison; academic misconduct is behavior that negatively impacts the integrity of the institution. Cheating, fabrication, plagiarism, unauthorized collaboration, and helping others commit these previously listed acts are examples of misconduct which may result in disciplinary action. Examples of disciplinary action include, but is not limited to, failure on the assignment/course, written reprimand, disciplinary probation, suspension, or expulsion.

Read more…

Course Overview

in Pages

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.

Read more…

Technical Requirements

in Pages

You will need to provide your own equipment for class. The requirements aren’t much different than any other class. You’ll need a capable computer, a decent internet connection, a camera, and the ability to do audio and video for communications.

Computer

You need a computer that is good enough to participate in class. The communication tools we use (e.g., Zoom) is generally are not too demanding.

More importantly, since this is a graphics class, your computer will need to run the graphics programs that you will write. The programs we will write tend to be small and not too demanding. At this point, you may not understand the terms that describe you need. You will need a reasonable modern computer that is capable of 3D graphics (technically (buzzword warning), you need to run hardware shaders - but this doesn’t require a dedicated GPU, pretty much any laptop from the past few years is OK).

Read more…

Workbooks and Projects

in Pages

Workbooks are the main assignments for class and the required reading. Understanding them is really important.

There will be a workbook each almost every week (10 regular workbooks, 2 larger project workbooks).

Workbooks are small web sites with web pages and code that you will read and write. They serve as both programming assignments (your programs will be inside of the workbooks) and reading assignments (you are responsible for the content of the workbooks as well as the listed required readings in the workbooks).

Read more…

Communications Policy

in Pages

For this class, there are multiple mechanisms (Canvas, Piazza, Web, Zoom, Email). Student should understand how the class uses all of these mechanisms.

  • The course web has course information and content.
  • Announcements will be made via Canvas. Make sure you receive Canvas announcements. Course restricted information and files via Canvas. Grading via Canvas.
  • Exams will use Canvas Quizzes.
  • Emergency announcements will be made via email, but we will try to keep this to a minimum.
  • General (Open) Discussions via Piazza.
  • Lecture recorded on Zoom. (see Zoom for CS559) Consulting hours and office hours will be held in person or via Zoom.
  • Workbooks are obtained and handed in via GitHub classroom and a Canvas assignment.
  • Please be respectful of others in online communications.

The class is an in person class. Lectures will be delivered in person and recorded on Zoom. Exams will be online. Consulting (e.g., office hours and help) will be held both in person and online.

Read more…

Exams

in Pages
  1. There will be 2 exams, given online. One will be given in the evening of Thursday, March 6. The other one will be given in the official University Final Examination time slot.
  2. Each exam will be administered using Canvas Quizzing.
  3. Each exam will consist of 3 short segments. You must complete all 3 segments within the exam time window.
Read more…

Getting Started

in Posts

The course web has a lot to read. Here is a suggestion as to where to start (and a recommended order you could look at them).

This list is long - but it is worth taking the time to understand class before it starts.

  1. Read through this page before following links from it.
  2. Check the Course Overview page to get a basic sense of what the course is going to be.
  3. Check the Course Pre-Requisites (should you be here?) page to get an idea of what you need to know to take this class. The Technical Requirements page describes what you need to participate in the class online.
  4. Read the Communications Policy page to understand how you will communicate with us in class.
  5. Understand how we will use Zoom for CS559 because you will need it for class.
  6. Read Getting Help in case you need it.
  7. Look at the Tools for 559 page to see what tools you will want to gather together to do the assignments in the class. We recommend that you use Visual Studio Code (see Visual Studio Code (VSCode) for CS559). It is important that you set up Git Setup and SSH Configuration.
  8. The Javascript in CS559 page discusses the use of JavaScript in CS559, and gives some suggestions on how to learn it if you haven’t already.
  9. The Learning Goals will help you understand what you are going to learn in class. Check the Calendar to see the planned schedule.
  10. Read about the Workbooks and Projects that we will use in class. Students also often ask about Grading.
  11. The Readings (Course Materials) page describes the readings and other materials we will use in class. The Books page to see what books we will use in class, and why you don’t need to buy any (but can if you want to).

Before class starts, we recommend that you:

Read more…

Consulting Hours

in Pages

The Course Staff will hold “consulting hours” at the times listed below. We will provide a mixture of in-person and online consulting for students.

The weekly consulting hours schedule:

  • Tuesdays 4:00 - 6:00 pm (CS 4331)
  • Thursdays 4:00 - 6:00 pm (CS 4331)
  • Fridays 4:00 - 6:00 pm (CS 4331)

Please use Consulting Hours Form to help us keep track of student queues and frequently asked questions.

We reserved Room 4331 Computer Sciences - 4th floor, near the elevators where at least one member of the course staff (usually 3) is available to answer questions. In person consulting is much better than online. Both because it is easier for course staff to provide help, but also because of the collaboration between students and for staff to help multiple students at once. So we recommend using the in-person consulting hours.

Read more…