CPSC310A  Computer Graphics


Instructor: Dr. Stephen Hughes
Time: Block 7a; MW, 2:20 - 3:50 pm
Place: Trexler 363


Course Overview

“The purpose of computing is insight, not numbers” ~Roger Hamming

Hamming was not referring specifically to visual presentation of data, yet students of Information Visualization will invariably encounter this quote – usually after reading less than a half-dozen papers.  However,  since visualizations  intuitively provide insight, nobody questions the suitability of this citation.  This intuition is so strong that people also readily credit the saying, “a picture is worth a thousand words” as an ancient Chinese saying, attaching the connotation of enhanced wisdom.  In fact, this statement origniated as an advertising principle in the 1920's.   Vision and comprehension of information are indelibly linked in our culture and language.  To indicate understanding, we say “I see”, getting at the details, we “bring it into focus”, and removing ambiguities makes the data “clear” (Card, et.al 1999).

Computer graphics studies the presentation of imagery that is generated and manipulated through computation, and is a critical technology to dissemenation of knowledge. In previous years, the inclusion of a simple bar graph in a publication added an inordinate expense – both in the time to initially produce and the difficulty of embedding it within a document.  With today’s technology, the same chart can be created and reproduced almost instantaneously.  Advances in computer graphics mean that more complex displays can be produced and reproduced with minimal effort.  This means that graphics no longer need to be static snapshots of the data, but can become interactive.   Viewers can formulate, explore and validate hypotheses about the data, opening a whole new dimension of insight  and understanding.

This course is designed to provide an overview of the fundemental principles of interactive computer graphics from which many commercial packages are derived.  These issues will be explored through the lens of  a state-of-the art graphics API: OpenGL.  We will also look at the some of the macro-issues associated with graphics, such as Visualization, Virtual Reality, and Image Processing to better understand where this knowledge can be applied.   

Course Content

The following is a tentative outline of the class

Jan 16 Visualization –the why of Computer Graphics    

   
Mar 13    
3D Viewing,Camera Interaction
Jan 23 Graphic Systems, Color, Scan Conversion


Mar 20 Lighting
Jan 30 Drawing Effects, Glut overview. Interaction Tricks


Mar 27 Shading & Spotlights
Feb 6 Transformations & Animation Basics

Apr 3 Shadows
Feb 13 Clipping

Apr 10 Textures
Feb 20 Midterm ,Virtual Reality, Augmented Reality

Apr 17 Image Processing/ Computer Vision
Feb 27 3D Modelling



Mar 6 Spring Break

May 2 Final Exam 2:00 – 5:00




Course Materials

Textbook:  There is no textbook required for the course, however, it would be a good idea to get a reference manual for OpenGL.  There are a lot of tutorials on the web, and you may find those sufficient.  If you want a physical book I would recommend:

Grading
 
50% Assignments
There will be roughly 10 assignments.   Most of these will involve some programming.   Aesthetics will generally not be factored into your grade;   I am not an artist either.
20%  Midterm There will be a midterm (circa Feb 20)
25%
Final Exam
May 2.    The final exam will be cumulative
 5% MCSP Conversations
The Math, Computer Science and Physics department offers a series of discussions that appeal to a broad range of interests related to these fields of study.   These co-curricular sessions will engage the community to think about ongoing research, novel applications and other issues that face our discipline. 

You are invited be involved with all of these meetings; however, participation in at least two of these sessions is mandatory.   For each of the required sessions, you must submit a one-page paper reflecting on the discussion.  This should not simply be a regurgitation of the content, but rather a substantive personal contemplation of the experience.   These papers are due within one week of the session.

Course Policies

Collaboration
You are permitted to discuss assignments with other students in the class.  Under no circumstances should there ever be an electronic transfer of code between students in the class.

Academic Integrity
Honesty and integrity are qualities we respect in ourselves and in others. Therefore, you are expected to be fully aware of your responsibility to maintain the highest degree of integrity in all of your work.   It is accepted that you have read and understood the standards for academic integrity at Roanoke College. 

In the electronic age, source code is often available on the web or through CD-ROMs that supplement textbooks.  If you use code from any other source, you are required to cite the source by adding comments to the top of your files.  Moreover, by submitting work under your name, you are indicating that you have completed the assignment.   This means that you should be able to completely explain all the details of your work, i.e. every line of code in computer programs or formulas in spreadsheets.  Failure to be able to account for your decisions (to my satisfaction) will result in referral to the Academic Integrity Council.

All students must abide by the Guidelines for Computer Use as stated on page 15 of the Academic Integrity Handbook. Failure to do so will result in involuntary withdrawal from the course

Late Assignments
I understand that circumstances conspire against us all, and when 3 term papers and a programming assignment are due within a 24-hour span, something has to give.   If you need to hand in an assignment late, you must contact me via e-mail 24 hours in advance of the due date to negotiate a new submission date.  Any late submission without prior approval will be penalized 10% per day.