CS 130 - Introduction to Computer Graphics

Fall '14
MW 2:10 - 3:30 pm
Location: Olmstead 1212

This class is an introductory undergraduate computer graphics class intended for students with interest in computer graphics, rendering, and animation. The course material will cover topics related to graphics fundamentals such as: geometry representations and transformations; rendering and light models; rasterization and anti-aliasing techniques; and basic animation. This course will include projects and/or indepth programming assignments. The students should know basic programming, algorithms, and linear algebra. Exposure to applications is made in the context of the fundamental concepts described as time allow.

Victor Zordan
337 Winston Chung Hall
Office Hours: 3-4 Tue and 11-12 Wed or by appointment (see email notes below)
Teaching Assistant
Paul Cernea ( pcern001 at ucr.edu)

General Information

In this course you will learn about current techniques in computer graphics. By the end of the course, you should be familar with:

The text for the class:

Computer Graphics with OpenGL by Hearn and Baker (recommended),
The textbook will be supplemented by handouts in class.


Grades will be determined based on the following breakdown:

Programs (2 x 10% = 20%)
Laboratory (15%)
In class participation (via clickers) (5%)
Tests (2 x 20% = 40%)
Final exam (20%)


The tentative schedule appears below. This syllabus is subject to change throughout the quarter. Changes will be posted online, access the website for the most up-to-date version of the schedule.

Week of Mon Wed
Oct 6 Introduction
Brief history of graphics
Lecture Slides
2D Lines/circles
Basic Algorithms for 2D
Lecture Slides
Oct 13 Hardware pipeline
Color Displays
Lecture Slides
Modeling and rendering curves
Parametric curves
Lecture Slides
Oct 20 Intro to polygons
Filling/scanline algorithms
Lecture Slides
Solid Constructive Geometry
Boolean operators
Lecture Slides
Oct 27 Test 1
Intro to transformation
Math/Lin Algebra review
Affine transformations
Composite transforms
Lecture Slides
Nov 3 Transformations (cont) / Projections
Rotation in practice
Parallel views
Simple 3D projections,
Lecture Slides
Dr. Shinar Guest Lecture

Lecture Slides

Nov 10 Projections (cont.)
Perspective Transform
Generalized viewing
Lecture Slides
Shading Intro
Phong Illumination
Reflection, refraction
Lecture Slides
Nov 17 Test 2
Intro to ray-tracing
Raytracing spheres
Lecture Slides
Nov 24 Ray tracing (cont.)
Polygon algorithms
Lecture Slides

Lecture Slides
Dec 1 Texture mapping
Lecture Slides
Procedural modeling
Lecture Slides
Dec 8 ***Cancelled*** Advanced Rendering
Lecture Slides

Final Exam 12/17/2014 7 to 8:30 p.m.

Programming Assignments

Projects Page

Labs, homeworks, programs: Information about labs will be given out by the lab TA for your assigned section during the lab. Please contact the lab TA for your section if you have questions about the lab in general. Programs and homeworks will be posted online on the class website (www.cs.ucr.edu/~vbz/cs130.html) and in general you will be given 3 weeks for programs and 1 week to complete homeworks. The due date will be specified along with turn-in instructions for the assignments. Programs must be turned in via the department's (secure) "turn in" system, details about late policies will be given in the lab.

Note on cheating: Cheating will not be tolerated, anyone suspected of cheating will be investigated until the truth be known. Anyone found to have cheated will be given a failing grade. During exams, your identity will be checked, so please bring your student ID or a valid license/passport or your mother. In programs, automatic and manual processes will be used to assess the uniqueness of your code. For programs and labs, you must be able to describe any and all work you hand in and we may conduct random verbal checks of your work. Once again, cheating will not be tolerated!

Note on availability: I (VBZ) will be available during office hours and by appointment only. Please respect this and email to set up an appointment if you cannot make the office hours. For questions regarding the labs and grading, please, contact your TA first. If you cannot resolve things with the TAs, then email me. Note, all class-related emails should have '[CS 130]' in the subject line. Thank you for your cooperation on this.

Contact Information:

vbz at cs.ucr.edu
Department of Computer Science and Engineering
University of California, Riverside