CSCI 250 Intro to Computer Graphics Syllabus
Fall 2008
Classroom location: Fitzelle 301
Class schedule: MWF
1:00-1:50PM
Instructor: Dr. Don Allison
Office location: Fitzelle 225
Phone: 436-3439
Email: allisodl@oneonta.edu
Office hours: T 12-3pm, W 3-4pm, F
9-10am, 3-4pm
Others
by appointment
Catalog description:
Fundamentals of
computer graphics from a computer science perspective. Topics covered
include transformations, projection and viewing, illumination, hidden surface
elimination, and ray tracing. Programming projects are an integral part of the
course and will reinforce and expand upon topics covered in class.
Prerequisites: CSCI 203 and one of MATH 276 or 323 or permission of
instructor
Course goals/objectives:
To learn how to make
pretty pictures! Actually to learn how a
computer generates realistic images simulating a camera, and some of the tricks
that have been developed to compensate for the fact that unlike nature, our
computers can’t trace trillions of photons simultaneously.
Textbooks:
There is one required
and two recommended texts for this course.
The main text covers the basic graphical content; the second text
focuses on mathematical aspects of computer graphics, while the third text
covers using OpenGL. The texts are:
Fundamentals of Computer Graphics, by Shirley, 2nd
edition, A K Peters, ISBN 1568812698 (required)
Mathematics for 3D Game Programming and Computer Graphics, Lengyel,
2nd edition, Charles River Media, ISBN 1584502770 (recommended)
OpenGL Distilled, Martz, Addison-Wesley, ISBN 0321336798
(recommended)
Reading list/Additional resources:
There are many
interesting books on generating graphics images and animation, which is a
change from just a few years ago. Here are
some that are in our library:
Isaac Kerlow, The Art of 3D,
TK385.S438 2000
Peter Shirley, Realistic Ray Tracing, T385.S438 2000
Dave Shreiner, OpenGL
Reference Manual, T385.O642 2000 DIAGRAM
Tomas Moller, Real Time
Rendering, T385.M635 1999
Andre LaMothe, Tricks of
the Windows Game Programming Gurus, QA76.76.C672 L362 1999 CD-ROM
Mason Woo, OpenGL Programming Guide, T385.N435
1999
David Ebert, Texturing and Modeling, QA76.6.T44297
1998
Alan Watt, The Computer Image, T385.W379 1998
Eric Stollnitz, Wavelets
for Computer Graphics, T385.S796 1996
Andrew Glassner, Principles
of Digital Image Synthesis, T385.G585 1995
Alan Watt, Advanced Animation and Rendering Techniques,
T385.W378 1992
Andrew Glassner, Graphics
Gems, T385.G697 1990
Jim Foley, Fundamentals of Interactive Computer
Graphics, T385.F63
Donald Greenberg, The Computer Image, T385.C5933 1982
William Newman, Principles of Interactive Computer Graphics,
T385.N48 1979
Tentative schedule: (order of readings & other assignments, by due dates,
course activities, course content by expected order of coverage, test dates and
test coverage)
|
Date |
Monday |
Tuesday |
Wednesday |
Thursday |
Friday |
|
Aug 25-29 |
|
Last
day to register without $40 late fee |
Classes
begin Add/drop
begins |
|
|
|
Sep 1-5 |
Labor
day: classes meet |
Add/drop
ends |
|
|
|
|
Sep 8-12 |
Last
day to add a full semester course |
||||
|
Sep 15-19 |
|
|
Project #1
due |
||
|
Sep 22-26 |
|
|
|||
|
Sep 29-Oct 3 |
|
TAP
certification begins |
|
||
|
Oct 6-10 |
|
College
closes after last class |
|
Break |
|
|
Oct 13-17 |
Classes
resume Columbus
day: classes held |
|
|
Interim
progress reports due from faculty |
|
|
Oct 20-24 |
|
||||
|
Oct 27-31 |
Last
day to drop with a W |
|
|||
|
Nov 3-7 |
Daylight saving time has ended!! Did you set your clock back? |
|
|
|
|
|
Nov 10-14 |
Begin Spring
pre-enrollment |
|
|
Project #2
due |
|
|
Nov 17-21 |
EXAM #2 |
College
closes after last class Incomplete/pending
grade makeup deadline |
|||
|
Nov 24-28 |
Break |
Break |
Break |
Break |
Break |
|
Dec 1-5 |
Classes
resume Last
day to withdraw from college Project #3
due |
|
|
Last
day to turn in incomplete/pending grades |
|
|
Dec 8-12 |
Project #4
due |
|
|
|
|
|
Dec 15-19 |
Final
exams begin 8am:
MWF 10 11am:
MWF 2 2pm:
MWF 12 |
8am:
TR 10 11am:
TR 4 2pm:
TR 12 |
8am:
MWF 9 11am:
MWF 1 2pm:
MWF 11 FINAL
EXAM, 11am |
8am:
TR 8 11am:
TR 2 |
Final
exams end 8am:
MWF 8 11am:
MWF 3 |
Course requirements:
Students are expected
to keep up with the assigned readings for class, in order to be able to
participate in class discussions. To
satisfactorily complete the course, students need to pass the tests and
complete the programming projects.
Evaluation procedures:
A student’s grade for
this course will be based on a combination of exams, programming projects, and
homework/class participation. The
breakdown is as follows:
|
Exam #1 |
15% |
6 October 2008 |
|
Exam #2 |
15% |
17 November 2008 |
|
Final Exam |
20% |
17 December 2008, 11AM |
|
Projects |
40% |
--- |
|
Homework/class participation |
10% |
--- |
As you can see, there
will be two midterm exams and a final, contributing a total of 50% of your
grade. The next 40% will be earned by
completing several programming projects implementing simple modeling systems. The final 10% will be made up of various
homework assignments and class participation.
The weighted sum of each component will be computed and grades will be
assigned based on the total number of points earned using the standard
90-80-70-60 system.
Attendance policy:
While I do not
require class attendance, and would prefer that you sleep in the dorm instead
of in class, studies have shown that regular class attendance improves student
grades. In addition, I will be giving
sample code and pseudocode for the projects in class,
and will be discussing the course material (including the material covered by
the tests) in class. While attending
class, students will be expected to comport themselves professionally, and to
participate in class activities and discussions.
Academic dishonesty:
It is expected that
all work turned in by a student will be created by the student himself. Turning in someone else’s code, whether
obtained from a classmate or from the internet, without acknowledging the
authorship of the code, is plagiarism, and is a serious offense. As academics, we value ideas and to use
someone else’s thoughts without acknowledging them is stealing, and will be
dealt with appropriately.
That said, however,
it IS acceptable to discuss the
class content and assignments with your peers and even to collaborate together
under certain conditions. All code and
all answers to exams that you submit for grading should be your work alone, or
if provided in class, should contain an acknowledgement of its origin in the
header comments. It is, however,
acceptable to discuss the algorithms, code samples provided in class, or even
the assignments (at a conceptual level) among yourselves. If you have any questions about what is
acceptable and what is not, ask! It is
better to ask and get the answer ahead of time rather than to find out after
the fact that what you did was unacceptable.
Coding style:
An important part of
any computer science class is the programming assignments. These not only reinforce and extend the
concepts covered in class, but also give the student an opportunity to hone his
programming skills. Therefore any
programs you turn in should follow good style guidelines and coding standards. They should exhibit consistent and logical
indenting, block comments, function and file headers, sensible variable names,
etc. Every code and header file should
start with a block comment containing the class, the assignment number, your
name, the date due, and a brief summary of what is in the file. For example:
/*************************************************************/
/*
*/
/* CSCI 250 Computer Graphics */
/* Fall 2006 Program #1 */
/* Author: Don Allison */
/* Date Due: 20 September 2008 */
/*
*/
/* This file contains code to generate
images using */
/* raytracing . */
/*
*/
/*************************************************************/
Late assignment & makeup policy:
Assignments are expected
to be turned in by midnight on the day they are due, and exams are to be taken
on the announced date. Emergencies do
arise, however, and sometimes this is not possible. If you find that you will have to miss an
exam or turn in an assignment late, please let me know as soon as possible
(preferably before the due date).
Allowances will be made for school approved excuses, such as illnesses,
family emergencies, official school trips, etc.
Otherwise, a late penalty will be assessed on assignments turned in
after the due date, and makeup exams will be at the discretion of the
instructor. The late penalty for
assignments will be 3n-1, where n is the number of days the
assignment is late (weekends count as a single day). Any assignment turned in more than a week
late will be recorded as a zero grade.
Additional unique aspects of course:
In this course we
explore methods to generate realistic looking images.