CSE 581: Exams and Homeworks
- In general, the questions will require some type of short discussion answer.
- The most important feature of your answer should be the reasoning behind
your actual answer. I have been known to accept both 'YES' and 'NO' answers
for the same questions, if the reasons given demonstrate an understanding
of the material. I'm not looking for you to regurgitate equations or phrases;
I'm looking for you to demonstrate that you have a grasp of the material by
being able to use it to explain things. Be forewarned: If you just answer
'YES or 'NO' to a question without giving any reasons, I am apt to give you
little or no credit for your answer. Your answer needs to convince me that
you understand the material, not that you can guess what the correct answer
is.
- A Question on the exam will usually fall into one of the following categories:
- Algorithmic
- Explain how a certain algorithm computes something. For example: How does the Secant method operate and determine a root?
- Hypothetical
- Given a hypothetical problem to solve or computation to perform, suggest an algorithm that might work. This may require citing an algorithm covered in class, or it might involve modifying an algorithm covered in class to handle the hypothetical case presented. For example: Describe how you might determine the local maximum of a function.
- Programming
- Write a piece of code or pseudo-code to compute a certain thing. Typically, the computation will be something covered in class and/or something that was used in one of the labs.
- Definitional
- Define a term from the book.
- The final will be comprehensive.
Midterm I Study Guide
The first Midterm will cover Chapters 1-5, with a heavy emphasis on Chapters
4 and 5. Below is a more detailed list of topics:
- Section 2.3 - The OpenGL API. You should know what OpenGL functionality
supports, the differences between OpenGL , GLU, GLUT, and Windows Forms.
- Section 2.4 - Primitives and Attributes. You should have a basic understanding
of the various primitives that OpenGL supports, the difference between them
and some rational as to which primitives and should be used in different situations.
- Section 2.6 and notes - Viewing and the World window and viewports. You
should understand the roles of the viewing window (world window) and the viewport.
- Section 3.5 and course notes - Event-Driven Programming. You should be able
to describe the basic structure of an event-based program and its execution
model.
- Section 4.1 - Scalars, Points and Vectors. You should know the basic operations
on vectors and points, and the concept of Affine spaces.
- Section 4.3 - Coordinates Systems and Frames. You should know how to represent
a coordinate system in terms of its basis vectors, how to change coordinate
systems using matrices, the concept of homogeneous coordinates and why we
use them in computer graphics.
- Section 4.5 - Affine Transformations. you should understand the properties
of both affine transformations and rigid body (4.6) ttransformations, as well
as be able to determine whether a transformation is affine or not.
- Sections 4.6 and 4.7 - Transformations. You should know the basic transformations,
including reflection, and shear, as well as their representation in homogeneous
coordinates. You should also know the properties of the roatation matrices
and orthogonal matrices.
- Section 4.8 - Concatenation of Transformations. you should know what operations
commute, which operations do not, and how to scale and rotate about a fixed
point.
- Section 4.9 - OpenGL Transformation Matrices. You should understand the
concept of the current transformation matrix, the modelview matrix and the
projection matrix. You should also know the order of the transformation to
produce the desired result, and the matrix stack.
- Sections 5.1 and 5.3. You should understand the basic orthogonal and perspective
projections, camera coordinates, and how to specify them in OpenGL and GLU.
- Sections 5.4, 5.8 and 5.9. You should understand the mathematics behind
the projections and the projection matrices.
- Section 5.5. You should understand how to specify the viewing frustum, and
its function in the graphics pipeline, for both parallel and perspective projections.
Example problems:
This is incomplete. I will have more exercises in class, but ones from the
book would include:
- Problem 2.9
- Problems 4.2, 4.7, 4.9 and 4.15.
- Problems 5.2, 5.3, 5.4, 5.7, 5.8, 5.12 and 5.15
Last Modified: Sunday, May 05, 2002