Syllabus
This is a Syllabus in the form of the official University Template. It details the course policies.
More information is on the course web page: https://pages.graphics.cs.wisc.edu/559-sp26/ which provides the complete course documentation.
Page Contents
Key Course Offering Information
General Identifying Information
Institution Name: University of Wisconsin–Madison
Course Subject, Number and Title: Computer Sciences 559, Computer Graphics
Credits: 3
Course Designations and Attributes: Level - Intermediate; L&S Credit - Counts as Liberal Arts and Science credit in L&S
Requisites: MATH 222 and (COMP SCI 367 or 400) or graduate/professional standing or declared in the Capstone Certificate in Computer Sciences for Professionals
Repeatable for Credit: No
Last Taught: Fall 2025
Course Description: (official from Guide) Survey of computer graphics. Image representation, formation, presentation, composition and manipulation. Modeling, transformation, and display of geometric objects in two and three dimensions. Representation of curves and surfaces. Rendering, animation, multimedia and visualization. Fluency with vector mathematics (e.g., from MATH 234 or a linear algebra class) is recommended.
Meeting Time and Location: Monday, Wednesday, Friday, 8:50-9:40, Online.
Instructional Modality: Online synchronous, online availability during class and exam times required.
Instructor Contact Info: Prof. Michael Gleicher (he/him/his), Please prefer CS559 Piazza for messages, gleicher@cs.wisc.edu, 6588 Morgridge Hall. Open office (student meeting) hours 2pm-3pm Wednesdays (except Feb) or by appointment.
Teaching Assistants: Alex Peseckis and Bhuyashi Deka. Student meeting hours Monday and Tuesday afternoons, or by appointment. Contact via CS559 Piazza.
How Credit Hours are Met by the Course: This class is scheduled for three 50-minute class periods each week over the Spring semester and carries the expectation that students will work on course learning activities (reading, writing, problem sets, studying, etc.) for about 4 hours out of the classroom for every class period. The syllabus includes more information about meeting times and expectations for student work.
Course Learning Outcomes (official):
- Develop interactive graphical applications in 2D and 3D using different types of APIs
- Analyze and apply coordinate systems and transformations in 2D and 3D to model objects hierarchically and prepare them for viewing
- Explain and apply shape modeling techniques, including parametric curves and meshes, in 2D and 3D
- Select and apply appearance modeling techniques including texturing and lighting
- Explain the structure and operation of the graphics pipeline and hardware, and use this understanding to implement and optimize efficient graphical applications
- Identify the issues in discrete representations and select approaches to mitigate them
- Discuss how imagery is perceived and the impact of perception on computer generated imagery
Instructor-to-Student Communication
Course Overview
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.
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.
Course Website and Digital Instructional Tools
The primary source of course information is the course web: https://pages.graphics.cs.wisc.edu/559-sp26/. Students should be aware of, and are responsible for, the content there. Important additions will be announced on Canvas.
The course Canvas (CS559 Canvas) will be the primary mechanism for announcements, quizzes and surveys.
The course Piazza (CS559 Piazza) will be the primary mechanism for communication between students, and for students to communicate with course staff.
Students should communicate with course staff via Piazza. Please prefer Piazza to email unless asked by a course staff member. If a course staff member contacts a student by email, the student should respond by email.
The primary assignments for the class are a series of Workbooks. Workbooks are distributed by and submitted to GitHub via GitHub classroom. Students are required to have GitHub accounts. See Git and GitHub in CS559 for more information. Workbook submission also involves web-based mechanisms within the workbooks.
All required readings will be provided online. All videos will be provided online. Links will be provided either on Canvas or within the Workbooks.
Students will be required to complete web-based programming assignments on their own computers. Programs will be written in JavaScript, HTML, and graphics shader languages. Students will need to have appropriate tools for completing assignments including: a web browser, a GIT client, a local web server, and an IDE for JavaScript programming. See Tools for 559. We recommend Visual Studio Code (see Visual Studio Code (VSCode) for CS559).
Lecture, Discussion and/or Laboratory Sessions
The class may hold online meetings during lecture times. It may hold other time-limited activities (such as online quizzes) during lecture times.
The class has no scheduled meetings outside of the lecture times.
There will be no required in person class meetings.
Required Textbook, Software, and Other Course Materials
All required readings will be provided online. All videos will be provided online. Links will be provided either on Canvas or within the Workbooks.
Students will be required to complete web-based programming assignments on their own computers. Programs will be written in JavaScript, HTML, and graphics shader languages. Students will need to have appropriate tools for completing assignments including: a web browser, a GIT client, a local web server, and an IDE for JavaScript programming. We recommend Visual Studio Code.
Homework Assignments
The course will have regular assignments announced via the course web and Canvas announcements.
Assignments will include:
- Video surveys (Canvas surveys with videos embedded)
- End-of-week surveys (Canvas surveys on Fridays, some may be anonymous - we will know that students have completed the survey, but will not be able to link the answers back to the students)
- Quizzes (delivered as Canvas quizzes)
- The Workbooks (collections of web pages with embedded activities including programming assignments)
- Other online activities
Exams, Quizzes, Papers, and Other Major Graded Work
The class will have a final exam given online in the official University assigned time slot.
The class will have quizzes delivered online as Canvas quizzes.
The class will require students to complete Workbooks which are collections of web pages including problems and programming assignments embedded on the pages.
The class will require students to complete online surveys.
Guidelines for Exam Proctoring
Exams and quizzes will be given online using Canvas Quizzing. We do not plan on using Honor Lock or similar anti-cheating prevention tools.
Course Schedule/Calendar
The course is organized into 2 week “modules”. Each module follows the same rhythm (although the last module “ends early” because of exams). See the How the Class Works (Course Rhythm) (The Course Rhythm) page for details. We describe the weeks from Wednesday to Wednesday.
- Wednesday (week 1) - Video introduction (Canvas survey) announced with a GitHub classroom link to access the workbook. Note: the first day of the module is the last day of the previous module (which has the quiz for the module).
- Friday (week 1) - Class online meeting (announced on Canvas), End-of-Week survey due (odd weeks: anonymous class feedback)
- Monday (week 1) - Class online meeting
- Tuesday (week 1) - Workbook check-in
- Wednesday (week 2) - In Class Exercise (activity to complete during class time)
- Friday (week 2) - Class online meeting, End-of-Week survey (content)
- Monday (week 2) - Class online meeting, example solutions released
- Tuesday (week 2) - Workbook due
- Wednesday (week 3) - Module quiz (in class), 1st day of the next module (see Wednesday 1)
The topics of the modules are planned to be:
- Graphics in Class and On the Web: computer graphics concepts, web page basics, event driven programming, graphics APIs, making pictures with the Canvas APIs, …
- Transformations in 2D: linear and affine transformations, hierarchical modeling, articulated animation, SVG, …
- Curves: types of shape representations, parametric curves, cubic forms, splines, …
- 3D Foundations: 3D modeling, transformations, viewing, lighting, animation, …
- Shape and Appearance: meshes, lighting, texturing, …
- Graphics Hardware, Shaders, Efficiency: graphics pipeline, GPU and shader programming, graphics program organization, …
- Advanced Topics: aliasing, ray tracing, smooth surfaces, animation, …
Grading
Grades will be determined primarily based on the Workbooks. The grade will be adjusted based on other aspects of the class. The grading scheme uses count-based measures, rather than averaging. Canvas is not able to estimate grades.
For details see Parts of Class and Grading
Late Policy
In-class assignments (quizzes, in-class exercises, the exam) are due at the end of the class/exam period.
Other assignments are due on the due date. The due date is any time in Madison. If something is due on Tuesday, 12:01AM Wednesday is not Tuesday.
Late assignments are accepted with a penalty. Each assignment type has a different penalty structure.
Assignments may have cutoff dates, after which submissions will not be accepted.
Regrading
If you believe we have made a mistake in assessing your work (either an administrative error, or if you disagree with our assessment), you must complete the Regrade Request Form within one week of receiving the (incorrect) grade. We may not respond immediately: we will process regrade requests in bulk.
How the class will work
The class is offered in an online, semi-synchronous modality. Students are required to be available for online activities during scheduled class times (including the exam), see FAQ - The Whys? (Do I have to attend class?) for details.
Academic Policies and Statements
Additions to the standard syllabus statements:
Unintentional misconduct: It is the responsibility of the student to understand all the details of the syllabus and UW-Madison policies. Lack of understanding regarding how to properly cite, the presence of specific course policies, and University expectations does not excuse behavior.
Collaboration: Learning is a team sport. We hope to foster a collaborative environment where students learn together. Students are encouraged to discuss aspects of class with their peers. However, most assignments are to be done individually. Students are expected to substantially complete assignments on their own (or in assigned groups, when permitted). Do not claim credit for work done by others. If you use something from someone else (whether it is a classmate, or an online resource, or an AI) be sure that you have permission to use things in the way that you are using it, and that you give proper attribution. When in doubt, ask the course staff.
Students should give proper attribution for work they did not do.
AI Usage Policy: Use AI tools (ChatGPT, Co-Pilot, etc.) to help you in your learning, not to do the assignments for you. Treat them like another student: you may ask them to help you, but you are responsible for your own work. Give them proper credit / attribution. Don’t claim their work as your own. You cannot ask them for help on Quizzes or Exams. See Policy on the use of AI Tools (generative AI) for more details.