Interactive Graphics
CSCI B481 Spring 2017  ---  Syllabus

lecture: TR 11:15AM-12:30PM I2 130 (Info East)
lab: F 11:15AM-12:30PM LH030
Mitja Hmeljak
mitja*indiana-edu
office hours: TR 2:30-3:30PM or by appointment,
Lindley Hall 425
Assistant Instructors:
Leif Christiansen
leifchri*iu*edu, office hours:
Wed 8:30-9:30AM, Lindley Hall 030
Steve Babcock,
wsbabcoc*iu*edu:
Mon 1:00-2:00PM, Lindley Hall 201
B481 Canvas page
B481 IU Github page
B481 Course Listing
  lectures/labs (tentative --- subject to change at any time)   assignments / exams / key dates
  Tuesday   Thursday   Friday
10 January 2017  
Lecture 01
Course Overview,
Introduction to Computer Graphics
12 January 2017 writingboard
Lecture 02
Image Formation,
the Polygon Projection (Programmable) Pipeline
13 January 2017 
Lab 01
Introduction to IU Github, and a simple Shadertoy fragment shader function
classes begin
(week 01)
17 January 2017writingboard
Lecture 03a, Lecture 03b
Introduction to the Shader-based Pipeline;
Introduction to math and 2D Geometry for Computer Graphics
19 January 2017writingboard
Lecture 04
The OpenGL ES 2.0 Shader-based Pipeline execution model; using Vertex Buffers for Attribute Variables in GLSL 
20 January 2017
Lab 02
Introduction to Xcode and OpenGL ES on iOS
(week 02)
24 January 2017writingboard
Lecture 05
Math for 2D Transformations
26 January 2017writingboard
Lecture 06
Topics Review and help for Homework 01
27 January 2017 
Lab 03
Introduction to Android Studio and OpenGL ES on Android
Homework 01
due on Sunday January 29 at 11:59PM
on IU GitHub
(week 03)
31 January 2017 writingboard
Lecture 07
2D Transformations, continued
02 February 2017 writingboard
Lecture 08
Combining Modeling Transformations; Hierarchy of Transformations
03 February 2017
Lab 04
topics
Assignment 01
due on Monday February 06 at 11:59PM
on IU GitHub
(week 04)
07 February 2017 writingboard
Lecture 09
2D Geometry Calculations
for Interactive 2D Graphics:
points and lines
09 February 2017 writingboard
Lecture 10
Linear Interpolation,
2D Geometry Calculations
for Interactive 2D Graphics:
proximity, in/out tests
10 February 2017
Lab 05
first "robot arm" modeling sketch
Homework 02
due on Wednesday, 15 February at 11:59PM
on IU GitHub
(week 05)
14 February 2017 writingboard
Lecture 11
clipping
16 February 2017 writingboard
Lecture 12
clipping
17 February 2017
Lab 06
quiz (ungraded) practice for midterm
Assignment 02
due on Friday, 24 February at 11:59PM
on IU GitHub
(week 06)
21 February 2017writingboard
  Lecture 13
Setting up GLSL shaders.
Android-run OpenGL ES code.
23 February 2017writingboard
  Lecture 14
topics
24 February 2017
Lab 07
help (ungraded) for Homework 03
Homework 03
due on Tuesday 28 February at 11:59PM
on IU GitHub
Sample Solutions

(week 07)
28 February 2017writingboard
  Lecture 15 and
  Midterm Exam Review
Q & A about HW03 and A02 topics
02 March 2017 
  Midterm Exam
topics: everything covered so far
03 March 2017
Lab 08
help (ungraded) for Assignment 03
Assignment 03
due on Sunday 05 March at 11:59PM
(free extension until Thursday 09 March)
on IU GitHub
(week 08)
07 March 2017writingboard
  Lecture 16
topics
09 March 2017
  Lecture 17
topics
10 March 2017
Lab 09
topics
Sunday 12 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 11; classes resume on Monday, March 20."  
(week 10)  
21 March 2017
  Lecture 18
Evaluating Spline Curves on the GPU
23 March 2017
  Lecture 19
Intro to 3D; Perspective Projections
24 March 2017
Lab 10
Perspective Projection
Homework 04
due on Sunday 26 March at 11:59PM
on IU GitHub
(week 11)
28 March 2017
  Lecture 20
topics
30 March 2017
  Lecture 21
topics
31 March 2017
Lab 11
topics
Assignment 04
due on Saturday 08 April at 11:59PM
on IU GitHub
(week 12)
03 April 2017
  Lecture 22
Illumination, Lambert's law for diffuse illumination model
06 April 2017
  Lecture 23
Phong's specular reflection illumination model,
Gouraud shading
07 April 2017
Lab 12
basic camera motion
Homework 05
due on Wednesday 12 April at 11:59PM
on IU GitHub
(week 13)
11 April 2017
  Lecture 24
from Gouraud shading to Phong shading
13 April 2017
  Lecture 25
topics
14 April 2017
Lab 13
4x4 uniform var for pipeline transformations
Assignment 05
due on Tuesday 18 April at 11:59PM
grace period until Sunday 23 April at 11:59PM
on IU GitHub
(week 14)
18 April 2017
  Lecture 26
color models; logic operations
20 April 2017
  Lecture 27
color & logic operations, blending operations
21 April 2017
Lab 14
testing colors, projection, etc.
Homework 06
due on Sunday 23 April at 11:59PM
grace period until Sunday 30 April at 11:59PM
on IU GitHub
Assignment 06
due on Sunday 23 April at 11:59PM
grace period until Thursday 04 May at 11:59PM
on IU GitHub

(week 15)
25 April 2017
  Lecture 28 A and B
texture mapping; bump mapping
27 April 2017
  Lecture 29
(and student presentations)
topics
28 April 2017
Lab 15
(student presentations)
topics
(week 16)


04 May 2017
  Final Exam
in I2 130 (Info East), 10:15 a.m.-12:15 p.m., on Thursday, May 4


Final Exams - "Final Exams week is from Monday, May 01, to Friday, March 05."
(week 17)
Mitja Hmeljak 2017