Instructor: Dr. Jamal Alsakran
Office location: KASIT 1st floor (Computer Science Department)
Office hours: 12  1 (Sun, Tue, Thur)
Email: j.alsakran[at]ju.edu.jo
Prerequisite: Prior exposure to computer graphics. Good programming skills and knowledge of linear algebra and 3D calculus will be helpful.
Programming: This is relatively a programming intensive class. So please be prepared for extensive work on programming projects, including coding, debugging and possible team work. You might need to make extra effort and working load if your programming skills need to be trained and improved. All codes that I provide to demonstrate concepts or start up projects are going to be in C++, if you choose another language (e.g. Java or Python) you will need to make some extra effort in your own.
Course Description
This course will be a handson class on advanced computer graphics. It will cover major aspects of digital image generation: geometric modeling, computer animation, and rendering. The goal of the course is to provide a strong foundation for computer graphics principles, and provide a handson introduction to recent advanced topics, e.g., subdivision surfaces, realtime global illumination, and physically based animation.
Course Content:
Date  Topic  Assignments  Notes 

Feb 2  Review: Vectors and Matrices  Ch2 and Ch3 in Mathematics for 3D Game Programming and Computer Graphics  
Feb 9  Assignment#1 Scores 
Due Date:Tuesday 16/2/2016 by 4 pm Submission in class or via Elearning. No emails 

Feb 9  Review: Computer Graphics Basics  3D Graphics with OpenGL  Basic Theory  
Feb 16  Lighting and Shading  Ch5 in Interactive Computer Graphics  A TopDown Approach  
Feb 23  Ray Tracing  Ch11 (pages 559  569) in Interactive Computer Graphics  A TopDown Approach Ch10 in Fundamentals of computer graphics, Peter Shirley Free ray tracing program POVRay at http://www.povray.org/ Siggraph 2005 course notes: Introduction to RealTime Ray Tracing 

Feb 23  Homework#1 Scores 
Due Date:Tuesday 8/3/2016 by 4 pm Submission via Elearning. No emails 

March 1  Ray Tracing Continues  
March 8  Curves and Surfaces  Ch12 (pages 503  533) in Interactive Computer Graphics  A TopDown Approach Ch15 in Fundamentals of computer graphics, Peter Shirley 

March 15  No class  
March 22  Curves and Surfaces Continue  How to setup OpenGL with Visual Studio Curve.cpp Matrix.h Matrix.cpp bezier_surface.m 

March 22  Homework#2 Scores 
Due Date:Tuesday 5/4/2016 by 4 pm Submission via Elearning. No emails 

March 29  Subdivision  The Computer Graphics Manual  Ch 15 Subdivision Methods SIGGRAPH 2000 Course Notes  Subdivision for Modeling and Animation 

April 5  Sample Questions  
Midterm Exam on Tuesday 12/4/2016  
April 5  Texture Mapping  Ch7 (pages 366  374) in Interactive Computer Graphics  A TopDown Approach Ch11 in Fundamentals of computer graphics, Peter Shirley 

April 12  Midterm Exam  
April 12  Homework#3Scores 
Due Date:Thursday 21/4/2016 by Midnight  
April 12  Homework#4  Due Date:Tuesday 3/5/2016 by 4 pm  
April 19  
April 26  Introduction to D3  https://d3js.org/  
May 3  Students Presentations  
May 8  Totals (out of 60)  
Final Exam is going to be held on Tuesday May 17, 2015 from (12  2) at KASIT 101 
Topics:
• Vectors and Matrices
• Review of Computer Graphics Basics
• Shading and Lighting
• Ray tracing
• Global Elimination
• Curves and Surfaces
• Subdivision
• Mesh Fairing
• Texture Mapping
• Physically Based Modeling
• Photon Mapping
Grading:
There will be a few relatively easy homework assignments, three moderate to hard programming assignments and a paper presentation during the last week of the semester. Midterm and final exams are open book (possibly take home). Below are the assigned weights:
MidTerm  Homework & Assignments  Paper Presentation  Final 

20  30  10  40 
Text Book:
Unfortunately, no single textbook covers all the material of this course. We will make class notes and papers available instead.
We recommend the textbooks below:
Ethics:
The honor code applies to all work turned in for this course including exams and assignments. It is important that you understand the solutions to all problems, and the best way to gain an understanding is to work them out and write them up by yourself. Hence the policy is that you must submit your own work and clearly list your references. You may not share your work with other students, unless it is allowed as group. Violating the policy will be taken as a no submission state for the assignment. University regulations will be preserved at all times.