Computer Graphics
CSCI 407, Section 01
Spring Semester 2008
Instructor
| John I. Moore, Jr. |
Phone: 843-953-7882 |
| Office: Thompson Hall 230 |
E-mail: john.moore@citadel.edu |
Course Description
An introduction to the fundamental principles of two- and
three-dimensional computer graphics. Topics include graphics systems, transformations,
clipping, animation, lighting, shading, color, and hidden surface removal. Graphics
principles are applied and reinforced through the use of a modern graphics application
programming interface (API) to implement a series of programming projects.
Prerequisite: CSCI 223 and MATH 240
Learning Outcomes
Upon successful completion of this course, a student will be able to
- Explain the concepts of transformation, clipping, lighting, and shading
- Write applications using a modern graphics API
- Describe the fundamental concepts of two and three-dimensional graphics
- Demonstrate the concept of computer visualization.
Textbook
Hong Zhang and Y. Daniel Liang, Computer Graphics
Using Java 2D and 3D, Prentice Hall, 2007, ISBN 0-13-035118-0.
Additional Course References
- Web Site for Course Text, http://cs.armstrong.edu/liang/graphics/graphicstoc.html
- Java 2D Graphics Tutorial,
http://java.sun.com/docs/books/tutorial/2d/index.html.
- Java 3D Web Site, https://java3d.dev.java.net/.
- Java 3D API Tutorial,
http://java.sun.com/developer/onlineTraining/java3d/index.html.
- Java 3D Wiki, http://wiki.java.net/bin/view/Javadesktop/Java3D
- JOGL API Project, https://jogl.dev.java.net/.
- Pro Java 6 3D Game Development: Java 3D, JOGL, JInput and JOAL APIs by Andrew Davison, Apress, 2007,
ISBN-10: 1590598172, ISBN-13: 978-1590598177.
- OpenGL: A Primer (Third Edition) by Edward Angel, Addison Wesley, 2007,
ISBN-10: 0321398114, ISBN-13: 978-0321398116.
- Computer Graphics Using OpenGL (Third Edition) by Francis S Hill Jr. and Stephen M Kelley,
Prentice Hall, 2007, ISBN-10: 0131496700, ISBN-13: 978-0131496705.
- Course Notes and Handouts.
Grading
The final grade for the course is based on 6 grades as follows:
- Two assigned in-class tests. Each test counts as a separate grade.
- Daily quizzes and other minor assignments– collectively count as 1 grade.
(Lowest two quiz grades will be dropped.)
- Programming assignments – collectively count as 2 grades.
- Final Exam – counts as 2 grades.
- Lowest grade from above (except for project) will be dropped. If the lowest grade
is the final exam or the collective grade for programming assignments, only one
of the associated grades will be dropped.
Miscellaneous Grading Policies
- For programming assignments students are required to work individually.
Assistance from anyone other than the instructor or your team member is
forbidden.
- Each programming assignment is due one week after it is assigned unless
noted otherwise by the instructor. A late program, for whatever reason,
will have its grade lowered by one letter, and programs more than one week
late will not be accepted. The course project will be due November 29.
- Homework may be assigned, but it will not be collected. Daily quizzes will
come directly from the material covered in the previous day's class, often
from the homework assignments.
- Class attendance and participation can influence borderline grades.
- A total of six absences will result in a course grade of F. With respect
to this policy, three lates count as an absence. In addition, if you are
late by 15 minutes or more, you will be considered absent.
- Incomplete grades are given only in unusual circumstances. Consult the
catalog for policy on incomplete work.
Class Schedule
Tuesday-Thursday, 9:30-10:45 a.m., Thompson Hall 216.
Office Hours
| Monday |
1:00-3:00 p.m. |
| Tuesday |
1:00-3:00 p.m. |
| Wednesday |
10:00-12:00 a.m. |
| Thursday |
1:00-3:00 p.m. |
| Other times by appointment |
Important Dates
| Feb. 19 |
Test #1 |
| Mar. 5 |
Last day to withdraw with a grade of “W” |
| Mar. 24-28 |
Spring Break (Work on programming asssignment!) |
| Apr. 10 |
Test #2 |
| Apr. 24 |
Final Exam 8:00-11:00 a.m. |
Expectations
- Do not miss the assigned tests without a valid excuse! Missing an
assigned test without a valid excuse will result in a grade of zero
for that test. The instructor gets to determine whether or not an
excuse is valid. In particular, guard duty is not an acceptable
excuse for missing an assigned test. When possible, students should
notify the instructor in advance if they will be unable to take an
assigned test. All make-up tests will be given outside of normal
class time. Once a test has been given in class, any subsequent
make-up tests may differ significantly.
- Show up for class on time and prepared. That means that you have read
the appropriate sections from the book plus any handouts, and you have
worked all assigned homework. If a test has been assigned, you should
be prepared to take the test. If you were late to class or absent from
the previous class meeting, you are responsible for getting class notes
and assignments from another student in the class or from the
instructor.
- If you are late to class, it is possible that you have already been marked
absent by the time you arrive. It is your responsibility to notify the
instructor after class that you were late rather than absent.
- Take care of any personal needs outside of class time. Except for
emergencies, you should not need to go to the bathroom, get a drink of
water, etc. If you need to leave the room at any time while class is
in session, you should ask for permission.
- There should be no personal conversations or moving around during
class without explicit permission. These actions are disturbing to
other students and to the instructor. Be courteous and respect the
rights of others.
- You should respect the property of your college. No eating, drinking
(other than water), smoking, dipping, chewing tobacco, etc. in the classrooms.
Also, no writing or carving on the desks, chairs, podium, etc. Any willful
vandalism or destruction of Citadel property will be dealt with severely.
Daily Schedule
| Dates |
Topics Covered |
| Jan. 10 |
Overview of Computer Graphics (Chapter 1) |
| |
| Jan. 15 |
Basic 3D Graphics (Chapter 5) |
| Jan. 17 |
Basic 3D Graphics (Chapter 5) |
| |
| Jan. 22 |
Basic 3D Graphics (Chapter 5) |
| Jan. 24 |
Graphics Contents (Chapter 6) |
| |
| Jan. 29 |
Graphics Contents (Chapter 6) |
| Jan. 31 |
Graphics Contents (Chapter 6) |
| |
| Feb. 5 |
Geometric Transformation (Chapter 7) |
| Feb. 7 |
Geometric Transformation (Chapter 7) |
| |
| Feb. 12 |
Geometric Transformation (Chapter 7) |
| Feb. 14 |
Views (Chapter 8 - Initial Sections) |
| |
| Feb. 19 |
Test # 1 (Chapters 1, 5-7) |
| Feb. 21 |
Java 3D API (Tutorial Chapters 0-1) |
| |
| Feb. 26 |
Java 3D API/Creating Geometry (Tutorial Chapter 1-2) |
| Feb. 28 |
Creating Geometry (Tutorial Chapter 2) |
| |
| Mar. 4 |
Easier Content Creation (Tutorial Chapter 3) |
| Mar. 6 |
Easier Content Creation (Tutorial Chapter 3) |
| |
| Mar. 11 |
Interaction (Tutorial Chapter 4) |
| Mar. 13 |
Interaction (Tutorial Chapter 4) |
| |
| Mar. 18 |
Interaction (Tutorial Chapter 4) |
| Mar. 20 |
Interaction (Tutorial Chapter 4) |
| |
| Mar. 24-28 |
Spring Break (Work on project during break!) |
| |
| Apr. 1 |
Animation (Tutorial Chapter 5) |
| Apr. 3 |
Animation (Tutorial Chapter 5) |
| |
| Apr. 8 |
Animation (Tutorial Chapter 5) |
| Apr. 10 |
Test # 2 (Tutorial Chapters 0-5) |
| |
| Apr. 15 |
2D Graphics |
| Apr. 17 |
2D Graphics |
| |
| Apr. 22 |
2D Graphics |
| Apr. 24 |
Final Exam 8:00-11:00 a.m. |