Instructor: Joshua A. Levine
Office: 754 Gould-Simpson
Meets: M/W 5:00-6:15pm, 906 Gould-Simpson
Office Hours: M 3:30-4:30pm, T 4:30-5:30pm
TA: Chinmai Basavaraj, chinmaib@email.arizona.edu
TA Office Hours: W 3:30-4:30pm, R 9:30-10:30am (GS 919)

Course Syllabus
D2L (for 433)
D2L (for 533)
Piazza


Course Calendar

(tentative, subject to change)

Week Date Monday Date Wednesday
1 Aug 26 Introduction Aug 28 Javascript Intro
2 Sep 02 -- Labor Day -- Sep 04 Raster Images
3 Sep 09 Color and Perception Sep 11 Signal Processing
4 Sep 16 Tone Reproduction Sep 18 Image Compositing
5 Sep 23 Chapter 2 Math + Coding Sep 25 Ray Tracing 1
6 Sep 30 Ray Tracing 2 Oct 02 Ray Tracing 3
7 Oct 07 Ray Tracing 4 Oct 09 Global Illumination
8 Oct 14 Triangle Meshes Oct 16 Acceleration Structures
9 Oct 21 Midterm Exam Oct 23 -- IEEE VIS --
10 Oct 28 Matrix Math + Coding Oct 30 Transformations
11 Nov 04 Viewing Nov 06 Graphics Pipeline 1
12 Nov 11 -- Veterans Day -- Nov 13 Graphics Pipeline 2
13 Nov 18 Textures Nov 20 Animation 1
14 Nov 25 Animation 2 Nov 27 Animation 3
15 Dec 02 Curves Dec 04 Curves/Surfaces
16 Dec 09 Implicit Modeling Dec 11 Final Exam Review

Final Exam: Thur., Dec 19, 1-3pm, 906 Gould-Simpson
Highlighted dates have a programming assignment due by the end of the previous day.
Boxed dates correspond to the nearest class day to the deadlines for the dropping (without a W) and the withdraw deadlines for this semester. See Fall 2019 Undergraduate Dates and Deadlines and Fall 2019 Graduate Dates and Deadlines for complete details.

Link to Google drive folder with all lecture slides



Lecture 01 - Introduction (slides)

Date: August 26, 2019

Required Reading: Optional Reading:
  • Javascript and CSC559 - Michael Gleicher (Wisconsin). An interesting perspective on Javascript and Graphics, and some useful links to learning Javascript

Lecture 02 - Javascript Intro (slides)

Date: August 28, 2019

Required Reading: Optional Reading:
  • Eloquent JavaScript, 3rd Edition: A Modern Introduction to Programming (note, this is as a reference. The book is a great way to learn ES6, but you need not read it all at once)
  • Introductions to the Web Stack, Javascript, and DOM Manipulation - Carlos Scheidegger (Arizona). These links cover the first few lectures of CSC 444. Not all of the material is relevant to our course (you will not need any of the info about CSS or SVGs), but especially the Javascript lecture will provide you another opportunity for practice! His Quizzes also are useful practice.
  • Advice on Learning Javascript - Michael Gleicher (Wisconsin). Other than the textbook links, check out the video lectures at the bottom of this page for more repetition on the basics of the language, closures, and more
  • Example Code from Class - use `git clone https://github.com/UA-CSC433-Fall2019/l02_examples` to download

Lecture 03 - Raster Images (slides)

Date: September 04, 2019

Required Reading:
  • FOCG, Ch. 3 (particularly 3.1-3.2)
Optional Reading:

Lecture 04 - Color and Perception (slides)

Date: September 09, 2019

Required Reading:
  • FOCG, Ch. 3.3
  • FOCG, Ch. 19
Optional Reading:

Lecture 05 - Signal Processing (slides)

Date: September 11, 2019

Required Reading:
  • FOCG, Ch. 9 (particularly 9.1-9.2, 533 students should also look at 9.3-9.4)
Optional Reading:
  • What Is a Pixel? - James F. Blinn. IEEE Computer Graphics and Applications 25(5): 82-87, 2005.

Lecture 06 - Tone Reproduction (slides)

Date: September 16, 2019

Required Reading:
  • FOCG, Ch. 21 (particularly 21.1-21.3)
Optional Reading:

Lecture 07 - Image Compositing

Date: September 18, 2019

