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

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…

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

Visual Studio Code (VSCode) for CS559

in Pages
We recommend using Visual Studio Code (VSCode) for doing the programming assignments in CS559. You will need to use some text editor for editing JavaScript programs and web pages (e.g., html and css files). It is worth investing your time in learning to use good tools (like VSCode). Why I recommend VSCode: VSCode has great support for JavaScript editing. It does the basics very well (autoformatting, syntax highlighting, …) as well as more advanced editing features (code refactoring, …). 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 and Surveys will use Canvas Quizzes. Emergency announcements will be made via email, but we will try to keep this to a minimum. Read more…