Course:CS 455 - Computer Graphics
Spring 2013
Description and objectives: In this course you will learn how our world is modeled in real-time using modern graphics hardware. From architectural design to exploratory data analysis to games, applications use interactive computer graphics to leverage our optical system's natural ability to interpret our environment. Topics from several major applications of interactive graphics will be covered, including virtual prototyping and design, data visualization, and entertainment.

Upon successfully completing this course, you will be able to:

  • Approximate our physical world through simplified geometric models, applying texture, illumination, and other effects like shadows to increase models' realism.
  • Reason about the synthesis of physics, mathematics, art, computer science, and the constraints that limit more accurate modeling.
  • Understand the essence of the computer graphics pipeline independent of a particular graphics API.
  • Develop graphics applications using programmable graphics hardware and OpenGL.
Instructor:Chris Johnson (
Office hours:MW 2-3 PM, T 2-3:15 PM in Phillips 134
Lecture:TR 11 AM-12:15 PM
Phillips 115
Exams:Final - ?
Textbook:OpenGL 4.0 Shading Language Cookbook (1st edition)
by David Wolff
ISBN: 978-1849514767
Grading: Your instructor is experimenting with ways to eliminate the terrible code he must grade. So, you will be guinea pigs in a slightly strange alpha-maturity grading system.

Grades are assigned based on a contract system. You, the student, pick the grade you want and complete the necessary tasks to achieve it. Tasks include completing homework assignment features, meeting the requirements for the presentations, and participating in lecture. Participation is measured by the number of participation points earned throughout the semester. (Teaching outlines and quarter-sheets are worth 1 point each.)

The grading matrix follows:

Homework FeaturesPresentation requirements not met, < 90% participationPresentation requirements not met, >= 90% participationPresentation requirements met, < 90% participationPresentation requirements met, >= 90% participation
0, 1, or 2FFFF
>= 10B-BB+A
Communication: Your instructor is finite and values focus. Please keep these points in mind when needing to communicate with him:
  • Honor your instructor's closed door. Please visit only during posted office hours. Do not drop by at other times without having scheduled a time via email at least one day before the meeting.
  • Your instructor values his time with family. He does not respond to email after 5 PM or on weekends. Plan accordingly.
Good studentship: Follow these principles to maximize your learning and grade:
  • A good education requires both good teaching and good learning. It takes hard work from both instructor and student.
  • Early is better than on time.
  • Plan for homework to take longer than you think.
  • Do your own coding. Discussion of problems is allowed, but using another's code, sharing your code with others, or soliciting solutions from others will earn you a report of academic misconduct and lower your grade. You don't want to live in a world serviced by people who did such things to squeak by, so don't do them yourself.
  • Grades are calculated according to your achievement, not your circumstances.
Accommodations: Any student who has a disability and is in need of classroom accommodations, please contact the instructor and the Services for Students with Disabilities Office in Old Library 2136 at the beginning of the semester.
Easter egg: Go on to the course blog and read the homework specification. Embedded within it is a mathematical expression. Each student who evaluates the expression and sends the instructor an email with the value by the end of Friday, January 25, gets 1 participation point.