This course offers an introduction to computer graphics hardware, algorithms, and software. Topics include: line generators, affine transformations, line and polygon clipping, splines, interactive techniques, perspective projection, solid modeling, hidden surface algorithms, lighting models, shading, and animation. Programming experience is required (Python preferred).
CSC240 fulfills requirements for the Digital Arts Minor, the Arts & Technology Minor, and the Computer Science Major distribution requirements in software and theory .
This course combines class lectures with programming intensive assignments. Some class time may be devoted to small programming "labs."
There is no textbook for this class which places a greater emphasis on attendance, attention, and note-taking.
There will be regular programming assignments. The assignments are designed to build on each other so it is important not to fall behind. There is one midterm assignment which is structured like a weekly programming assignment but will be slightly more challenging.
There will be two group note taking assignments in which each group is assigned a week for which they will collaboratively post class notes on the computer science departments Wiki. Each group will get feedback on their notes the week after they are posted, but their notes are only graded at the end of the semester (giving each group an opportunity to improve upon their notes over the course of the semester). The notes will factor into the assignment grade.A final assignment is due at the end of Finals Week. You will be provided with a few options for your final assignment or you may submit your own idea for approval.
Attendance and active participation are absolutely necessary for this class to function. Participation includes actively engaging in class discussions both in class and on-line using Piazza. Unexcused absences will directly impact your grade, as well as indirectly affecting the quality of your work.
Your grade will reflect both your participation in the class (discussions, collaborative efforts, labs) and the quality of your assignments. All assignments are due on time; This class moves fast, making it very difficult to catch up if you fall behind. The lowest grade from your quasi-weekly assignments is automatically dropped from your average. Grading percentages will be as follows:
Participation that is outside the norm (either exemplary or deficient) may effect the final grade by a half letter grade.Late Work: Late assignments will not be accepted. However, since the lowest grade from quasi-weekly assignments is automatically dropped from your average you can use this as a single infinite extension (but I don't recommend it).
While bound by the Honor Code, you are encouraged to seek assistance from classmates on homework assignments or projects should you have difficulty. They are a great resource which can aid you in completing your work. Appropriate forms of assistance include help with the understanding of concepts, help debugging a program, or help refining ideas/concepts for projects (i.e. brainstorming). That said, the work you turn in must be your own. When turning in your assignment you are required to credit all students from whom you received substantial help.
You may work with a partner on any of the quasi-weekly assignments. If working with a partner each of you should turn in their own copy of the assignment with both your names included as authors. You may not work with the same partner more than twice during the semester.