COMP 350: Computer Graphics
Spring 2012
Course Syllabus and Class Policies
1. Regular attendance is necessary – learning the course topics without the benefit of lectures and class discussions would be very difficult.
2. Assigned sections of the textbook: Edward Angel, Interactive Computer Graphics: A Top-Down Approach with OpenGL, Ed. 6, should be read in advance. Some questions on quizzes and class discussion will refer to the assigned reading. Many additional books are available, for instance, you may find the following text very helpful – Wright and Lipchak, OpenGL Superbible, Ed. 3. You can also find numerous Internet sources for learning OpenGL – tutorials, sample programs, etc.
3.
Computer graphics
concepts and methods are deeply rooted in mathematics. Without good understanding
of underlying math, you will never become really knowledgeable in graphics.
Without “getting” the math, you will, perhaps, be able to use prepackaged
graphic software, but you will not be able to write innovative programs that
would make you more marketable to a potential employer. Without strong
understanding of the basics (i.e., the CG math), you will not be able to adapt
to changing hardware, software, and business environment.
OpenGL frees the programmer from performing most
computations themselves, and so it would be theoretically possible to teach CG
with OpenGL without using much math. However, that would be extremely unwise! If you just learn OpenGL functions and procedures rather than
learning the basics of CG, you will likely be lost when software or business
environment changes. Although
OpenGL is one of the industry standards these days, another standard may take
its place in the future. If you learn the basics of CG, and if you understand
the underlying mathematics, you will be able to adapt to a new API quickly.
Consequently,
we will be learning some math in this course! Most of the math used in
graphics comes from Calculus III and Linear Algebra that are
rarely taken by computer science majors. I will try to help you with the
mathematics as best as I can.
4. This is the second time I teach CG with OpenGL (first time was in fall of 2005). I am changing the structure of the course quite substantially, so the following syllabus is tentative. Some of the main topics of the course are:
You can find a more detailed (but
quite tentative) schedule of course topics at the following address: http://home.sandiego.edu/~pruski/cs350s12schedule.html.
5. A primitive webpage for the course is at http://home.sandiego.edu/~pruski/cs350s12.html. Please check the webpage daily for assignments and announcements.
6. Office hours (Serra Hall 149):
|
Monday |
2:30 – 4 |
|
Tuesday |
2:20 – 3:50 |
|
Wednesday |
10 –11 |
|
Friday |
12:15 – 1:15 |
I am also available every other Tuesday from 10:30 to 12, but during these office hours Calculus III students have priority. I will also be available at additional times, by appointment. The best way of contacting me is via e-mail (pruski@sandiego.edu). I am on e-mail most of the time, except for a few weekends. You may also reach me at x. 4035, or leave a message with our Executive Assistant, Amy Prout, Serra Hall 133, x. 4706.
7. Homework will be assigned regularly – small programming assignments will be due approximately once a week. Late homework assignments will be penalized with decreased scores, unless you have a valid reason and you notify me in advance. Homework assignment scores count for 20% of the course grade.
8. A programming project will be assigned in mid-April to be due at the end of the course. We will decide in class whether it will be an individual or a team project. The project score counts for 20% of the course grade.
9. There will be 8 quizzes. The questions will refer to the material recently covered in class and/or to the assigned reading. Two lowest quiz scores will be dropped. Generally, quizzes cannot be made up, unless you have an important reason to miss a quiz and you notify me in advance about your absence. The quiz scores count for 15% of the course grade.
10. There will be a midterm exam, on Wednesday, March 14. The midterm counts for 15% of the course grade.
11. The cumulative final exam will take place on Friday, May 18, 2:00 – 4:30. The final exam score counts for 30% of the course grade.
12. The grading criteria are as usual:
|
Total percentage of points in the course |
Course grade |
|
92.5% and above |
A |
|
Between 90% and 92.5% |
A- |
|
Between 87.5% and 90% |
B+ |
|
Between 82.5% and 87.5% |
B |
|
Between 80% and 82.5% |
B- |
|
Between 75% and 80% |
C+ |
|
Between 65% and 75% |
C |
|
Between 60% and 65% |
C- |
|
Between 50% and 60% |
D |
Note: I will “curve the grades up” a little, if the number of As and Bs is unreasonably low.
13. The Mathematics and Computer Science Department strongly promotes Academic Integrity. I sincerely hope issues related to academic integrity will not arise in our course. There have been many cases of cheating in programming courses in the past – submitting someone else’s work for homework or programming assignments as well as cheating during exams. Depending on the severity of the case, the possible consequences include assigning the score of 0 on the given assignment, lowering the course grade, or even assigning F in the course.