Contact Information
| Instructor: | Stephen Hughes |
| Phone: | 624-1178 |
| e-mail: | shughes@mail.sis.pitt.edu |
| Office: | IS B208 |
| Office Hours: | Tuesdays 10:00 - 12:00
or by appointment |
| Course Web Page: | http://www2.sis.pitt.edu/~shughes/classes/summer01/is1014-01s.html |
Goals
The primary goal of this course is to provide an overview of the principles
of computer graphics. You will have a solid understanding of the fundamental
algorithms, and mathematics of computer graphics from which all commercial
packages are derived. A secondary goal is to gain an understanding
of a state-of-the art graphics API: OpenGL.
Course Content
The course will roughly be divided into 2 parts, 2-D graphics and 3-D
graphics. Here is a tentative outline of the class
| May 16 | Graphics Systems
Color Lines |
|
| May 23 | Circles
Drawing Effects Events & Menus |
Assign 1 Due |
| May 30 | Transformations
Image Manipulation |
|
| June 6 | Animation | Assign 2 Due |
| June 13 | Mid Term | |
| June 20 | 3D Intro
Glut Shapes |
Assign 3 Due |
| June 27 | Clipping
Perspective, Depth Camera Movement |
Assign 4 Due |
| July 4 | No Class | |
| July 11 | Light Theory
Lights in OpenGL |
Assignment 5 Due |
| July 18 | Lights Effects
Shadows |
Assignment 6 Due |
| July 25 | Texture Mapping | |
| Aug 1 | Final Exam | Assignment 7 Due |
The summer session is 4 weeks shorter than the fall and spring semesters. However, it is important to note that the class is not abridged. I will be presenting the same amount of material as a full term, and you will be expected to do the same amount of work. Consequently, your efforts will also need to be consolidated to complete the course in the allotted time.
Course Materials
INFSCI 0020: Programming Design and Software Tools and required math course. This means that I expect:
| 40% | Examinations: | There will be a midterm (circa June 13) and a final exam. They are weighted equally. |
| 45% | Assignments: | There will be about 7 assignments distributed roughly every other week. |
| 15% | Weekly Quizzes: | Every class will begin with a 5-10 minute quiz that covers material from the previous week. |
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.
Code from other sources
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.
Submitted Work
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 every line of code in your program. Failure to be able to account
for your coding decisions (to my satisfaction) will be reflected in your
grade.
Academic Honesty
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 a high quality of integrity in all of your work. Furthermore,
you are expected to have read and understood the University
Guidelines for Academic Integrity. Any unauthorized collaboration or
copying will result in no credit for the affected assignment (at minimum!)
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. Therefore, you have 5 late days that are penalty-free
to use at your discretion (i.e. you may use them on a single assignment,
or distribute them over several assignments.). Any submission beyond
your grace period will be penalized 10% per day.
For a maximum of 30% penalty.
Resubmitting Assignments
One goal of this class (or any educational experience), is to be able
to learn from our mistakes. Whenever your submissions contain errors, you
will have 7 days to resubmit a corrected version for up to 50% of the difference.
Office Hours
Office hours are an opportunity for you to clarify details you may
have missed in class. They are not a place to get answers on the
assignment. If you come to office hours with a problem on the assignment,
you should come prepared to answer questions, as well as asking them. Additionally,
you need to make sure that you have access to an electronic version of
your code.
Lectures
I will post the electronic notes for my lectures after
they are presented
Disclaimer: These notes usually take the form of diagrams
that are referenced during class time. They are not meant to be used as
a replacement for classroom attendence. I do not believe in reading
slides to you, as such, these slides do not stand alone, but they can be
valuable for review.
May 16 Graphics Systems, Color, Lines
May 23 Circles, Events & Effects
May 30 TransformationsAnimation Demo
June 6 More Animations, Matrix Stack
Planents Demo
June 13 Clipping & 3D Intro JuggleDemo
June 20 Exam
June 27 Perspective, Depth & Camera Motion
July 11 Lighting Lights Demo
July 18 Textures Texture Demo
July 25 Light Tricks
Assignments
Here is where I will post materials that are related to your assignments.
Typically, you will be provided with stub-code and asked to fill in
the details. This is a convenience for you; use as much or as little as
you feel necessary.
Assign 1 Due May 23
Assign 2 Due June 6
Assign 3 Due June 23
Assign 4 Due July 11
Assign 5 Due July 21
Assign 6 Due July 26
Assign 7 Due Aug 4
Additional Resources
OpenGL
Tutorial
Glut API
A listing of all Glut commands