15-462 Administrative Information for Spring 2004

Time: Tuesday and Thursday from 10:30-11:50 am
Place: Wean 7500

Online Resources

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.


  • 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

Required Text

Optional Text

  • OpenGL(R) Programming Guide: The Official Guide to Learning OpenGL, Version 1.2 (3rd Edition) . Mason Woo, Jackie Neider, Tom Davis, Dave Shreiner, OpenGL Architecture Review Board. Addison-Wesley, ISBN 0201604582  (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.
  • OpenGL 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.)
  • SIGGRAPH Video Review: some are available for viewing at Instructional Technology

Grading Information

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)

There will be a total of 1000 points (plus extra credit), so 10 points equals one percentage point.

An "A" will require at most 90% (900 points), a "B" will require at most 80% (800 points), 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.

Late policy

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 projects and assignments. 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 Policies

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 further measures.  If you are not keeping up or feel overwhelmed by this course, there are many better options.  Please come and talk with the instructor or a Dean.

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.

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.