15-462 Administrative Information for Fall 2004
Time: Tuesday and Thursday from 10:30-11:50 am
Place: Scaife Hall 125
The class web page is at
This is the primary online source for information about the course, including assignments, lecture notes, and administrative details.
The class newsgroup is cmu.cs.class.cs462. This group will
serve as a Q&A forum. Feel free to ask questions or exchange
information. We will read the group and answer. We will also post
important official announcements there, as well as in the WWW page and
occasionally via email. Prerequisites
- 15-213: Introduction to Computer Systems
- 21-241: Matrix Algebra (i.e. matrix & vector algebra)
- 21-259: Calculus in Three Dimensions (i.e. planes, quadratic surfaces, basic 3-D geometry, partial derivatives) or equivalent
- Fundamentals of Computer Graphics. Peter Shirley, A.K.Peters, 2002, ISBN 1568811241
- OpenGL(R) Programming Guide: The Official Guide to Learning OpenGL, Version 1.4 (4th Edition). OpenGL Architecture Review Board, Dave Shreiner, Jackie Neider, Mason Woo, Tom Davis. Addison-Wesley, ISBN 0321173481 (WEB LINK)
Other Texts and Sources
- 3D Computer Graphics (3rd Edition), Alan H. Watt Addison-Wesley, ISBN 0201398559.
- Computer Graphics: Principles and Practice, 2nd edition in C. Foley, van Dam, Feiner, and Hughes. Addison-Wesley, 1996. This book covers a lot of ground and is a good reference book on computer graphics.
tutorial programs: Nate Robins' tutorial programs on basic graphics functionality in OpenGL.
- SIGGRAPH proceedings, published annually as special editions of the journal `Computer Graphics' (in the E&S library, with proceedings, not journals.)
Video Review: some are available for viewing at Instructional
Grading for the class will be as follows:
- Midterm 13%
- Final 22%
- Programming Assignments:
- A1 (10%)
- A2 (11%)
- A3 (13%)
- A4 (11%)
- Written Homework 20% total (probably 6+7+7)
An "A" will require at most 90%, a "B" will require at most 80%,
etc. To get a good grade, you will be expected to do well in both the
programming and the written work (exams and homework). There is a
strong correlation between students who come to class and those who do
well on the exam.
The programming assignments will have small amounts of extra credit.
You may use Maple or similar systems to help with algebra on assignments, but where you do, turn in a transcript.
Assignments and Homework
There will be two kinds of assignments: Programming assignments and written homeworks. All programming assignments and homeworks must be your own work (except for the code that we give you as part of the assignment). You may talk with others about the assignments, but please solve the problems and write the code yourself.
Please test your programs in the WeH 5336 lab. All programs must compile and run on the Linux PCs in WeH 5336.
Grading on programming assignments is based on your programs' functionality, usability, and on the quality of the animations or images you produce.
Programming assignments should be turned in by midnight on the day they are due.
Written homeworks will be collected before class starts on the day they are due.
Late days: A total of three late days may be taken during the semester
on programming assignments and written homeworks. The flexibility
provided by those late days is intended to get you through the time
where all your classes just happen to have assignments due on the same
day. Extensions beyond those three days require a REALLY good excuse
or a penalty of 10% of the value of the assignment/day.
Cheating will result in immediate penalties ranging from 0 points on
the relevant assignment, homework, or test to failure of the course.
All cheating cases are reported to the university, and severe offenses
are brought before an Academic Review Board for consideration of
Course policy is that you may talk about the assignments with others but you must write the code and solve the problems yourself. Sharing answers or using someone else's code (with the exception of utilities that the class provides) constitutes cheating.
What is considered cheating?
- Copying all or part of someone else's code to use in your assignment.
- Copying all or part of someone else's work on a written assignment.
- Looking at someone else's test.
- Allowing another student to examine your code, or leaving your code in a publicly accessibly location.
What is not considered cheating?
- Discussing algorithms or ideas with anyone for programming assignments or written homeworks.
- Asking the instructor or TAs of 15-462 about anything.
- Using WWW (or other) resources for background information on the written homeworks, as long as the web site or other reference is cited in your homework.
If you aren't certain whether something is or isn't cheating, even by the spirit if not the letter of these guidelines, please ask.