Computer Science 357
- Instructor: John L. Donaldson
- Office: King 231
- Office hours: MWF
11 am - noon (or by appointment)
- Meeting time and place:
MWF 2:30-3:20, King 241
- Prerequisite: 151 or consent of instructor
- Text: Hearn, Baker,
Carithers, Computer Graphics
with OpenGL, fourth edition, Prentice Hall, 2010.
This course will deals with the fundamental concepts of computer
graphics; that is, the use of the computer to create images.
We will study the physical and mathematical foundations of the
subject, as well as the basic algorithms and techniques that form
the foundation of modern graphics systems. In addition,
there will be a substantial programming component, using the
graphics library OpenGL.
Your grade will be based on homework and labs, and two exams.
|Point breakdown (approximate):
|Midterm Exam (October 11)
|Final Exam (December 16)
Late labs are strongly discouraged. You may hand up to two labs one
day late without penalty. Be sure to submit early! Labs
that are up 24 hours late will be penalized by 25%. Labs that
are more than 24 hours late will not be graded.
Problem sets are due at the beginning of lecture. Late problem
sets are not accepted.
If due to extenuating circumstances (such as a severe illness) you
will not be able to complete a lab or take a test, talk to me
immediately, and prior to the deadline. I will handle these
situations on a case-by-case basis.
Regular class attendance and participation is expected.
Excessive absence may result in a lower final grade.
All late assignments must be submitted by the end of the reading
period (December 12).
If you have a disability that might impact
your performance in this course, or requires special
accommodation, please contact me as soon as possible so that
appropriate arrangements can be made. Support is available
through Student Academic Services. You will need to contact
them to get your disability documented before accommodations can
All work in this course is to be performed in
accordance with the college's Oberlin
. You must write the Honor Pledge and sign
it at the end of every submission. Electronic submissions
must include the honor pledge in the comments and your name.
The pledge is "I have adhered to the Honor Code in this
In particular, on all of the exams you are responsible for your
own work; you may neither give nor receive aid during the course
of the exam. No electronic devices are permitted in exams.
That being said, in a hands-on course such as this one, some
discussion of lab assignments is expected and encouraged. A few
specific do's and don't's:
- ask questions about the requirements of an assignment
- discuss with your classmates general approaches to solving a
problem prior to
starting your own design and coding
- get/give help from/to another student in solving a
particularly tough debugging problem
In the end, the work you submit must be your own. If you're
not sure what is acceptable in a given situation, please ask me
- obtain a copy of another student's code (including a student
who has taken the course before)
- share a copy of your code with another student (including a
student taking the course in the future)
- collaborate with a partner or group to work on an assignment
- discuss an exam in any way with another student who may be
taking the exam at another time
- Introduction: applications, fundamental ideas, history.
- Introduction to OpenGL and JOGL.
- 2D graphics algorithms: drawing, filling, clipping,
- Geometric transformations: rotation, translation, and
- Viewing in 3D. Parallel and perspective projections.
- Hierarchical modeling and animation.
- Visible-surface determination. z-Buffer algorithm.
- Light and color.
- Illumination and shading. Gourad shading. Phong
- Texture mapping.
- Ray tracing and radiosity.
- Curve and surface modeling: cubic curves; bicubic surfaces.