CS112 Introduction to Computer Graphics

University of California @ Irvine, Fall 2019

Tuesday/Thursday 8:00 am, PCB 1100

Instructor: Shuang Zhao (office hour: Wednesday 10 am, DBH 4214)

TA: Saad Manzur (email: smanzur at uci)



date topic assignments
26Sep intro PA0 out
1Oct object representation/rendering pipeline  
3Oct transformations 1  
8Oct transformations 2  
10Oct projection PA1 out, PA0 due
15Oct illumination & shading  
17Oct clipping & scanning polygons  
22Oct texture mapping  
24Oct bump/normal mapping PA2 out, PA1 due
29Oct compositing techniques & projective textures  
31Oct sampling  
5Nov color  
7Nov display
midterm review
PA2 due
12Nov midterm (in class) PA3 out
14Nov physics-based animation intro. & ODE basics  
19Nov discussing midterm exam
21Nov particle dynamics
26Nov ray tracing PA3 due
final project out
28Nov no class (thanksgiving)  
3Dec radiometry & rendering equation  
5Dec Monte Carlo & path tracing  
10Dec (no final exam) final project due

Programming Assignments

There will be four (4) programming assignments and one (1) final project.

Due date: Wednesday, Oct 9 by 11:59 pm

See the assignment document here.

Due date: Wednesday, Oct 23 by 11:59 pm

See the assignment document here.

Due date: Wednesday, Nov 6 by 11:59 pm

See the assignment document here.

Due date: Wednesday, Nov 27 by 11:59 pm

See the assignment document here.

Due date: Tuesday, Dec 10 by 11:59 pm

See the assignment document here.

Course Policies

Grading policy:

Questions, help, discussion: Use Piazza (handy link at the top of this page) for all your questions. The teaching staff will answer questions over there for the benefit of all students. Students are also encouraged to participate in answering questions on piazza if they are confident they know the answer. DO NOT email the teaching staff unless its a personal issue.

You are responsible for anything communicated in class by the instructor, including class announcements. If you have to miss lecture for any reason, please ask one of your classmates to fill you in on what you missed. You can use the message board to ask general questions that your classmates can answer.

Academic integrity: We assume the work you hand in is your own, and the results you hand in are generated by your program. You're welcome to read whatever you want to learn what you need to do the work, but we do expect you to build your own implementations of the methods we are studying. If you're ever in doubt, just include a citation in your code or report indicating where some idea came from, whether it be a classmate, a web site, another piece of software, or anything—this always maintains your honesty, whether the source was used in a good way or not. The principle is that an assignment is an academic document, like a journal article. When you turn it in, you are claiming that everything in it is your original idea (or is original to you and your partner, if you're handing in as a pair) unless you cite a source for it.

School can be stressful, and your coursework and other factors can put you under a lot of pressure, but that is never a reason for dishonesty. If you feel you can't complete the work on your own, come talk to the professor, or your advisor, and we can help you figure out what to do. Think before you hand in!

Clear-cut cases of dishonesty will result in failing the course.

For more information see UCI's Policy on Academic Honesty.

Collaboration: You are welcome (encouraged, even) to discuss projects among yourselves in general terms. But when it comes to writing up the homeworks or implementing the projects, you need to be working alone (or only with your partner if you are doing a project as a pair). In particular, it's never OK for you to see another student's homework writeup or another team's program code, and certainly never OK to copy parts of one person's or team's writeup, code, or results into another's, even if the general solution was worked out together.