Required Reading:
  • FOCG, Ch. 3.4
  • FOCG, Ch. 20.1-20.2
  • Compositing Digital Images. Thomas Porter and Tom Duff, SIGGRAPH Comput. Graph. 18(3): 253-259, 1984.
Optional Reading:

Lecture 08 - Chapter 2 Math + Coding

Date: September 23, 2019

Required Reading:
  • FOCG, Ch. 2 (particularly 2.1-2.4)

Lecture 09 - Ray Tracing 1

Date: September 25, 2019

Required Reading:
  • FOCG, Ch. 4.1-4.4

Lecture 10 - Ray Tracing 2

Date: September 30, 2019

Required Reading:
  • FOCG, Ch. 4.5-4.9

Lecture 11 - Ray Tracing 3

Date: October 02, 2019

Required Reading:
  • FOCG, Ch. 4 (all), 10

Lecture 12 - Ray Tracing 4 (tentative)

Date: October 07, 2019

Required Reading:
  • FOCG, Ch. 13
Optional Reading:

Lecture 13 - Global Illumination (tentative)

Date: October 09, 2019

Required Reading:
  • FOCG, Ch. 23
Optional Reading:

Lecture 14 - Triangle Meshes (tentative)

Date: October 14, 2019

Required Reading:
  • FOCG, Ch. 12.1

Lecture 15 - Acceleration Structures (tentative)

Date: October 16, 2019

Required Reading:
  • FOCG, Ch. 12.3

Lecture 17 - Matrix Math + Coding (tentative)

Date: October 28, 2019

Required Reading:
  • FOCG, Ch. 5

Lecture 18 - Transformations (tentative)

Date: October 30, 2019

Required Reading:
  • FOCG, Ch. 6

Lecture 19 - Viewing (tentative)

Date: November 04, 2019

Required Reading:
  • FOCG, Ch. 7

Lecture 20 - Graphics Pipeline 1 (tentative)

Date: November 06, 2019

Required Reading:
  • FOCG, Ch. 8.1
Optional Reading:

Lecture 21 - Graphics Pipeline 2 (tentative)

Date: November 13, 2019

Required Reading:
  • FOCG, Ch. 8.2

Lecture 22 - Textures (tentative)

Date: November 18, 2019

Required Reading:
  • FOCG, Ch. 11.1-11.4

Lecture 23 - Animation 1 (tentative)

Date: November 20, 2019

Required Reading:
  • FOCG, Ch. 16.1-16.2,16.4
Optional Reading:

Lecture 24 - Animation 2 (tentative)

Date: November 25, 2019

Required Reading:
  • FOCG, Ch. 16.3,16.5
Optional Reading:

Lecture 25 - Animation 3 (tentative)

Date: November 27, 2019

Required Reading:
  • FOCG, Ch. 16.6-16.7
Optional Reading:

Lecture 26 - Curves (tentative)

Date: December 02, 2019

Required Reading:
  • FOCG, Ch. 15

Lecture 27 - Curves/Surfaces (tentative)

Date: December 04, 2019

Required Reading:
  • FOCG, Ch. 15
Optional Reading:

Lecture 28 - Implicit Modeling (tentative)

Date: December 09, 2019

Required Reading:
  • FOCG, Ch. 22
Optional Reading:

Assignment 01 - Image Basics
  Assigned: Aug 28
  Written: Sep 09 04:59:59 PM
  Due: Sep 11 04:59:59 PM
  Graded: Sep 18

Assignment 02 - Images
  Assigned: Sep 11
  Written: Sep 23 04:59:59 PM
  Due: Sep 25 04:59:59 PM
  Graded: Oct 02

Assignment 03 - Scaffolding
  Assigned: Sep 25
  Written: Oct 07 04:59:59 PM
  Due: Oct 09 04:59:59 PM
  Graded: Oct 16

Assignment 04 - Ray Tracing
  Assigned: Oct 09
  Written: Oct 23 04:59:59 PM
  Due: Oct 28 04:59:59 PM
  Graded: Nov 04

Assignment 05 - Shapes
  Assigned: Oct 28
  Written: Nov 11 04:59:59 PM
  Due: Nov 13 04:59:59 PM
  Graded: Nov 20

Assignment 06 - Rasterizer
  Assigned: Nov 13
  Written: Nov 25 04:59:59 PM
  Due: Nov 27 04:59:59 PM
  Graded: Dec 04

Assignment 07 - Animation
  Assigned: Nov 27
  Written: Dec 09 04:59:59 PM
  Due: Dec 11 04:59:59 PM
  Graded: Dec 18