Pages

List of all pages in a concise list.

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

Calendar

Note: the details pf the calendar (including assignment dates, order of topics, lecture plans, …) are all subject to change. The midterm and final exams are in University assigned time slots and locations. Each week, the class will have 2 lectures - lectures are required. Each week (for almost all weeks), there will be a workbook which is a combination of tutorial, reading assignment, demo and programming assignment. Each week there will be an online quiz. Read more…

Policies

Policies Overview Communications: The course web is used for providing information and policies; Canvas is used to make announcements, communicate grades, and provide documents; Piazza is used to communicate with course staff; and GitHub is used to get workbooks and hand them in. Avoid email - use Piazza to communicate with course staff. (See Communications) Lectures and Attendance: Lecture attendance is required. Lecture materials (when available) are not meant to replace lectures. Read more…

Final Guide

The CS559 Final exam will be given on May 6th in an online format. Details will be announced closer to the date. Exam Description The questions will be of varying forms. There will be some multiple choice questions, but also some short answer questions. There are no example exams available. The quizzes are designed to help you know the topics we will ask. Workbook content is also important. You are responsible for everything we discussed in lecture, everything covered in the workbooks, and the readings that the workbooks require. Read more…

Midterm Guide

The CS559 Midterm Exam will be at 7:30pm on Wednesday, March 11th. The Midterm Exam Will be in Rooms: Noland 132 (Students with last names beginning A-N) Chamberlin 2241 (Students with last names beginning O-Z) McBurney accomodated testing will be handled by the Testing and Evaluation Center. Send email to the professor to request the code to give them. (yes, this is a case where you need to send email to the Professor). Read more…

Object Oriented Programming in JavaScript, Part 2

Last time (Traditional Object Oriented Programming in JavaScript), we showed you how to use JavaScript’s class syntax to make your code more readable and less error-prone; this time, we’ll take a look at how we can use it to do the things you’re used to in object oriented programming: inheritance, polymorphism, and more. For the workbooks, you’ll need to understand inheritance and polymorphism. The code Framework uses these features a lot. Read more…

Gallery

We’ve seen a lot of great work this semester, and we wanted to showcase some of our favorites! This will be updated with examples from more workbooks later as the semester goes on. To see all the examples, navigate with the workbook links and the arrows on the sides, or use the arrow keys. Workbook 2 Workbook 3 Workbook 4 Workbook 5 Workbook 6 Workbook 7 (Snowman) Workbook 7 (Museum) Workbook 8 (Aircraft) Workbook 8 (Park) Workbook 8 (Construction) Workbook 9 (Car) Workbook 9 (Buildings) Workbook 12 (Final Project) Author: Note: Read formatted page...

Traditional Object Oriented Programming in JavaScript

JavaScript has many different mechanisms for doing object oriented programming. Many of them are hard to learn. Fortunately, newer versions of JavaScript (like we use in class) give us a nicer option. JavaScript ES6 introduced classes to JavaScript, which use notation similar to what you may have seen in other object oriented languages. Eloquent JavaScript has an excellent introduction in Chapter 6. However, it first shows you the old way to do objects (prototypes), which is useful, but not essential for CS559. Read more…

Communications

The prefered way to communicate with the course staff is via Piazza. If you have a question about grading, post a private message to course staff. It will be difficult to answer grading questions in person (either in class or at consulting hours). Piazza Rules If you think that your question may be of interest to other students, please post it publicly. If the course staff feels a posting is inappropriate for being public, we may make it private. Read more…