Math 155 - Computer Graphics - Winter 2001

Instructor: Sam Buss

Course Organizational Information


NOTE: Office hours change for the finals week.  In addition, Malachi's office hours conflicted with a final exam, and he had to change them from the times announced in class.

Instructor: Sam Buss.
    Office: APM 6210.    Phone: 534-6455
    Office hours: M 10:00-10:50 Tu 9-10, F 10:00-10:50. In APM 6210.
    Lab consultation hours:  Tuesday, 11:00-11:50am.  (& I will stay later if needed).
                                            On Mondays, with a programming assignment due,
                                                        I will come in for part of the evening  (TBA in lecture).
            Other office/lab hours can be arranged as needed.  Please email for an appointment.

T.A.: Malachi Pust,
    Lab consultation hours: Monday, 12:20-1:15 pm. & will stay later if there is demand.
                                            Monday, 6:30-7:30 pm.
                                            Tuesday, 5:30-7:00 pm.
                                            Wednesday, 12:20-1:15 pm. & will stay later if there is demand.

Saturday, APM lab:
11:00-11:50 am
    Sam Buss (APM 6210) office hours: Monday, Wednesday 9:30-10:30,  Tuesday 10:30-11:30.
        Late Friday office hours available if requested in advance (and my plane flight is on time).
    Malachi Pust (APM 6402) office hours: Thursday 4:00 and Friday 10:00-12:00.
    Tuesday evening review: 7:00-8:00, APM 7421.

Final Exam: Saturday, March 24, 11:30-2:30
Final Exam review session:
Tuesday, March 20, 7:00-8:00pm, APM 7421
  Wednesday, February 21, during the normal lecture hour.

Meeting times: Lecture: MWF. CSB 005, 11:15-12:05 AM.    We will meet in the computer lab on a very occasional basis.

Special meeting: Friday, February 23rd.  Meet at 11:00 at APM 4301, for Guskov's talk.

Guest lecturer: Monday, March 12th.  Steve Rotenberg, Director of Software Development at Angel Studios will discuss application of   computer graphics in computer games.  Angel Studios is a game developer company based in Carlsbad, CA.

Computer Lab: The APM B349 and B337 lab is available for this class.  It has approximately 30 PC's running Windows.  We will be using mostly Microsoft Visual C++ for OpenGl program development.  We may also use 3D Studio Max a little to get an introduction to modelling software.

Syllabus: The first quarter of this course will cover the basics of 3D computer graphics.  This includes linear transformations, homogeneous coordinates, perspective transformations, lighting and reflectance models, various kinds of interpolation, Bezier curves, parametric surfaces, and other topics.  A large component of the course will be learning to program with OpenGL, a widely used, platform-independent API for 3D computer graphics.

Required: Computer Graphics using OpenGL, 2nd edition, by F.S. Hill, Jr., Prentice Hall, 2000.
    2. Recommended for students who want to learn OpenGL more thoroughly: OpenGL Programming Guide, 3rd edition, by Woo, Neider, Davis and Schreiner, Addison-Wesley.  Earlier editions of this book are available free online.

Lectures:  It is important to attend lectures regularly.  If you miss a lecture, you should be sure to get notes from a fellow student.  The lectures will include material that is not in the textbooks, and the material that is in the textbook will often be covered in a different order or with a different emphasis in the lectures.

Prerequisites: Working knowledge of elementary topics from multivariable calculus, such as vectors, dot products, cross products, and matrices.    Also, parametric curves and surfaces and their slopes (gradient) and normals.   Ability to follow mathematical proofs.  Ability to program in C/C++. Programming knowledge of any one of C, C++ or Java should be sufficient, as we will not need to use classes or any advanced features of C/C++.

Grading:  There will four or five programming assignments, some modest homework assignments, a midterm and a final exam.  The grading percentages will be announced.

Academic integrity guidelines.  Computer projects will be individual projects.  There are written guidelines on what kind of help you may give and receive for computer programming assignments.