CS 412/512 Introduction to Computer Graphics

Fall 2025

COURSE INFORMATION

Instructor Prof. Zhu Wang
Email zhuwang [at] unm [dot] edu
Website cs.unm.edu/~zhuwang
Time Mon / Wed / Fri, 11:00 am – 11:50 am
Location Room 214, Mechanical Engineering Building
Office Hours Wed / Fri, 9:50 am - 10:50 am, FEC 3130

COURSE DESCRIPTION

This course will cover the fundamentals of 2D and 3D computer graphics, such as curves, 3D modeling, animation, and rendering. At the end of the semester, the students will be able to understand the core concepts of computer graphics and build their own real-time graphics pipeline that runs in a web browser.


PREREQUISITES

This course requires students to have prior programming experience, basic level linear algebra and high-school level geometry. The course projects will be implemented with WebGL in JavaScript. Students should also be familiar with basic usage of WebGL (WebGL Fundamentals Tutorials) by the 3rd week of the semester. If you are already familiar with Python, Java, C++, or a similar high-level language, you should be able to handle JavaScript quickly and complete the course successfully.


TEXTBOOK/RECOMMENDED READING (OPTIONAL)

Interactive Computer Graphics: A Top-Down Approach with WebGL, 8th Edition. Angel & Shreiner, 2020


WEEKLY TOPIC BREAKDOWN

  1. Introduction, overview, history
  2. Image formation (cameras, pixels, color, etc.)
  3. Mathematical Foundations
  4. 2D and 3D transformations
  5. Rasterization
  6. WebGL
  7. Viewing and projection
  8. Implicit representation and Geometric primitives
  9. Hierarchical modeling
  10. Lighting and shading
  11. Texture mapping
  12. Ray tracing
  13. Curves and Surfaces
  14. Particle system
  15. Final project presentation

GRADING

CS 412 and CS 512 cover the same content; however, students in CS 412 and CS 512 will be graded under different scales.

Grade Breakdown

Component Weight
Project Assignments 65%
Midterm Exam 10%
Final Project 25%


Grading scale for CS 412

92–100 A+, 88–91 A, 84–87 A-, 80–83 B+, 76–79 B, 72–75 B-, 70–72 C+, 66–69 C, 62–66 C-, 55–61 D, <55 F

Grading scale for CS 512

97–100 A+, 93–96 A, 90–92 A-, 87–89 B+, 83–86 B, 80–82 B-, 77–79 C+, 73–76 C, 70–72 C-, 60–69 D, <60 F

Incomplete and Late Submission

  • Incomplete or no submission will receive zero point.
  • Some assignments build on previous ones, so it is important to submit each assignment on time. Submissions after the deadline even for one second are considered one week late. Late work loses 30% per week and receives zero more than two weeks.

ACADEMIC INTEGRITY

  • Academic dishonesty may result in failing the assignment or the course. All academic dishonesty activities will be reported to the department.

  • It is allowed to use AI for learning purposes. But all students must fully understand their code! There will be a random check after each submission, where they may be asked questions about the part of the code they write (with comments removed). Submitting AI-generated code, copying from others without proper disclosure, or improper use of online resources will be considered as academic dishonesty.