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 10:00-11:15 AM

Class room:                WH F154

Office hours:              Mondays and Wednesdays 11:30AM-1:30PM

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

·        Final test:                            25%

 

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 Thursday, November 16, 2006, after which the serious accident/illness will be required to drop/withdraw.

 

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: Monday, December 11, 2006, 10:00AM-12:00PM.

 

                        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.