CSC 433/533 - Computer Graphics (Fall 2019)
M/W 5:00-6:15pm, 906 Gould-Simpson
Course Syllabus
- Description of Course
- Course Content
- Course Policies
- Department and University Policies
- Department of Computer Science Code of Conduct
- Classroom Behavior Policy
- Pronoun Preference
- Threatening Behavior Policy
- Content Warning
- Accessibility and Accommodations
- Code of Academic Integrity
- UA Nondiscrimination and Anti-harassment Policy
- Additional Resources for Students
- Confidentiality of Student Records
- Land Acknowledgment
- Subject to Change Statement
Description of Course
Theory and practice of computer graphics: basic graphics programming, 2D and 3D transformations, clipping, 2D and 3D viewing, hierarchical modeling, hidden surface removal, lighting and shading, color, ray-tracing, radiosity, curve and surface modeling, and animation.
Course Prerequisites or Co-requisites
Students are expected to have advanced programming skills and introductory knowledge of linear algebra and calculus. For undergraduates, this includes CSC 252 (Computer Organization), CSC 335 (Object-Oriented Programming and Design), CSC 345 (Analysis of Discrete Structures), CSC 352 (Systems Programming and Unix), and MATH 215 (Linear Algebra) or MATH 313 (Introduction to Linear Algebra). While students majoring in areas other than CSC are encouraged to enroll, certain topics may prove challenging. Please contact the instructor if you are unsure if you satisfy the prerequisites.
Instructor and Contact Information
- Instructor: Joshua A. Levine
- Office: 754 Gould-Simpson
- Phone: +1-520-621-3153
- Email (preferred mode of communication): [username]@arizona.edu, my username is josh.
- TA: Chinmai Basavaraj
- TA’s Email: chinmaib@email.arizona.edu
- Office Hours: M 3:30-4:30pm, T 4:30-5:30pm
- Otherwise, we can schedule an appointment (via email or private message on Piazza) to meet in my office
- Open Door Policy: if my office door is open, please feel free to stop by and inquire if I have available time. If my door is completely closed, it typically indicates I am in an (uninterruptible, except for emergencies) meeting or phone call. Please use your best discretion.
- TA Office Hours (primarily for issues with grading): W 3:30-4:30pm, R 9:30-10:30am (GS 919)
- Otherwise, we can schedule an appointment (via email or private message on Piazza) to meet in my office
- Course Page: https://jalevine.bitbucket.io/csc433-533/
- Instructor Homepage: http://www.cs.arizona.edu/~josh
- D2L (433): https://d2l.arizona.edu/d2l/home/825755
- D2L (533): https://d2l.arizona.edu/d2l/home/825758
- Piazza: https://piazza.com/arizona/fall2019/csc433533/home
Course Format and Teaching Methods
Primarily, the format is driven by lectures combined with in-class discussion. Out-of-class activities include readings in relevant textbooks and research papers, programming assignments, take-home exercises, and online discussions.
Course Objectives and Expected Learning Outcomes (433)
This course will cover both a theoretical understanding and practical application of computer graphics concepts. Students who successfully complete this course will be expected to:
- Describe and apply the foundations of computer graphics, including hardware systems, mathematics for computer graphics, light, and color;
- Understand and write programs that implement key concepts from two-dimensional graphics, including raster image formats, image and signal processing, image deformation, and rasterization;
- Understand and write programs that implement key concepts for rendering complex three-dimensional scenes, including projections and view transformations, visibility algorithms, ray tracing, and scene descriptions;
- Become familiar with and implement partial prototypes for a variety of advanced topics in computer graphics; including texturing, animation, curves and surfaces, and/or interaction; and
- Undertake creative work and be familiar with open computer graphics research problem areas.
Course Objectives and Expected Learning Outcomes (533)
This course will cover both a theoretical understanding and practical application of computer graphics concepts at a higher level than 433. Students who successfully complete this course will be expected to:
- Master the theoretical foundations of computer graphics, including hardware systems and the mathematics for computer graphics;
- Understand and write programs that implement advanced concepts from two-dimensional graphics, including raster image formats, image and signal processing, image deformation, and rasterization;
- Understand and write programs that implement advanced concepts for rendering complex three-dimensional scenes, including distribution ray tracing, advanced lighting and shading, and spatial data structures;
- Be familiar with and implement prototypes for a variety of advanced topics in computer graphics; including physically-based modeling, procedural modeling, global illumination, and/or implicit surfaces; and
- Undertake creative work that enables understanding, implementing, and evaluating past and open computer graphics research problems.
Course Content
Location
- Lecture meeting time: M/W 5:00-6:15pm
- Lecture meeting location: 906 Gould-Simpson
Lecture Topics
Week | Date | Monday | Date | Wednesday |
1 | Aug 26 | Introduction | Aug 28 | Javascript Intro |
2 | Sep 02 | -- Labor Day -- | Sep 04 | Raster Images |
3 | Sep 09 | Color and Perception | Sep 11 | Signal Processing |
4 | Sep 16 | Tone Reproduction | Sep 18 | Image Compositing |
5 | Sep 23 | Chapter 2 Math + Coding | Sep 25 | Ray Tracing 1 |
6 | Sep 30 | Ray Tracing 2 | Oct 02 | Ray Tracing 3 |
7 | Oct 07 | Ray Tracing 4 | Oct 09 | Global Illumination |
8 | Oct 14 | Triangle Meshes | Oct 16 | Acceleration Structures |
9 | Oct 21 | Midterm Exam | Oct 23 | -- IEEE VIS -- |
10 | Oct 28 | Matrix Math + Coding | Oct 30 | Transformations |
11 | Nov 04 | Viewing | Nov 06 | Graphics Pipeline 1 |
12 | Nov 11 | -- Veterans Day -- | Nov 13 | Graphics Pipeline 2 |
13 | Nov 18 | Textures | Nov 20 | Animation 1 |
14 | Nov 25 | Animation 2 | Nov 27 | Animation 3 |
15 | Dec 02 | Curves | Dec 04 | Curves/Surfaces |
16 | Dec 09 | Implicit Modeling | Dec 11 | Final Exam Review |
Required Texts and Readings
-
Marschner and Shirley, Fundamentals of Computer Graphics, 4th Edition, 2015, ISBN 978-1482229394. (Note: the textbook is available electronically though the UA library)
- As we will be using Javascript in this course, if you are not familiar you will need to find a reference. I recommend:
- Haverbeke, Eloquent JavaScript, 3rd Edition: A Modern Introduction to Programming, 2018, ISBN 978-1593279509, and
- Rauschmayer, Speaking JavaScript: An In-Depth Guide for Programmers, 2018, ISBN 978-1449365035.
In addition to being great books, both of these books are freely available online. See https://eloquentjavascript.net and http://speakingjs.com/.
- Other handouts, research papers, and materials linked to on the course webpage
Assignments and Examinations
Programming Assignments (45% of final grade)
This course will involved 7 assignments, each spanning approximately two weeks from posting date to due date. All assignments will be programmed in Javascript, and must be written without the help of external libraries unless otherwise specified. In particular, we will occasionally make use of WebGL.
Name | Topic | Post Date | Due Date | Graded By | Percentage |
Program 01 | Image Basics | Aug 28 | Sep 11 | Sep 18 | 3 |
Program 02 | Images | Sep 11 | Sep 25 | Oct 02 | 7 |
Program 03 | Scaffolding | Sep 25 | Oct 09 | Oct 16 | 7 |
Program 04 | Ray Tracing | Oct 09 | Oct 30 | Nov 06 | 7 |
Program 05 | Shapes | Oct 30 | Nov 13 | Nov 20 | 7 |
Program 06 | Rasterizer | Nov 13 | Nov 27 | Dec 04 | 7 |
Program 07 | Animation | Nov 27 | Dec 11 | Dec 18 | 7 |
Total Programming Percentages: | 45 | ||||
Written Assignments (13% of final grade)
Assigned simultaneously, but due on a different schedule, will be 7 written assignments. These assignments will typically be a small set of short answer questions that test the concepts covered in the class. They are also great opportunities to practice and study for the midterm and final exams.
Name | Topic | Post Date | Due Date | Graded By | Percentage |
Written 01 | Image Basics | Aug 28 | Sep 09 | Sep 18 | 1 |
Written 02 | Images | Sep 11 | Sep 23 | Oct 02 | 2 |
Written 03 | Scaffolding | Sep 25 | Oct 07 | Oct 16 | 2 |
Written 04 | Ray Tracing | Oct 09 | Oct 28 | Nov 06 | 2 |
Written 05 | Shapes | Oct 30 | Nov 12 | Nov 20 | 2 |
Written 06 | Rasterizer | Nov 13 | Nov 25 | Dec 04 | 2 |
Written 07 | Animation | Nov 27 | Dec 09 | Dec 18 | 2 |
Total Percentages: | 13 | ||||
Class Participation (10% of final grade)
This class participation grade is the instructor’s subjective judgement of the student’s contribution to a lively classroom atmosphere. He will consider mainly active, informed participation in classroom discussions, and homework reviews. Obviously, students not attending class are not contributing in this way.
Midterm Examination (14% of final grade)
A midterm exam will be held in class on Mon., Oct. 21, 5-6:15pm, and it will cover all material discussed in class prior to the date of the examination.
Final Examination (18% of final grade)
The final examination will be comprehensive. A review will be conducted on the final lecture.
Exam Date/Time/Location: Thur., Dec 19, 1-3pm, 906 Gould-Simpson
See also,
- UA Final Exam Regulations: https://www.registrar.arizona.edu/courses/final-examination-regulations-and-information, and
- UA Final Exam Schedule: http://www.registrar.arizona.edu/schedules/finals.htm.
Submission, Lateness, and Revision Policy
All assignments have a fixed due date. Revisions and resubmissions after grading will not be accepted.
Submission for programming assignments will be due on 4:59:59PM of the due date unless otherwise noted. A late submission will receive a penalty of 10% per day for each work day it is late, up to a maximum of 5 days late. Grades for assignment submitted late may not be posted within the same time frame as assignments submitted on time, but the instructor will make their best effort to expedite the grading of late submissions.
Submission of late written assignments will not be accepted. Plan ahead and turn these in on time.
Course Policies
Absence and Class Participation Policy
The UA’s policy concerning Class Attendance, Participation, and Administrative Drops is available at http://catalog.arizona.edu/policy/class-attendance-participation-and-administrative-drop
The UA policy regarding absences for any sincerely held religious belief, observance or practice will be accommodated where reasonable: http://policy.arizona.edu/human-resources/religious-accommodation-policy.
Absences for groups of more than three students that are pre-approved by the UA Dean of Students (or Dean Designee) will be honored. See: http://policy.arizona.edu/employment-human-resources/attendance.
Participating in the course and attending lectures and other course events are vital to the learning process. That said, attendance is not required for lectures. To request a disability-related accommodation to this attendance policy, please contact the Disability Resource Center at (520) 621-3268 or drc-info@email.arizona.edu. If you are experiencing unexpected barriers to your success in your courses, the Dean of Students Office is a central support resource for all students and may be helpful. The Dean of Students Office is located in the Robert L. Nugent Building, room 100, or call 520-621-7057.
Nevertheless, absences may affect a student’s final course grade. Class participation is an important part of your grade in this course, and it is impossible for a student to participate and the instructor to gauge participation if a student does not attend.
Late Instructor
Your instructor will make every effort to be in class on time, or to inform you of any delay or cancellation. In the unusual event that he should not arrive in class or send word by 15 minutes from the class start time, the class is officially cancelled.
Makeup Policy for Students Who Register Late
Students who register after the first class meeting may make up missed assignments at a deadline set in consultation with the instructor.
Course Communications
We will use official UA email and Piazza as the primary mode of contact. D2L will be used only for the instructor to securely distribute grades to students.
Grading Scale and Grading Policies
Grades will be assigned based on the following scale:
- A >= 90%
- 80% <= B < 90%
- 70% <= C < 80%
- 60% <= D < 70%
- E < 60%
Grading will be based on performance on the set of assignments, the midterm and final exam, and class participation:
- Programming Assignments: 45%
- Written Assignments: 13%
- Midterm Exam: 14%
- Final Exam: 18%
- Class Participation: 10%
Each assignment description will include a specific rubric for how it is graded, typically out of a score between 0 and 100. Scores on such assignments will be weighted according to the relative point value of each assignment as highlighted above.
While the above grading scale is identical for students in both 433 and 533, students in the 533 section will complete different assignments that are due on a similar timeline.
Department of Computer Science Grading Policy
- Instructors will explicitly promise when every assignment and exam will be graded and returned to students. These promised dates will appear in the syllabus, associated with the corresponding due dates and exam dates.
- Graded homework will be returned before the next homework is due.
- Exams will be returned “promptly”, as defined by the instructor (and as promised in the syllabus).
- Grading delays beyond promised return-by dates will be announced as soon as possible with an explanation for the delay.
Requests for incomplete (I) or withdrawal (W)
Request must be made in accordance with University policies, which are available at http://catalog.arizona.edu/policy/grades-and-grading-system#incomplete and http://catalog.arizona.edu/policy/grades-and-grading-system#Withdrawal, respectively.
Dispute of Grade Policy
After receiving any grade for any submission, a student has 24 hours to respond to the instructor with any disputes in an email with the subject “Grade Dispute”. Such a response must enumerate a specific set of disputed items for the submission and provide evidence that each item was improperly graded. The instructor will then completely regrade the entire submission, including both the disputed items as well as non-disputed items, with the potential for all aspects of the grade to change.
Department and University Policies
Department of Computer Science Code of Conduct
The Department of Computer Science is committed to providing and maintaining a supportive educational environment for all. We strive to be welcoming and inclusive, respect privacy and confidentiality, behave respectfully and courteously, and practice intellectual honesty. Disruptive behaviors (such as physical or emotional harassment, dismissive attitudes, and abuse of department resources) will not be tolerated. The complete Code of Conduct is available on our department web site. We expect that you will adhere to this code, as well as the UA Student Code of Conduct, while you are a member of this class.
Classroom Behavior Policy
To foster a positive learning environment, students and instructors have a shared responsibility. We want a safe, welcoming, and inclusive environment where all of us feel comfortable with each other and where we can challenge ourselves to succeed. To that end, our focus is on the tasks at hand and not on extraneous activities (e.g., texting, chatting, reading a newspaper, making phone calls, web surfing, etc.).
Students are asked to refrain from disruptive conversations with people sitting around them during lecture.
Some learning styles are best served by using personal electronics, such as laptops and iPads. Nevertheless, these devices can be distracting to other learners. While all students are welcome to use personal electronics in class, they must be used in a way that does not disrupt either the instructor or other students’ experience.
Students observed engaging in disruptive activity will be asked to cease this behavior. Those who continue to disrupt the class will be asked to leave lecture or discussion and may be reported to the Dean of Students.
Pronoun Preference
All people have the right to be addressed and referred to in accordance with their personal identity. In this class, we will have the chance to indicate the name that we prefer to be called and, if we choose, to identify pronouns with which we would like to be addressed. I will do my best to address and refer to all students accordingly and support classmates in doing so as well.
Threatening Behavior Policy
The UA Threatening Behavior by Students Policy prohibits threats of physical harm to any member of the University community, including to oneself. See http://policy.arizona.edu/education-and-student-affairs/threatening-behavior-students.
Content Warning
While the instructor does not intend to include topics and/or course material includes content that are explicit or offensive in any way. The instructor will make every effort to provide advance notice when such materials may potentially be or potentially violate this intent. Please contact the instructor to discuss any content-related concerns, as alternative materials may be available.
Accessibility and Accommodations
The Disability Resources Offices provides guidelines regarding accessibility and accommodations: http://drc.arizona.edu/instructors/syllabus-statement.
Code of Academic Integrity
Students are encouraged to share intellectual views and discuss freely the principles and applications of course materials. However, graded work/exercises must be the product of independent effort unless otherwise instructed. Students are expected to adhere to the UA Code of Academic Integrity as described in the UA General Catalog. See https://deanofstudents.arizona.edu/policies/code-academic-integrity.
The University Libraries have some excellent tips for avoiding plagiarism, available at http://new.library.arizona.edu/research/citing/plagiarism. Publicly available sources for code or other material, in small amounts, may be freely used if appropriately attributed. A good rule of thumb: when in doubt about whether the use of small snippets of code not your own in a programming assignment is allowed, first ask the instructor.
Selling class notes and/or other course materials to other students or to a third party for resale is not permitted without the instructor’s express written consent. Violations to this and other course rules are subject to the Code of Academic Integrity and may result in course sanctions. Additionally, students who use D2L or UA e-mail to sell or buy these copyrighted materials are subject to Code of Conduct Violations for misuse of student e-mail addresses. This conduct may also constitute copyright infringement.
UA Nondiscrimination and Anti-harassment Policy
The University is committed to creating and maintaining an environment free of discrimination; see http://policy.arizona.edu/human-resources/nondiscrimination-and-anti-harassment-policy
Our classroom is a place where everyone is encouraged to express well-formed opinions and their reasons for those opinions. We also want to create a tolerant and open environment where such opinions can be expressed without resorting to bullying or discrimination of others.
Additional Resources for Students
UA Academic policies and procedures are available at http://catalog.arizona.edu/policies
Student Assistance and Advocacy information is available at https://deanofstudents.arizona.edu/support/student-assistance
Confidentiality of Student Records
Land Acknowledgment
The University of Arizona sits on the original homelands of indigenous peoples who have stewarded this land since time immemorial. Aligning with the university’s core value of a diverse and inclusive community, it is an institutional responsibility to recognize and acknowledge the people, culture, and history that make up the Wildcat community. At the institutional level, it is important to be proactive in broadening awareness throughout campus to ensure our students feel represented and valued.
Subject to Change Statement
Information contained in the course syllabus, other than the grade and absence policy, may be subject to change with advance notice, as deemed appropriate by the instructor.