CS 130: Computer Graphics

General

Instructor

Craig Schroeder
Office Hours: MWF 12:30 PM - 1:30 PM, Chung 309, or by appointment
Email: craigs@cs.ucr.edu

Teaching Assistant

TBD
Office Hours: TBD
Email: TBD

Learning Outcomes

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

Schedule

Date Topic Reading Notes
06/22 introduction, math, raster colors 2.1-2.4.8, 3, 21 math, images
06/24 math, raytracing 2.5.5-2.5.7, 2.6, 4-4.4.4, 4.6 math, ray tracing
06/29 normals 2.5 normals
07/01 lighting, shading, falloff 4.5, 10 lighting, shading, falloff
07/06 shadows, reflections 4.7, 4.8 shadow, reflection
07/08 transmission 13.1 transmission
07/13 barycentric coordinates, triangles, meshes 2.7, 12.1 barycentric coordinates, meshes
07/15 antialiasing, acceleration 13.4, 12.3-12.5 antialiasing, acceleration
07/20 texture mapping 11 texture mapping
07/22 midterm
07/27 modern pipeline, rasterize lines 8.1.1 lines
07/29 rasterize triangles, z-buffer, transforms-linear 8.1.2, 8.2, 6 triangles, z-buffer
08/03 pipeline, pipeline transforms 8.2, 8.4, 7
08/05 pipeline transforms, pers-correct interp 7 pers-correct interp
08/10 clipping, clipping 8.1.3-8.1.6 clipping, clipping
08/12 rotations
08/17 curves, curves 15, 15
08/19 marching cubes, marching cubes 16.3, 16.3
08/24 review
08/26 TBD

Note on academic integrity

All assignments are to be completed individually unless otherwise stated. The following are not allowed in this course. For the purposes of this course, they are violations of academic integrity. Violations of academic integrity will result in a score of 0 for the relevant assignment and a lowering of the final course grade by one letter grade (e.g., from A to B). In more severe or repeat cases, violations will result in an 'F' for the course and a referral to the campus academic integrity committee.

The following are explicitly allowed.

If you find yourself struggling in the course, seek help early. The longer you wait, the fewer options will be available.

Start homework/projects early, especially coding parts. If you start the night before, your chances of successful completion are slim. Although the coding is not intended to take a long time, the time required for debugging is unpredictable and varies wildly from student to student.

Grading

10%discussion
10%homework
30%project
20%midterm
30%final
I do not follow a strict grading scheme, nor do I follow a strict curve. Instead, I do a hybrid between the two. (1) I do not curve individual assignments or exams, though I do include extra credit on some items. Curving only occurs at the end, if it occurs at all. (2) I never curve down. 90% is at least an A-, 80% is at least a B-, 70% is at least a C-, and 60% is at least a D. I will occasionally set lower cutoffs when the score distribution warrants it. (3) Other cutoffs (between A vs A-, B+ vs B, etc.) are based on the distribution of scores.