CS 8721 - Adv Computer Graphics - Fall 2013

Course Syllabus

Location: MWAH 175 (Lecture)
Time: 9:00am - 9:50am MWF; 8:00am - 8:50am W (Lecture)
Instructor: Pete Willemsen, HH 331
Office Hours:
      Mon 11am - 11:45am MWAH 143
      Wed 1pm - 2pm HH 331
      Fri 10am - 11am HH 331

Course Description

The course will introduce the fundamentals of computer graphics that are used to create computer rendered images of 3D representations. The topics presented will focus on the concepts necessary for color representation, vector and matrix mathematics, 3D viewing, and hidden surface elimination. Additional topics will likely include image texturing, ray tracing, and/or visual perception. Over the course of the semester, students will implement different portions of the 3D graphics pipeline and will have developed an understanding for how 3D graphics is programmed.

Readings

The course will use the book Fundamentals of Computer Graphics, 3rd Edition, P. Shirley, A.K. Peters, 2009. This book is required for the course and it is highly recommended that you use the 3rd edition.

Course Goals

The goal of the course is to provide graduate students with a solid understanding for what it takes to implement 3D graphics algorithms. To achieve this goal, students will be introduced to the software technology behind computer graphics, focusing on ray tracing and other realistic rendering techniques.

In addition to the required book, students will read research papers and be expected to participate in class discussions relating to the research papers. To facilitate course discussion, students will compose a thought paper for each reading that summarizes the concepts in the readings bringing up interesting points for discussion, as well as questions about the readings. Students will also be required to work on programming assignments related to the course.

1. Programming Assignments (35%) - There will be several programming assignments (sometimes weekly) given over the course of the semester. Programming assignments need to be coded in C++ and submitted to course Moodle. All programming assignments are meant to be done by each person in the class. You must do your own work on these assignments and cannot collaborate with other people in the class or outside of it. Also note that if you turn in code that is not your own (e.g. taken from a book, copied from someone else, used from an online source, or written by someone other than yourself), you WILL receive a zero on the assignment and may be subject to harsher University rules and regulations. I will be using Moss (and other online systems when applicable) for detecting software plagiarism. You have been warned.

2. Mid-term Exam (25%) - The mid-term exam will cover the material from the first half of the course. The mid-term exam is tentatively set for Oct 20.

3. Final Exam (30%) - The final exam will cover the material across the entire course with some focus applied to the second half of the semester. There are no excuses for missing the final! The final exam is scheduled for Tuesday, December 17 from 10:00am - 11:55am, according to the Final Exam Schedule.

4. Class Discussion and Thought Papers (10%) - We will read research papers and discuss them in class. Prior to class discussion, a thought paper (for any reading) will need to be turned in that discusses the concepts and interesting points in the reading. Do not simply reiterate the points of the paper. I expect that thought papers will summarize the reading and results, critique the work, and bring up interesting ideas or questions for discussion. In addition, we may have online discussions, polls, quizzes, and other exercises on the course's Moodle. You are expected to particpate in those activities as well when applicable.

The following provides a guide for how the grades will be distributed once a final percentage is computed:

  • 90% results in an A- [demonstrates excellent understanding]
  • 80% results in a B- [demonstrates good understanding]
  • 70% results in a C- [demonstrates fair to average understanding]
  • 60% results in a D [demonstrates poor understanding]

Effort
You cannot get an A in this class without putting in substantial effort to master the material and the programming involved. Be prepared!

Policies (by taking the class, it is understood that you have read this section!)

Missed Classes
Students are responsible for what goes on in class, including lecture material, handouts, and turning in assignments. If you are unable to attend class it is your responsibility to obtain copies of class notes and any materials distributed in class. You may always turn in copies of assignments early.

Missed Exams
No exam will be given early. Exams can be made up only in the case of extreme emergencies. You must contact the instructor 24 hours in advance in order to arrange a makeup.

Assignments
All assignments will be due to the Moodle by the due date posted on the assignments. Late assignments will be penalized 20% of the grade for each working day the assignment is late.

No Incompletes
I do not give incompletes! All work must be done during this semester.

Cheating
Don't do it! It doesn't provide any benefit to you. Programming and homework assignments must be your own work. You may discuss general, high-level, or conceptual issues with other students, but should not share actual code with others. Cheating is considered to be sharing code either by copying, retyping, looking at, or supplying a copy of a file. Cheating is also considered to include the use of code supplied off the Internet. If you use Google or other search engines to look for code to help you with a programming assignment, don't do it! I do expect you to be honest and I will respect you as a colleague until I am proven to be wrong. If you are having problems with an assignment, please come talk to me or send me email.

Student Conduct
The instructor will enforce and students are expected to follow the University's Student Conduct Code (http://www.d.umn.edu/conduct/code). Appropriate classroom conduct promotes an environment of academic achievement and integrity. Disruptive classroom behavior that substantially or repeatedly interrupts either the instructor's ability to teach, or student learning, is prohibited. Disruptive behavior includes inappropriate use of technology in the classroom. Examples include ringing cell phones, text-messaging, watching videos, playing computer games, email, or surfing the Internet on your computer instead of note-taking or other instructor-sanctioned activities.

Academic Integrity
Academic dishonesty tarnishes UMD's reputation and discredits the accomplishments of students. UMD is committed to providing students every possible opportunity to grow in mind and spirit. This pledge can only be redeemed in an environment of trust, honesty, and fairness. As a result, academic dishonesty is regarded as a serious offense by all members of the academic community. In keeping with this ideal, this course will adhere to UMD's Student Academic Integrity Policy, which can be found at www.d.umn.edu/conduct/integrity. This policy sanctions students engaging in academic dishonesty with penalties up to and including expulsion from the university for repeat offenders.

Equal Opportunity
As instructor I shall make every attempt to treat all students equally, without regard to race, religion, color, sex, handicap, age, veteran status, or sexual orientation. I encourage you to talk to me about your concerns of equal opportunity in the classroom. To inquire further about the University's policy on equal opportunity, contact the Office of Equal Opportunity (6827), 269-273 DAdB.

Students With Disabilities
If you have any disability (either permanent or temporary) that might affect your ability to perform in this class, please inform me at the start of the semester. I may adapt methods, materials, or testing so that you can participate equitably. To learn about the services that UMD provides to students with disabilities, contact the Access Center (8727), 138 Kirby Plaza, or the Office of Equal Opportunity (8217), 269-273 DAdB.

Mental Health Statement
As a student you may experience a range of issues that can cause barriers to learning, such as strained relationships, increased anxiety, alcohol/drug problems, feeling down, difficulty concentrating and/or lack of motivation. These mental health concerns or stressful events may lead to diminished academic performance or reduce a student’s ability to participate in daily activities. University of Minnesota services are available to assist you with addressing these and other concerns you may be experiencing. You can learn more about the broad range of confidential mental health services available on campus via the UMD Health Service Counseling website at http://www.d.umn.edu/hlthserv/counseling/