CSUDH Computer Science Department
CSC461: Computer Graphics I
Instructor: Dr. Jianchao (Jack) Han
Phone number: 1-310-243-2624
Office: NSM A-133
Email: jhan@csudh.edu
Class time:
Mondays and Wednesdays
Class room: WH F154
Office hours:
Mondays and Wednesdays
Course Webpage: http://csc.csudh.edu/jhan/Fall2006/csc461
Prerequisite: CSC311, CSC321/CSC251, MAT271, MAT281
Textbook: INTERACTIVE COMPUTER GRAPHICS: A Top-Down Approach Using OpenGL, 4th Edition, Edward Angel, Addison- Wesley, 2005. ISBN: 0321321375
Reference: OpenGLTM: A Primer, Edward Angel, Addison-Wesley, 2002, or 2nd Edition, 2004.
Webpage: http://www.opengl.org
Course Contents: The course will cover the following contents:
· Computer Graphics Systems and Applications
· Computer Graphics Models
· Image Formation
· Pipeline Architectures
· Color Models
· OpenGL Programming Language: API
· Graphics and Event-driven Programming
· Two- and Three-Dimensional Applications
· Animation
· Interactive Graphics, Input/Output Devices
· Coordinates, Geometric Objects and Transformations
· Computer Viewing, Parallel and Perspective Projections
· Lighting and Shading
· Renderer Implementation
Course Objectives: By the end of this course, the students should
· Be able to understand the pipeline architecture
· Master the additive and subtractive color models
· Have a deep understanding of the process of image formation
· Have a good understanding of OpenGL
· Be able to write graphics program using OpenGL
· Have a good understanding of input/output devices and human-computer interaction
· Be very familiar with event-driven programming
· Have a deep understanding of 2- and 3-dimensional geometric objects
· Have a good understanding of coordinate systems and transformations
· Understand human vision system and computer viewing
· Understand parallel and perspective projections
· Be able to use projection matrices in OpenGL
· Understand local and global lighting and reflection
· Understand material properties and affects on graphics
· Understand shading and hidden-surface removal
· Be able to understand the implementation of renderers
Requirements: There will be TWO scheduled in-class midterm exams and ONE final exam. Examinations will cover information contained in the text as well as information presented in classes. The final exam will be comprehensive.
There will be FIVE individual written assignments and FOUR individual programming projects. The programming projects must be implemented in OpenGL and the source code and printing results must be submitted. You are encouraged to do all exercises of each chapter as your homework, although they will not be collected or graded.
Grading: To pass the course, you MUST write ALL examinations, and complete at least THREE written assignments and TWO programming projects.
The following weights will be applied to calculate your final score:
· Written Assignments: 15%, 3% each
· Programming Projects: 30%, 7.5% each
· Midterm tests: 30%, 15% each
The score will be mapped to your course one-letter grade as follows:
Range |
Grade |
Range |
Grade |
Range |
Grade |
[90, 100] |
A |
[70, 75) |
B- |
[53, 56) |
D+ |
[85, 90) |
A- |
[65, 70) |
C+ |
[50, 53) |
D |
[80, 85) |
B+ |
[60, 65) |
C |
[0, 50) |
F |
[75, 80) |
B |
[56, 60) |
C- |
|
|
Academic Integrity: Academic integrity is very important for all courses including this one at CSUDH. You are obliged to consult appropriate sections of the University Catalog and obey all rules and regulations imposed by the University relevant to its lawful missions, processes, and functions.
Unless specifically stated otherwise in this syllabus, all written exams and pop quizzes, as well as programming projects must be the students' own work. Plagiarism and cheating (e.g. stealing or copying the work of others and turning it in as your own) will not be tolerated, and will be dealt with according to the University policy. General discussions with other students and the instructor are permitted and always encouraged, but sharing major portions of solutions is considered cheating. The consequences for being caught plagiarizing or cheating range from receiving a zero grade for the work you plagiarized or cheated on, to being dropped from the course.
Attendance: Students are expected and encouraged to attend lectures and contribute to discussions. It is the student’s responsibility to contact the instructor as early as possible if s/he cannot attend the class to write exams. With convinced reasons, the instructor might arrange another time to allow the students to write the missed midterm exams. However, there are no make-ups for missed quizzes, projects, assignments, and the final exam.
Drop
Policy:
The students should follow the course drop policy of the University. The last
day to drop Without Record of Enrollment or from FT
to PT Status with Refund is Thursday,
September 14, 2006, after which the drop/withdraw will be reflected
in the students’ record of enrollment. The last day to drop/withdraw with
serious and compelling reason is
Tentative Class Schedule (subject to change):
We will do our best to adhere to the following schedule. If any changes are necessary, you will be notified in class. You are always expected and encouraged to have read the appropriate sections of the text before coming to class.
Week |
Day |
Topic |
Chap. |
Assignments |
Projects |
1
|
|
Introduction to computer graphics Image formation |
1 1 |
|
|
2
|
|
Models and architectures Introduction to OpenGL |
1 2 |
A1à |
|
3
|
|
Simple OpenGL program 2-D programming in OpenGL |
2 2 |
|
P1à |
4
|
|
3-D programming in OpenGL Input Devices |
2 3 |
àA1, A2à |
|
5 |
|
GLUT callbacks/animation Widgets and Picking |
3 3 |
|
àP1 P2à |
6 |
|
Interactive Program Geometric objects |
3 4 |
àA2 |
|
7
|
|
Midterm 1 Coordinates and Representation |
1-3 4 |
A3à |
|
8
|
|
Transformations Transformations in OpenGL |
4 4 |
|
àP2 P3à |
9
|
|
Modeling Virtual Trackball |
4 4 |
àA3 |
|
10 |
|
Classical Viewing Computer Viewing |
5 5 |
A4à |
|
11
|
|
Parallel projection Perspective projection |
5 5 |
|
àP3 P4à |
12
|
|
Lighting and Shading Lighting and Shading in OpenGL |
6 6 |
àA4 |
|
13
|
|
Midterm II Discrete Techniques |
4-5 7 |
A5à |
|
14
|
|
Renderer Implementation Advanced Topics |
8 9-12 |
|
àP4 |
15
|
|
Flexible Review |
1-8 |
àA5 |
|
Final
Examination:
Ai (Pi)à means that Written Assignment (Programming Project) i will be handed out.
ßAi (Pi) means that Written Assignment (Programming Project) i will be due.