Introduction to Computer Graphics


Time: Tuesdays & Thursdays 2:30-3:45pm
Location: CS142
Instuctor: Evangelos Kalogerakis (kalo AT cs DOT umass DOT edu)
Instructor office hours: Mondays 2-3pm; Wednesdays 12-1pm; at other times, drop in or make an appointment (office CS250).
TA office hours: Fridays 1-2pm (office CS207)
Lecture notes, programming resources, forum, and assignments are posted on Moodle.

Course Description

This course teaches students fundamental algorithms for 2D and 3D computer graphics. The course introduces the OpenGL API that is used in the programming assignments. Then it discusses the graphics pipeline, 2D/3D transformations, hierarchical transformations, viewing transformations, rasterization, shading, texture mapping, and programmable shaders. The course proceeds with algorithms and techniques for curve and shape modeling, including parametric, polygonal, and subdivision modeling. It then covers image processing and advanced rendering techniques, such as ray tracing, shadow mapping, and anti-aliasing. It concludes with animation techniques including keyframing, motion capture, character rigging and skinning, forward and inverse kinematics, and physically-based animation.

Students are required to complete 5 programming assignments in Java. There is also a final exam.

The course has the following prerequisites:  (a) COMPSCI 187 [or equivalent, such as ECE 242)] (b) INFO 150 -or- MATH 235 -or- COMPSCI 240 [or equivalent courses from other departments]. The course offers 3 credits.

Week-by-week outline

Week 1: Introduction to Computer Graphics, Introduction to OpenGL, Linear Algebra review [assignment 1]
Week 2: 2D/3D transformations, homogeneous coordinates
Week 3: Polygon mesh data structures, Hierarchical transformations, Viewing transformations [assignment 2]
Week 4: Basic Shading, Rasterization, Visibility
Week 5: Texture Mapping, Shadow Mapping, Programmable Shaders [assignment 3]
Week 6: Modeling with parametric curves and surfaces
Week 7: Subdivision modeling, Polygonal Modeling [assignment 4]
Week 8: Basic ray tracing
Week 9: Advanced ray tracing [assignment 5 / project]
Week 10: Image Processing
Week 11: Animation techniques, Character rigging, Forward/Inverse Kinematics
Week 12: Physically-based animation
Week 13: Machine learning for graphics, course re-cap

Marking scheme

60% Programming assignments / Course project
25% Final exam
15% Weekly quizzes

Scores to letter conversions:
95%-100% A
90%-95% A-
85%-90% B+
80%-85% B
75%-80% B-
70%-75% C+
65%-70% C
60%-65% C-
55%-60% D+
50%-55% D

Books (optional)

a) Fundamentals of Computer Graphics, Peter Shirley et al
b) OpenGL Programming Guide (known as the Red Book)

Accommodation Statement

The University of Massachusetts Amherst is committed to providing an equal educational opportunity for all students.  If you have a documented physical, psychological, or learning disability on file with Disability Services (DS), you may be eligible for reasonable academic accommodations to help you succeed in this course.  If you have a documented disability that requires an accommodation, please notify me within the first two weeks of the semester so that we may make appropriate arrangements.

Academic Honesty Statement

Since the integrity of the academic enterprise of any institution of higher education requires honesty in scholarship and research, academic honesty is required of all students at the University of Massachusetts Amherst.  Academic dishonesty is prohibited in all programs of the University.  Academic dishonesty includes but is not limited to: cheating, fabrication, plagiarism, and facilitating dishonesty.  Appropriate sanctions may be imposed on any student who has committed an act of academic dishonesty.  Instructors should take reasonable steps to address academic misconduct.  Any person who has reason to believe that a student has committed academic dishonesty should bring such information to the attention of the appropriate course instructor as soon as possible.  Instances of academic dishonesty not related to a specific course should be brought to the attention of the appropriate department Head or Chair.  Since students are expected to be familiar with this policy and the commonly accepted standards of academic integrity, ignorance of such standards is not normally sufficient evidence of lack of intent (

back to Evangelos Kalogerakis' page