Class Announcements
12/19/01 - The key to the final exam has been posted.
Have a happy holiday.
12/11/01 - A guide to the exam has been posted!
11/26/01 - A key to Quiz 2 has been posted!
11/20/01 - A reasonably finalized Project
3 has been posted. Updated copies of the sample code has been posted.
11/20/01 - A Homework 3 answer key
has been posted.
11/15/01 - The Project 3 sneak preview
has been released!
11/1/01 - Homework 3 is assigned! It
is due 11/8/01 at the beginning of class.
10/29/01 - The grading for Project
1 has been explained. Individual results will be sent by email soon.
10/23/01 - Project 2 has been released!
Also, you can try to read my hand-written (and scanned) lecture
notes online.
10/21/01 - The calendar is updated. Not only are the lectures re-arranged,
by the project 2 deadline is postponed by a week.
10/21/01 - Programming Assignments 3 and 4 do not need to be turned in.
If you do Project 2, it does everything that programs 3 and 4 were supposed
to do, so it will be sufficient.
10/14/01 - Programming Assignments 3 and 4 have been postponed!
10/14/01 - Pictures from Project 1 are on display in galleries. One for
"art pictures", and the
other for "me in a place I've never
been" pictures.
10/8/01 - The answer key for the quiz is on-line.
9/17/01 - Homework 2 and Project
1 are posted, calendar and readings updated.
Basic Info
Instructor
|
Michael
Gleicher
Office: 6385 CS&S
Office Hours: Tuesdays, 1:15-3:15
|
TA
|
Xin Li
Office 1345 CS&S
Office Hours: Mondays, 1-3 |
Mailing List
|
Archived at: http://www.cs.wisc.edu/lists/classes/cs559-1list/ |
Class Meetings
|
Tuesdays and Thursdays, 9:30-10:45
2534 Engineering Hall (not van Hise as in the printed timetable)
The door is in the front of the room, so coming in
late is a bad idea. |
Readings
|
There are 3 required reading sources:
- A reader available at the DOIT tech
store.
- The OpenGL Programmer's Guide (red book) - which you
can buy in any book store. You can find it on the web for about
$50.
- Peter Shirley's Computer Graphics, which is not yet published.
We will give all students in class a copy of the preliminary version
of the book.
For some explanation of why there isn't 1 textbook, see my 2 year
old rant. The situation hasn't improved
that much. (but Shirley's book is a big step forward!). A description
of the readings was written to justify it to the Dean.
|
Exams
|
There will be 2 in-class quizzes on October 9th and November 13th.
They will be the last 30 minutes of the class period.
There will be a 2 hour, cumulative final in the exam period for
this class (December 19th, 2:45pm).
Make up exams are not possible
|
Projects
|
There will be 3 programming projects. Each due on a
Thursday at 5pm. Late projects will be accepted (for a penalty) until
the following Sunday night.
Projects will include individual demonstration sessions. |
Programming
Assignments
|
There will be 4 small programming
assignments, each meant to familiarize you with the tools you
need for the projects. The programs are due on Thursdays at 5pm. Late
programs will not be accepted. |
Homeworks
|
There will be 4 written homeworks. Each
due at the begining of class. Late homeworks will not be accepted.
You will be required to write reviews of the chapters in Shirley's
book.
|
Reading and
Participation
|
You are expected to do all required readings, that is why they
are called "required."
You will be required to write reviews of the chapters in Shirley's
book. Partially this is to prove that you did the readings. It is
also to help Prof. Shirley improve his book.
|
Grading
|
- 20% * 3 projects
- 15% final Exam
- 5% * 2 in class quizzes
- 15% for "everything else" (homeworks, programming
assignments, chapter reviews). In general, these will be graded
on a "check/no check" basis
More discussion on the Policy page.
|
Software Tools
|
This class is not about the specific tools. However, you will need
to use some tools in order to do the assignments and projects that
will help in your understanding of the concepts and ideas. A description
of the tools we provide is here.
There are a few requirements:
- Your programming assignments are required to be written
in C++ or C. (see discussion below)
- You will be required to use the OpenGL graphics toolkit
for all 3D (and 2D vector) graphics.
- Your programs must compile and run on the Windows 2000
computers provided by the CSL. No credit will be given for programs
that do not run on these machines. If you work at home, be sure
to check and make sure your programs are compatible with these
computers!
- Programs that deal with images must be able to read (and sometime
write) the TGA file format. You are welcome to write your own
reader/writer, but we will provide one for you (and we recommend
that you use it).
- You must build programs that will put up windows, interact with
the user, ... We strongly recommend that you use the FlTk UI toolkit,
and will support this. However, use of FlTk is optional. You can
use something else (MFC, native Win32, ...), but we cannot help
you with it. FlTk is a really nice system for getting UI stuff
done painlessly.
|
For more info
|
You might look at previous
years courses |
Should you be here?
This is a class in computer graphics. Our goal is to teach you about
the science of making and manipulating images with computers. This course
is not about how to use computer graphics. Put simply, our goal is to
teach you to write and understand Photoshop, not to use it.
The official prerequisites are CS367 (Data Structures) and Math 320 or
340 (Linear Algebra). Basically, in this class you will need enough programming
skills to build fairly large programs, and enough mathematical skills
to deal with the nature of the topic.
We will require students to write their programming assignments in C
or C++. The programming language used for projects really is independent
of graphics, however, these are what is most convenient. To put this another
way, the language of the class would be English - it could be taught in
Japanese, French, or Swahili, but it is more convenient for us to teach
in English.
If you've never written a program in C++, you might want to invest a
little energy in becoming proficient in the language before the class
begins. I have some hints.
Also, the programming projects for this class are much bigger than those
in an introductory class. For many students, this is the first time they
have to write a substantial program, and that can be hard - this class
is about graphics, not how to write substantial programs. Because people
ask, I will tell you that last year's projects required about 1500-2500
lines of code to do well (and many students wrote several times that!).
Your mileage will vary (and this year we may have different projects than
last). If you want some hints on how to build a big program, check here.
You should be warned from the outset that this is a hard class. Like
many of the upper level computer science courses, it requires a lot of
programming (3 large projects and some smaller assignments). It also requires
you to have a fair bit of mathematical skill.
Don't say I didn't warn you.