CS 788: Selected Topics in Computer Science - Advanced Computer Graphics

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 hands-on 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 hands-on introduction to recent advanced topics, e.g., subdivision surfaces, real-time 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
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 Top-Down Approach
Feb 23 Ray Tracing Ch11 (pages 559 - 569) in Interactive Computer Graphics - A Top-Down Approach

Ch10 in Fundamentals of computer graphics, Peter Shirley

Free ray tracing program POV-Ray at

Siggraph 2005 course notes: Introduction to Real-Time Ray Tracing
Feb 23 Homework#1
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 Top-Down 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


March 22 Homework#2
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 Top-Down 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

• 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

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:

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.