Dec 7

Final Project Demo day

The final project will be Saturday, December 14th at 10am in CIT368.

Oct 2

Powerpoint Compatibility

If you run into any issues with the lecture powerpoints (for example, if formatting looks bizarre), it may be due to an incompatibility between your version of powerpoint and ours. The pdf versions of the slides should look better if this is the case.

Sept 28

Linear Algebra Help Session

There will be a help session on linear algebra held October 10th , from 6-7pm in CIT 368! If you've never seen linear algebra before or just need a refresher, this is the help session for you!

Sept 5

C++ Info Session

There will be a help session on C++ held tomorrow, Friday September 6, from 8-9pm in the Motorola room! If you've never used C++, this is a great opportunity to get an introduction to the language. Even if you have, come for a quick refresher!

Sept 5

Prerequisite Notice

If you would like to take this course but are unable to register due to the listed prerequisites, please email!

Aug 29

Welcome to CS123!

This course offers an in-depth exploration of fundamental concepts in 2D and 3D computer graphics. After introducing 2D raster graphics techniques, the course focuses on 3D modeling, geometric transformations, 3D viewing and rendering.

A sequence of assignments in C++ culminates in a simple geometric modeler and ray tracer. Meanwhile, a sequence of labs introduces real-time rendering with OpenGL. Students finish the course by building a demo scene using modern OpenGL techniques.


Undergraduate students taking this course are expected to have completed any intro sequence (15/16, 17/18, or 19), and should also have taken CS32, or have strong software engineering skills.

Although the course is targeted at juniors, sophomores who did well in the intro sequence and have strong programming skills are able to take CS123.

Graduate students are also encouraged to take this course; graduate credit is obtained by completing the additional half credit requirements found in most projects.

Prior knowledge of C++ or linear algebra is helpful, but not required to take CS123. Students not already familiar with these concepts are encouraged to attend helpsessions that will be provided during the semester.