Skip to main content
Course web for the Spring 2019 Computer Graphics Class

Month: January 2019

Class Cancelled 1/31 and other Changes (Workbook 2)

The University is closed 1/30 and 1/31 because of weather.

There will be no class on Thursday 1/31. Lecture is cancelled.

The course staff (including the Professor and TAs) will not hold office hours on Wednesday (1/30) or Thursday (1/31).

We will delay Workbook 2 for 1 week. It will not be due on Friday 2/1, but rather it will be due on Friday February 8th. All subsequent workbooks will be pushed one week (so we’ll only have 13 over the course of the semester).

Workbook 1 is due as soon as possible.

Leniency for first assignment

As mentioned (in many places), we will have some leniency for handing in Assignment 1. We will accept late assignments until (at least) Wednesday. This week (for assignment 1) only.

If you had problems putting your name into Canvas or using GitHub / GitHub classroom please talk to a course staff member. We want everyone to be able to use the tools.

The Week in CS559: Week 2, Jan 28-Feb 1

Week 2 ( Mon, Jan 28 – Fri, Feb 1): Graphics APIs, Drawing Basics

Mon, Jan 28: Workbook 02: Two APIs (Web Graphics Basics) assigned
Tue, Jan 29: Lecture: Graphics APIs
Thu, Jan 31: Lecture: Code and Math Review
Fri, Feb 1: Workbook 02: Two APIs (Web Graphics Basics) due

Remember that Workbook 01: Getting Started (Web Programming) should be done (officially by Monday, but for the first assignment, we can give you an extra day). We will release the example solution on Wednesday.

If you had trouble with workbook 1 – either the mechanics (GitHub) or the content (JavaScript programming) please visit a TAs office hours. We need to make sure that these basic issues are addressed so we can move on to more interesting things (like graphics).

Speaking of which… Workbook 02: Two APIs (Web Graphics Basics) is available. Make sure you’ve done workbook 1 first. The lectures this week will help you with the workbook. We’ll talk about the graphics APIs, and even walk through some of the workbook code (Thursday). In these initial workbooks, there is less book reading and more web reading. That will start to change in a few weeks.

On Tuesday in lecture, we’ll talk about the basic ideas of graphics and how they are programmed using the APIs we’re using. This will give us a chance to look at some JavaScript concepts (like closures). On Thursday, we’ll review some graphics code, and some of the math.

To make GitHub even more confusing…

When you talk to GitHub, there are 2 different secure protocols that you can use: https and ssh.

Do not confused the “https” protocol with using the web interface!

When you go to the GitHub web page for your repo (this is my test account looking at workbook 2):

You press the big green button “Clone or download” to see:

From here, there are 4 choices – but they aren’t the obvious ones:

  1. You can click the two buttons at the bottom. Download zip gets you a copy of the files in the repo (but not the repo). Don’t do this.
  2. Open in Desktop does something using the “GitHub Desktop” application (which I don’t have, so I can’t say anything about).
  3. You can use this “https” repo URI for cloning (it’s in the type in box, or you can press the button to copy it).
  4. You can switch to “Use SSH” – which will give you a different repo URI, which you can use for cloning.

You should use choice 3 or 4 (definitely not #1 – #2 might be OK)

If I do #3, I get a URI that can use at the command prompt:

git clone

I had to type “git clone” – the rest I copied from the web page. For SSH it looks like:

git clone

You can also put the URI into other GIT user interfaces (like SourceTree).

The two different mechanisms use different security schemes. With the HTTPS, if you don’t have your “public key” infrastructure set up, it will ask you for your password. This is easy – but it grows tiresome quickly (you will need to type your password whenever you push, pull, or clone). There are ways to set up HTTPS so it will store your password. With SSH you have to do this (using something called a public key).


Slides and Video from the First Lecture

I have posted the slides for the first lecture on Canvas.

In general, lecture materials will go into the “Files/lectures” folder on Canvas.

The video capture from the first lecture is posted at on Kaltura Mediaspace. The player supports sped up playback (1 1/2x and 2x). (update 1/24: this link should work now)

Watching the video or looking at the slides are not a substitute for attending the lectures, but may be better than nothing.

Office Hours

This should be weekly (not just Jan 28-Feb 1)

– Monday 12-1:30 (Harshal, 4283CS)
– Monday 3-5 (Staff, 7331CS)

– Tuesday 2:45-3:30 Mike (6385CS) (except 2/22, 3/26)

– Wednesday 11-11:45 Mike (6385CS) (except 3/27 and 4/10)
– Wednesday 4-5 Luke (1306CS)

– Thursday 4-5 (Staff, 7331CS)

– Friday 12-1:30 (Harshal, 4283CS)
– Friday 3-5 Staff (7331CS)


Update on late policy

Workbook late policy

Coming up with a consistent late policy is challenging because of the we are using GitHub. There is a question of what does it mean to “turn something in”. Is it a commit or a push? If you make many commits and pushes (which you should!), which do we pick?

We want to encourage you to start early and submit intermediate results. And if you finish the assignment, we want to encourage you to keep making it better (so you can keep learning more).

So the late policy (subject to change) is:

  1. You must commit and push the workbook to your personal repository before the “drop dead” time (usually Monday). We copy the repositories early Tuesday morning – and we will only grade what we collect. The grader will look at the most recent commit on the master branch in the copy made at collection time. If that GIT terminology doesn’t make sense to you, don’t worry, in most cases, this just means the last commit – unless you use a fancier GIT feature.

  2. If we don’t see you at least starting the assignment before the deadline (Friday), we may consider it late. We may check for pushes or commits before the deadline. If you haven’t even clicked on the Github Classroom link to create your repo by the deadline, that’s a really bad sign.

  3. If we see that your final commits are close to the drop dead time (Monday), we may consider things late.

Your workbook grade for the semester is the average of all the workbooks, dropping the lowest two. The workbook bonus is added to this. We may assess a penalty of up to 1/2 a grade (to the overall workbook grade) if you are chronically late. The real penalty for being late is getting bad scores on the assignment because you didn’t give yourself enough time to do the work. Lateness will mainly be used in borderline cases (your grade is on a boundary).

Being chronically late is not about any one assignment, it’s a about a consistent pattern. We may consider you chronically late if:

  1. In more than 1/3 of the workbooks your initial push/commit is after the (Friday) deadline.

  2. Your median time for “last push” is within 4 hours of the “drop dead time.”

  3. You both started late and finished late on more than 2-3 workbooks.