CSCI 550 Course Material

CSCI 550 (Fall 2017)

Introduction to Computer Graphics

Course Description

This is an introductory computer graphics course, suitable for entry-level graduate students. It may also be taken by undergraduate students with strong interest and somebackground in computer graphics. The course offers an introduction to the field of computer graphics, with emphasis on principles, algorithms and graphics programming techniques. Course objectives include: (a) understand concepts, algorithms, and design principles underlying modern 3D computer graphics; (b) develop 3D graphics algorithm design and implementation skills; and (c) gain practical experience in 3D graphics programming.

Class Information

Time: Wednesday, 10:30am -- 12:50pm
Room: LD 030
Instructor: Dr. Shiaofen Fang
office: SL 280
phone: 274-9731
Office hours: By appointment
Course web site:

Teaching Assistant

Shenghui (Prince) Jiang (

Office hours: by appointments

Required Text Book

Computer Graphics Using OpenGL, by F.S. Hill, Jr. and Stephen M. Kelley, 3rd edition, Prentice Hall, 2007.


OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 4.3 (8th Edition), Dave Shreiner, Graham Sellers, John M. Kessenich, Bill M. Licea-Kane.

Computer Graphics: Principles and Practice (3rd Edition), July 2013, by John F. Hughes, Andries van Dam, et al.


C or C++; Linear Algebra, Data Structures.


Assignments will include a number of non-programming homeworks and programming projects. All programs will be written in C or C++ using OpenGL and Glut APIs. No late-submission will be accepted.
You may use any computer platforms for your projects. PCs running Windows systems are also available in SL 247 and SL 251 Labs.

Web resources



Grading Policy

Non-programming assignments: 40%
Project assignments: 50%
Attendance and participation: 10%

Class Schedule

week 1 :
Aug. 23: introduction, graphics pipeline. (Ch.1)
Course Notes: Part 1

week 2 :
Aug. 30: OpenGL programming.
First Homework
First Project

week 3 :
Sept. 6: interface programming using GLUT. drawing graphics primitives. (Ch.2)

week 4:
Sept. 13: windows, canvas, clipping. (Ch.3)
2nd Homework

week 5:
Sept. 20: geometric computation. (Ch.4)
2nd Project

week 6:
Sept. 27: transformations and viewing (Ch.5)

week 7:
Oct. 4: transformations and viewing. (Ch.5)

week 8:
Oct 11: polygon mesh and shape modeling. (Ch.6)

week 9:
Oct 18: 3D viewing, cameras, and projections. (Ch.7)

week 10:
Oct. 25: Shading. (Ch.8)

week 11:
Nov. 1: hidden surface removal, spatial data structures (Ch.8)

week 12:
Nov. 8: transparency and blending, texture mapping. (Ch. 8)

week 13:
Nov. 15: global illumination, Raytracing (Ch.12)

week 14:
Nov. 22: Thanksgiving Holiday (No Class)

week 15:
Nov. 29: Radiosity, Special effects, Fractals.(Ch.9)

week 16:
Dec. 6: Raster algorithms.

Adaptive Educational Services

Students needing accommodations because of disability will need to register with Adaptive Educational Services and complete the appropriate forms issued by AES before accommodations will be given. The AES office is located in Taylor Hall, UC 100. You can also reach the office by calling 274-3241.

Policy on Academic Dishonesty in the Department of Computer and Information Science at IUPUI

The faculty in the Department of Computer and Information Science (henceforth, referred to as the department) values academic honesty to be absolutely essential and expects all students to conform to it. Any violation of academic integrity is considered a serious offense and will result in severe consequences.

The policy against violations of academic integrity will be enforced at the departmental level across all courses.

If a student does not abide by this policy then, for the first violation, he/she will receive zero points for the component of the course on which academic misconduct occurred and will be reported to the Department Chairperson. If the violation is not related to a specific assignment or exam, the course instructor reserves the right to impose the zero-point penalty to any component of the course.

For a second violation of academic integrity (occurring anywhere in the graduate or undergraduate curriculum, in the same or a different semester, in the same or a different course), the student will receive a failing grade for the course where the second violation occurred, as enforced by the Department Chair and the School of Science Dean's Office, and, in addition, an official reporting process will be initiated by the Department Chair as per IUPUI's Student Conduct Policies: (

For a third violation, the department will initiate dismissal request from the program in which the student is enrolled.

In all cases of academic integrity violation, the involved student will be notified in writing at the time the offense is observed and acknowledge the receipt of such notice in writing.

This is the minimal policy and the department reserves the right to impose more severe penalties for the first and/or second offense of academic misconduct.

The student will have opportunities to file appeals at the department, the school, and the university levels, to contest the academic dishonesty finding and/or the imposed penalty.

At the department level, any appeal will be made to the department's graduate or undergraduate committees respectively, depending on whether the student is a graduate or an undergraduate student. The graduate or undergraduate committee chair will substitute any committee members involved in the penalty imposition process with other faculty members with no conflicts of interest before processing the appeal. If desired, a student can pursue a further appeal to the School of Science Appeals Committee. Finally, the student can also submit an appeal to the IUPUI Appeals Committee.