CMSC 435/634: Introduction to Computer Graphics

Fall 2019, M/W 1:00-2:15, Interdisciplinary Life Sciences 237

Instructor: Dr. Adam Bargteil <>
Office Hours: Mon/Wed 4:00-5:00; ITE 341

TA: <>
Office Hours:

Piazza Discussion Site

Prerequisite: MATH 221 (Linear Algebra), CMSC 313 (or other class covering C or C++), CMSC 341 (Data Structures)
(Yes, we will make heavy use of the prerequisites)


Official Required Text
Other useful graphics resources

Description: Introduction to graphics systems, rasterization, clipping, transformations, modeling, viewing, hidden surface removal, illumination, and shading. Emphasis on realistic, 3D image synthesis.


  1. Understand the foundations of computer graphics: hardware systems, math basis, light and color.
  2. Implement key components of the rendering pipeline. Understand the issues involved in implementing other components.
  3. Come to appreciate the complexities of modeling realistic objects through modeling complex scenes using a high-level scene description language.
  4. Become acquainted with some advanced topics in computer graphics; these might include texturing, animation, physically-based modeling, procedural modeling, curves and surfaces, global illumination, interaction, visualization, and virtual reality.

Grades: Grades will be based on programming assignments (75%) and midterm and final exams (25%). More specifically, there will be six (6) programming assignments and two (2) take home exams, all worth 125 points, extra credit options will be provided. Students in 435 will be graded out of 1000 points, students in 634 will be graded out of 1200 points. So, to get an "A" students in 634 will have to do some of the extra credit options (corresponding to roughly 20% more work).

Assignments: Programming assignments require the use of the C/C++ programming language. These assignments may be time-consuming. START EARLY! A tentative list is given below:

Assignment Description Due Date
Assignment 1 Ray Tracing I September 17
Assignment 2 Ray Tracing II October 1
Assignment 3 Rendering Pipeline October 15
Assignment 4 Modeling November 5
Assignment 5 Animation November 19
Assignment 6 Digital Photography December 10

Late Policy

Assignments are to be submitted electronically by 11:59 PM on the date listed. Late assignments will penalized with a multiplier in the range [0,1) depending on how late they are. Assignments received before the deadline have a multiplier of 1. For each hour late (or portion thereof) in the first 24 hours, the multiplier is decremented by 0.005. For hours 24-48, the multiplier is decremented by .01 for each hour. For hours 48-72, the multiplier is decremented by .02 per hour. After 72 hours, the multiplier is decremented by .04 per hour. After 76 hours, the multiplier reaches 0.

Academic Honesty

By enrolling in this course, each student assumes the responsibilities of an active participant in UMBC's scholarly community in which everyone's academic work and behavior are held to the highest standards of honesty. Cheating, fabrication, plagiarism, and helping others to commit these acts are all forms of academic dishonesty, and they are wrong.

All assignments and exams in the course are expected to be your INDIVIDUAL work. You area allowed to discuss programming assignments, but must do the coding yourself: words and math are OK, code is not. Any help you receive must be documented. At the beginning of the readme.txt submitted with each assignment, you must include a statement indicating the sources you used while working on it (excluding course staff and text) and the type of help you received from each. If you received no help, say so. Failure to include this statement with your assignment will result in your program being returned ungraded. For example, "I discussed the algorithms for this project with my study group, including student X and student Y. I also found some helpful descriptions on"

If it is determined that you have violated the academic dishonesty policy, you will receive a grade of -125 or -150 (for students in 435 or 634, respectively) for that assignment or exam.

Tentative Schedule

Required reading from the book should be completed BEFORE the first date listed below for maximum benefit

Date Topic FoCG Due
Aug 28 / Sep 4 Overview / Ray Tracing 1, 2, 3, 4  
Sep 9/11 More Ray Tracing 4, 13
Sep 16/18 Transformations 5, 6 Assignment 1
Sep 23/25 Viewing 7  
Sep 30 / Oct 2 Graphics Pipeline 8 Assignment 2
Oct 7/9 OpenGL / Shading / Texture 10,11
Oct 14/16 Signal Processing / Sampling 9,14 Assignment 3
Oct 21/23 MIDTERM Midterm due in class 10/23
Oct 28/30 Modeling 15,16
Nov 4/6 Animation/Mocap 17 Assignment 4
Nov 11/13 Data Structures 12
Nov 18/20 Digital Photography Assignment 5
Nov 25/27 Light / Color 20,21
Dec 2/4 Global Illumination 24
Dec 9 Final handed out Assignment 6
Dec 18 FINAL EXAM 1:00-3:00


There is a class web page, (or 634), where you will find this syllabus online, except you can follow all of the links. Important announcements and updates will be made to this class web page throughout the semester. I will announce at the beginning of class if I make a significant change or addition.

There is a class piazza site for this class. Everyone will be added to this site. Announcements will be made there, and you can also use it for public communication with your classmates, the TA and instructor. You should either check this site periodically, or make sure it is set to send you messages by email. Please only post messages appropriate for the entire class to see. Be sure to send messages about grades or other private matters directly to the instructor or TA.

Dr. Rheingans has some online notes from previous offerings of this course.

OpenGL Resources

Student Disability Services (SDS)

UMBC is committed to eliminating discriminatory obstacles that may disadvantage students based on disability. Services for students with disabilities are provided for all students qualified under the Americans with Disabilities Act (ADA) of 1990, the ADAAA of 2009, and Section 504 of the Rehabilitation Act who request and are eligible for accommodations. The Office of Student Disability Services (SDS) is the UMBC department designated to coordinate accommodations that would allow students to have equal access and inclusion in all courses, programs, and activities at the University.

If you have a documented disability and need to request academic accommodations, please refer to the SDS website at for registration information and to begin the process, or alternatively you may visit the SDS office in the Math/Psychology Building, Room 212. For questions or concerns, you may contact us through email at or phone (410) 455-2459.

If you require accommodations for this class, make an appointment to meet with me to discuss your SDS-approved accommodations.

Title IX

Any student who has experienced sexual harassment or assault, relationship violence, and or staking is encouraged to seek support and resources. There are a number of resources available to you.

With that said, as an instructor, I am considered a Responsible Employee, per UMBC's Interim Policy on Prohibited Sexual Misconduct, Interpersonal Violence, and Other Related Misconduct. This means that while I am here to listen and support you, I am required to report disclosures of sexual assault, domestic violence, relationship violence, stalking, and/or gender-based harassment to the University's Title IX Coordinator. The purpose of these requirements is for the University to inform you of options, support, and resources.

You can utilize support and resources even if you do not want to take any further action.
You will not be forced to to file a police report, but please be aware, depending on the nature of the offence, the University may take action.

If you need to speak with someone in confidence about an incident, UMBC has the following Confidential Resources available to support you:
The Counseling Center: 410-255-2742 (M-F 8:30-5)
University Health Services: 410-455-2542 (M-F 8:30-5)
For after-hours emergency consultation, cal the police at 410-455-5555

Quasi-confidention on-campus supports and resources:
The Women's Center (available to students of all genders): 410-455-2714 (M-Th 9:30-6, F 9:30-4)
Title IX Coordinator: 410-455-1606 (9-5)

Child Abuse and Neglect>br? Please note that Maryland law requires that I report all closure or suspicions of child abuse or neglect to the Department of Social Service and/or the police.