EECS / CS 487 Interactive Computer Graphics
Fall 2003
Your Information:
Name:_________________________________________________________________
8 Digit UMID #: _________________________
Email address:
________________________________________________________________________
About the course
The course will have four major focus areas:
-
Mathematics for Computer Graphics
This includes the representation and manipulation of points, lines,
planes, and vectors; 2-D and 3-D coordinate transformations, and their
representation as matrices; 3-D viewing and perspective.
- Geometric Modeling
Includes the modeling hierarchy, facets, polygons, curves, splines,
and solids models (combinatoric solid geometry CSG).
- Rendering
Including scan line and ray tracing techniques, camera models,
illumination
and reflection models for surfaces, shadowing, texture mapping, and
anit-aliasing.
- Applications
Graphical User Interfaces, Visualization, Animation's
Familiarity with simple trigonometry and linear algebra concepts
will make the course material easier to understand and
comprehend.
Likewise, familiarity with object oriented programming techniques is a
plus in developing programs driven by graphical user interfaces.
Programming exercises will use the C (or C++) language for
general-purpose
programming and OpenGL for 3-D graphics. We will review OpenGL in class
and discussion; you are assumed to know C or C++. Extensive
information
about OpenGL is available on the web. Check the class web page for
links.
What you should do to prepare?
YOU MUST HAVE A CAEN ACCOUNT!
If you do not have a CAEN account, get one! All the
course
materials, and particularly files required for the programming
assignments,
will be on-line.
UNIQNAME:_______________________________
How do you get on the EECS 487 mailing list? (This is a MUST!)
Send an e-mail message to eecs487-request@eecs.umich.edu
with the word subscribe as the subject. We will use this for
any
announcements pertaining to class.
I have subscribed to the mailing list:_________(Initial)
Policies
Wait list - We may admit a limited number of students from the
wait
list on a first come, first served basis. Exceptions will be considered
only in extreme circumstances.
Honor code and policy on cooperation - We assume that all
students
taking this class will abide by the Honor
Code of the College of Engineering. This means that all homework,
programming
projects, and the taking of exams are covered by the Honor Code.
In general, all work is to be that of each individual unless
otherwise
so specified by us. Some of the programming, (the final project, for
example)
will be allowed (encouraged) to be performed by teams. Individuals or
teams
must not share code or designs with other individuals or teams,
but can discuss questions about the assignment, general coding
techniques,
how to program in C or other programming tools, and the general
principles
of graphics algorithms. Within a team, the members may interact freely.
All problem sets (home work and programming assignments) are to be
completed
on your own unless otherwise specified by us. You are
allowed
to consult with other students in the current class during the
conceptualization
of a problem, but all written/programmed work, whether in scrap or
final
form, is to be generated by your working alone. You are not to
sit
together to work out the details of the problems with anyone. You are not
to discuss the problem set with previous class members, nor anyone else
who has significant knowledge of the details of the problem set. Nor
should
you compare your written solutions, whether in scrap paper form, or in
final work product form, with the work of other students (and vice
versa).
Violation of this policy is grounds to initiate an action that would be
filed with the Dean's office and would come before the College of
Engineering's
Honor Council. Please do not hesitate to contact me if you have
any questions about this policy.
I have read and understand the Honor code Policy in this
class:______________________________________
(Sign)
Computing resources and Sites
Computer hardware, general software problems, and the administration of
facilities are handled by CAEN. Contact CAEN for problems related to
hardware,
operating system, or computer support. CAEN is not there to help
you with your program design, or with writing your program. OpenGL is
not
a CAEN-supported product - see the course staff if you have problems
with
this software. Refer to the CAEN handbook (Appendix B) for computing
lab
locations, but note the following facilities:
Homework and Programming Projects
You will undertake written assignments and programming assignments to
explore
and increase your understanding of the concepts covered in this course.
Homework
Each homework assignment will be due at the beginning of the
lecture
on the designated day. Our intention is to grade this work as quickly
as
possible to give timely and meaningful feedback. To meet this goal
requires
that you turn in such work on time. Late homework may not be
graded
in a timely manner.
Programming assignments and the Final project
We will devise methods for submitting your work that are convenient for
you and efficient for the course's staff. Some of these programming
assignments
must be done individually. The final project will be a team
project. We will specify explicitly how these assignments may be
carried
out.
The most common reason for not doing well on the programming
assignments/projects
is not starting them early enough. You will have enough time to
complete
each project. However, if you wait until the last minute to start, you
may not be able to finish. Plan to do some work on the project every
day.
Plan to have it finished a few days ahead of the due date - many
unexpected
problems arise during programming, especially in the debugging phase.
In
addition, the computing sites can (DO!) become quite crowded and make
it
difficult to get a workstation. Plan for these things to
happen.
They will!
There are many sources of help for you while programming for this
course.
First is office hours. You can send questions to the TA and/or
instructors
by e-mail. However, keep in mind that many types of questions cannot be
answered without seeing your program. Do not expect us to answer
complex
questions by e-mail.
Deadline extension for Programming Assignments
Basic policies:
-
You are allowed three free late days for any reason, such as to resolve
conflicts with other courses, medical/personal emergencies, etc.
-
Other extension requests may be negotiated with the instructor(s).
Requests
will be considered only if they are made before the due date.
-
Extensions may be granted for job interviews, if scheduled at
short
notice.
-
Extensions are not granted for reasons such as:
-
You erased all your files (learn about the Old Files directory!)
-
The computing sites were crowded and you couldn't get to a workstation.
-
You had other course work or job commitments that interfered.
You can avoid such problems by starting
the
projects early.
If you are having trouble understanding the material or designing the
program, please schedule an appointment for help right away. |
-
There will be NO extensions for ANY reason on the final
project,
since it will be due and evaluated just in time for the final grade
submission.
Late penalties
Homework assignments are due and collected before lecture begins.
Assignments
are considered late thereafter. For each day late, up to three days
maximum,
10% per day will be deducted. After three days, no credit will be given
for the homework assignment. Late homework can be submitted to either
instructor's
mailbox in EECS 3411.
Programming assignments will specify the due date and time. For each
day late, 20% per day will be deducted.
Grading and Exams
Final course grades will be based on the total points earned on the
homework,
computer programming projects, and the two exams.
Generally incomplete will not be given. According to
University
policy, doing poorly in a course is not a reason for an incomplete. If
you are having problems in the course, your best bet is to come talk to
the instructor(s) as soon as you are aware of it.
Point distribution
The final grade is based on the individual grades as shown below. In
the
unlikely event this distribution needs to be changed, a clear
announcement
of the change will be made in class and on this page.
Graded Homework assignments |
10% |
Programming assignments |
20% |
Final project |
40% |
Exam 1 |
15% |
Exam 2 |
15% |
Group projects
Usually, the same grade will be given to all members of a group. We
will
ask the group members to grade the participation of the other members.
For the final project, a group should include 3 to 5 members.