Mathematics and programming techniques for computer graphics that cover raster graphics, transformations, rendering pipeline, clipping algorithms, lighting models, shading and shadows, texture mapping, antialiasing, ray tracing, non-photorealistic graphics. MATH 275 or MATH 301 recommended. PREREQ: COMPSCI 342.

Instructor: Alark Joshi


Office: MEC 302A

Office Hours: Tue, Thu 3:00pm-5pm or by appointment


COMPSCI 342 or PERM/INST. Knowledge of basic data structures like lists, hash tables, binary search trees. Knowledge of elementary sorting and searching algorithms. Prior knowledge of C/C++ programming language is required.


  • Familarize students with the mathematics required for computer graphics
  • Discuss fundamentals such as raster graphics, transformations, viewing, clipping algorithms and so on
  • Implement algorithms for viewing, interaction, lighting and shading as well as ray tracing
  • Explore graphics hardware and familiarize yourself with shaders and their use in the graphics pipeline
  • Discuss advanced graphics topics such as non-photorealistic graphics, graphics for games and scientific visualization.


In addition to the handouts and relevant readings assigned for each week, we will refer to the following texts for weekly readings. These books are available at the Boise State bookstore.


The course will be graded on a A-F scale. The evaluation will be based on successfully finishing every programming assignment, homeworks and exams.

Academic Dishonesty

As per the Office of Student Rights and Responsibilities, the Student Code of Conduct defines Academic Dishonesty as "A violation may include cheating, plagiarism, or other forms of academic dishonesty. All assignments submitted by a student must represent her/his own ideas, concepts, and current understanding or must cite the original source. Academic dishonesty includes assisting a student to cheat, plagiarize, or commit any act of academic dishonesty. Attempts to violate academic integrity do not have to be successful to be considered academic dishonesty. Academic dishonesty includes turning in substantial portions of the same academic work to more than one course without the prior permission of the faculty members."