Course materials

CSC 271

Introduction to Computer Graphics

Fall 2025

01 · Syllabus

Course information and policies

InstructorQixin Deng

Email[email protected]

OfficeGoodrich Hall 108

Office hoursMonday/Wednesday, 10:00 AM–5:00 PM; appointment required after 5:00 PM

Meeting timeT/Th, 1:10–2:25 PM

LocationGoodrich Hall 101

Course Description

Introduction to Computer Graphics is a hands-on course covering modern OpenGL and the core concepts of real-time rendering. Students create and manipulate 3D objects, study the graphics pipeline, and develop practical skills with shaders, buffers, textures, transformations, cameras, lighting, and interactive visualization.

Reference Notes & Platforms

The principal references are LearnOpenGL and the C++ reference. Course development uses C++17, GLSL, CLion, CMake, GLFW, GLAD, GLM, and related OpenGL tools and libraries.

Course Goals

  • Implement and explain the modern graphics pipeline, including vertices, buffers, shaders, and rasterization.
  • Apply transformations and coordinate-system conversions to position objects and produce 3D perspective.
  • Use textures, cameras, and input controls to construct interactive scenes.
  • Combine rendering, transformations, lighting, and interaction in complete real-time graphics applications.

Assignments

The syllabus schedules ten programming assignments across the semester. Each assignment contains several graphics-programming questions and must be submitted on time; late submissions are not accepted.

Grading

Assignments constitute 40%, exams constitute 30%, and the course project constitutes 30% of the final grade. Standard letter-grade thresholds begin with A at 93, A− at 90, and B+ at 87.

Class Rules

The classroom must remain respectful and free of discrimination, bullying, and other harmful conduct. Violations are addressed through course and college procedures.

4th Hour

Seven guided virtual labs focus on C++ and GLSL reading and graphics programming. Each lab contributes two hours of work, together accounting for fourteen structured fourth-hour sessions outside regular class meetings.

About AI

AI can be a useful assistant when used reasonably, but it must not replace a student’s thinking. Assignments must be completed independently. Students should understand and be able to reproduce and explain all submitted work; significant inconsistencies may require an in-person demonstration and may be reported under academic-integrity procedures.

02 · Contents

Course content

01

Introduction to Computer Graphics

The role of graphics in visualization, games, simulation, and interactive systems; offline and real-time rendering; OpenGL and related graphics APIs.

02

Environment Setup

C++17 projects in CLion, CMake configuration, OpenGL contexts, GLFW window and input management, GLAD function loading, and common compilation issues.

03

Modern Graphics Pipeline

The programmable rendering pipeline, vertex processing, clipping, rasterization, fragment processing, and the flow of data from application code to the GPU.

04

Buffers, Attributes & Shaders

Vertex buffer objects, element buffer objects, vertex array objects, vertex and fragment shaders, shader compilation, linking, attributes, uniforms, and GLSL data flow.

05

Textures & Meshes

Texture coordinates, wrapping, filtering, mipmaps, image loading, texture units, indexed geometry, and reusable mesh abstractions.

06

Transformations

Vectors and matrices, translation, rotation, scaling, matrix composition, GLM, and the mathematical foundations of positioning geometry.

07

Coordinate Systems & Cameras

Local, world, view, clip, and normalized device spaces; model, view, and projection matrices; perspective and orthographic projection; camera movement, orientation, and zoom.

08

Lighting & Materials

Ambient, diffuse, and specular lighting, material properties, lighting maps, directional lights, point lights, spotlights, and the foundations of Phong shading.

09

Advanced OpenGL

Depth and stencil testing, z-fighting, object outlines, blending, transparency, cubemaps, skyboxes, reflection, and refraction.

10

Shadows & Interactive Scenes

Directional- and point-light shadow mapping, framebuffer preparation, combining pipeline stages, and building complete textured and illuminated 3D scenes.

03 · Exam preparation

Exam requirements

Gentleman’s Rule

The student is expected to conduct himself, at all times, both on and off the campus, as a gentleman and a responsible citizen.

Exam Rules

  1. This is a closed-book exam with only a pen (no pencil) and exam paper on your desk. No calculators allowed. No outside aids or resources are allowed.
  2. Final exam will be 2 hours, other exams will be using regular class time. Please arrive on time. Late students will not be compensated for their time.
  3. You are responsible for the clarity of your own handwriting. If I cannot recognize your handwriting, you will lose points.
  4. All cell phones and other electronic devices must be turned off.
  5. If you need to use the bathroom during the exam, you need to put your cell phone on the front desk.
  6. You are not allowed to communicate with any other people (other than the professor) while taking this exam.
  7. You may not share, disseminate, or discuss these questions with any other student in another section of this course who has not taken the exam yet; doing so is considered academic dishonesty and will lead to nullification of exam grades.
  8. There will be no tolerance towards academic dishonesty, and cheating can and will lead to automatic failure from the class as well as a report to the Academic Integrity Committee.

Exam Commitments

I will complete this exam in a fair, honest, respectful, responsible, and trustworthy manner. This means that I will complete the exam as if the professor was watching my every action. I will act according to the professor’s instructions, and I will neither give nor receive any aid or assistance other than what is authorized. I know that the integrity of this exam and this class is up to me, and I pledge not to take any action that would break the trust of my classmates or professor, or undermine the fairness of this class.

Midterm PreparationDate: October 14, 2025Location: In class+
Final Exam PreparationDate: December 15, 2025 · 1:30–3:30 PMLocation:+

04 · Assignments

Practice questions

05 · Projects

Project materials

06 · Final project showcase

Fall 2025

Scroll to browse student project videos. Select a video to play it.