 
Monday  Wednesday  Friday  assignments / exams / key dates  
08 January 2018
Lecture 01 Course Overview, Introduction to Computer Graphics 
10 January 2018
Lecture 02 Image Formation, the Polygon Projection (Programmable) Pipeline 
12 January 2018 Lab 01 Introduction to IU Github, and a simple fragment shader 
classes begin (week 01) 

15 January 2018 Martin Luther King Jr. Day (no classes) 
17 January 2018
Lecture 03 Raster Graphics Hardware 
19 January 2018 Lab 02 introduction to object definition and modeling 
Homework 01 due on Monday January 22 at 4:00PM on IU GitHub (Sample Solutions) (week 02) 

22 January 2018
Lecture 04 2D Transformations 
24 January 2018
Lecture 05 a first OpenGL ES / GLSL program 
26 January 2018 Lab 03 Introduction to OpenGL ES on iOS and Xcode 
(week 03) 

29 January 2018
Lecture 06 2D Transformations, continued 
31 January 2018 Lecture 07 2D operations: pointpoint, pointline, lineline 
03 February 2018 Lab 04 OpenGL ES primitives, GLSL varying variables, and animation 
Assignment 01 due on Monday, February 12 at 11:59PM on IU GitHub (Sample Solution) (week 04) 

05 February 2018
Lecture 08 math for Interactive 2D Graphics: point, line 
07 February 2018
Lecture 09 LineLine Intersections, InsideOutside Tests, Line Clipping 
10 February 2018 Lab 05 documenting Assignment 01 work 
(week 05) 

12 February 2018 Lecture 10 CyrusBeck Clipping Algorithm, Rectangular Region Clipping: CohenSutherland Algorithm 
14 February 2018 Lecture 11 2D Cubic Splines: from linear to quadratic to cubic, the De Casteljau method 
16 February 2018 Lab 06 topics 
Homework 02 due on Thursday, February 22 at 11:59PM on IU GitHub (Sample Solutions) (week 06) 

19 February 2018 Lecture 12 Splines, Curves and Surfaces; Designing Parametric Cubic Curves; Bezier and BSpline Curves and Surfaces 
22 February 2018 Lecture 13 2D Cubic Spline Types: Bezier, CatmullRom, BSpline (A.Hanson notes on Cubic Splines) 
24 February 2018 Lab 07 topics 
(week 07) 

26 February 2018 Lecture 14 topics for Assignment 02: computing spline interpolations in the Vertex Shader 
28 February 2018 Lecture 15 Review: Polygon Projection Pipeline Stages. topics for Assignment 02: computing cubic splines, De Casteljau (A.Hanson notes on Spline Algorithms) vs. matrix multiplications. 
02 March 2018 Lab 08 topics 
Assignment 02 due on Tuesday, 20 March on IU GitHub (week 08) 

05 March 2018 Midterm Guide Midterm Exam 
07 March 2018 Lecture 16 intro to illumination: Lambert's law for modeling diffuse illumination 
09 March 2018 Lab 09 help (ungraded) for Assignment 02 
Sunday 11 March: Withdrawal with Automatic W  "Last day to drop a course with an automatic W." (week 09) 

Spring Break  no classes  "Break begins after last class on Saturday, March 10; classes resume on Monday, March 19."  (week 10)  
19 March 2018 Lecture 17 (Color) Logical Operations & Blending Operations; Specular (PhongBlinn) Illumination; PerFragment (Phong Interpolation) Shading 
21 March 2018 Lecture 18 Color Models; Smooth (Gouraud Interpolation) Shading 
23 March 2018 Lab 10 testing colors, projection, etc. 
Homework 03 due on Thursday, March 29 at 11:59PM on IU GitHub (sample solutions) (week 11) 

26 March 2018 Lecture 19 (Color) Logical Operations & Blending Operations; Specular (PhongBlinn) Illumination; PerFragment (Phong Interpolation) Shading 
28 March 2018 Lecture 20 3D Projections 
30 March 2018 Lab 11 perspective transformation matrix 
(week 12) 

02 April 2018 Lecture 21 Useful Math for 3D 
04 April 2018 Lecture 22 3D Rotations 
06 April 2018 Lab 12 basic 3D camera motion 
Assignment 03 due on Friday, 13 April at 11:59PM on IU GitHub (week 13) 

09 April 2018 Lecture 23 interactive 3D graphics programming: camera setup, part 1 
11 April 2018 Lecture 24 interactive 3D Rotations: details 
13 April 2018 Lab 13 help (ungraded) for Assignment 03: consult (updated) Lecture 24 notes about interactive 3D rotations, and ask your lab assistant for help! 
(week 14) 

16 April 2018 Lecture 25 & 25b Hidden Surface Removal: model occlusions, painter's algorithm  depth sort, scan line algorithm, Zbuffer  depth buffer method Camera setup: camera frame, flying camera controls, azimuth/elevation/tilt 
18 April 2018 Lecture 26 Halftoning, Dithering, Texture Mapping 
20 April 2018 Lab 14 texture mapping 
Assignment 04 due on Sunday, 22 April at 11:59PM on IU GitHub note: there is no penalty if you submit your assignment late, as long as:


23 April 2018 Lecture 27 & 27b Bump Mapping, Height Maps and Normal Maps; Scene Graphs 
25 April 2018 Lecture 28 Stereo 3D; Ray Tracing, Radiosity; Marching Squares and Marching Cubes Algorithms 
27 April 2018 Lab 15 student presentations: from 11:15AM to 1PM in LH030 
Homework 04 due on Thursday, May 03 at 11:59PM on IU GitHub (sample solutions) (week 16) 



04 May 2018 Final Exam Guide Final Exam in SY 212, 12:302:30 p.m., Friday, May 4 
Final Exams  "Final Exams week is from Monday, April 30, to Friday, March 04."
(week 17) 

Mitja Hmeljak 2018 