Pages

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. Read more…

Lecture Demos

in Pages
This page provides links to the lecture demos. Lecture Demos Week 1: the 3D Train: train Rasterization: raster Blank canvas: canvas Draw ellipse: ellipse Polygon fill rule pentagram: pentagram Polygon fill rule two triangles: triangles Week 2: Animation bouncing ball: bounce Animation as a function of time: animate_time Animation as a function of state: animate_position Animation as a function of mouse event: animate_event Animation with rotation: animate_transform Order of transformation: transform_list Scaling around a center: transform_order Animation as a function of slider event: animate_slider Robotic arm hierarchy: arm Dancing stick figure hierarchy: figure Week 3: Read more…

Lecture Materials: Videos and Slides

in Pages
This page provides links to the lecture notes. Lecture Recordings The lecture recordings on Zoom can be found on Canvas -> Zoom -> Clouding Recordings, and they will be available for 90 days after the lecture. Lecture notes Week 1: Notes Week 2: Notes Week 3: Notes Week 4: Notes Week 5: Notes Week 6: Notes Week 7: Notes Week 8: Notes Week 9: Notes Week 10: Notes Week 11: Notes 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 2024. 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…

Git Setup and SSH configuration

in Pages
In order to complete your assignments in CS559, you will need to install Git and configure it for SSH authentication with GitHub. This page contains our “canonical” instructions for setting up Git with SSH. While experienced Git users are welcome to use it however they prefer, following these instructions will make it much easier for us to help you if something goes wrong. See Git and GitHub in CS559 for more in-depth information on how to use Git and the role it plays in this class. Read more…

Readings (Course Materials)

in Pages
All “readings” will be provided online. The Workbooks and Projects are primary readings themselves, but will provide lists of required and supplementary readings. These will be provided as links in the workbooks. Many of the readings will come from Books. However, you do not need to purchase any books: all are available online - either through UW Library, or other arrangement. See the Books page. Other material will be in the form of videos. 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
Grading is based on the 10 workbooks (50%), two projects (20%), and the exams (20%), and in-class quizzes (10%, lowest four dropped). We will consider dropped in-class quizzes/surveys to adjust your grade at the end. You can work on a research project approved and graded by a TA to replace the grade of 2 workbooks or 1 project or 1 exam you missed. Canvas cannot compute your grade for you. 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. Read more…

Javascript in CS559

in Pages
Programming assignments in CS559 will use the Javascript programming language. We will help you learn Javascript, if you aren’t already familiar with it. What’s on this page If you’re not already a JavaScript programmer, you may prefer to start at the end of the page Advice on learning JavaScript. A short explanation about the use of JavaScript in CS559 A short description of the rules for using JavaScript in CS559 The motivation for using JavaScript in CS559 The rationale for the rules about using JavaScript in CS559 A discussion of versions of JavaScript (which will explain what we’re using and help you use it) A discussion of tools you can use for JavaScript Advice on learning JavaScript - including books and online resources Basic Idea of JavaScript in CS559 You must do all of the programming assignments for CS559 in JavaScript. Read more…

Calendar

in Pages
The Weekly Rhythm On Tuesdays: during the class period (1:00-2:15) we will have a in person lecture with in-class quiz on TopHat. See Lectures. At the end of Wednesdays: the workbook is due. See Workbooks and Projects. On two of the Wednesdays (March 6 (5:45-7:15), May 8 (12:25-2:25)) we will have exams. See Exams. On Thursdays: during the class period (1:00-2:15) we will have a in person lecture with in-class quiz on TopHat. Read more…

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. Read more…

Tools for 559

in Pages
Preface: For programming in this class, you will want to have good tools. Good tools make programming easier, and let you focus on the (more fun and interesting) content. You will also need to have tools to work with GIT for source control as this will be our mechanism for handing in assignments. Some ideas on how to install the recommended tools (on Windows) are provided at Software. Overview of Programming Tools for CS559 In CS559, you will do a substantial amount of JavaScript programming. 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. Read more…