University of Illinois Chicago

CS425 - Computer Graphics I (Fall 2025)

Overview

Welcome to CS425 Computer Graphics One!

This course introduces students to the field of Computer Graphics (aka CG). Over the past 50 years, the use of CG has grown exponentially. It is now an essential part of digital media, entertainment, interactive applications, and popular culture at large. While much of this growth has been driven by advances in graphical processing hardware, the foundations of the field lie in the theory, math, and algorithms that power the modeling of 3D geometry, surface appearance, and light.

The course will introduce students to these core CG concepts. We will cover a variety of topics, including algorithms for real-time rendering, scene transformations, and light modeling. The course begins with a refresher of the fundamentals of linear algebra. We will then explore geometric matrix-based transformations, graphics pipelines, shading models, texturing, and ray tracing. We will make use of JavaScript and WebGL as the programming language and graphics library to apply these concepts.

Course Instructors

Khairi Reda (redak [ at ] uic [ dot ] edu)
Office hours: Wednesdays 12:00 - 1:30pm (CDRLC 5409 or by Zoom)

TA: Dian Jia (djia7 [ at ] uic [ dot ] edu)
Office hours: Tuesdays 3:30 – 5:00pm (CDRLC 2404)

Class Meetings

The class will meet Mondays and Wednesdays (2:00 - 3:15pm).

We will meet in ERF 1023 (842 W. Taylor Street). Note the new classroom location.

Pre-requisites

CS251 Data Structures is required before taking this course. Previous experience with JavaScript will be helpful (although not required). It is expected that students are willing and able to learn these programming tools as needed within a few weeks.

Learning Objectives

Upon the successful conclusion of the course, students will be able to:

Textbook and Resources

Required: Interactive Computer Graphics, 7th edition, Pearson (ICG)

This book will cover the underlying theory and principles for the class. We will use this book because it utilizes WebGL in its examples, which makes them directly usable in the course. We will assign weekly reading from this book.

That said, if you already have a copy of Fundamentals of Computer Graphics, 4th edition or higher (FCG), and don't want to purchase ICG, you may utilize that book for the course. To accommodate either book in the course, we will list relevant chapters for reading from both books for each week.

I expect students to read the assigned chapters for the week. While the lectures will explain the core concepts, the slides alone cannot cover everything in the book. Therefore, it is required and expected that students read the assigned materials. Skipping on readings will leave gaps in your understanding and prevent you from successfully completing the course and its assignments.

There are other online resources that you may wish to consult. These websites provide tutorials, examples, and references on using HTML, JavaScript, and WebGL:

Course Weekly Schedule

Note: Schedule subject to change. Refresh this page frequently!

Week
(Date)
Topic Assigned Chapters Slides
1
(Aug 25)
Intro, raster images, color ICG: 1
FCG: 1, 2, 3
01-intro.pdf
02-color.pdf
2
(Sep 1)
Javascript, web development, and WebGL ICG: 2, 3
FCG: N/A
03-web.pdf
3
(Sep 8)
Rendering pipeline, and WebGL ICG: 2, 3
FCG: N/A
04-web.pdf
4
(Sep 15)
Linear algebra and transformations ICG: 4
FCG: 5, 6
linear algebra,
transformations
5
(Sep 22)
Viewing transformations ICG: 5
FCG: 7
07-viewing
07-lab
6
(Sep 29)
Rendering pipeline ICG: 2, 8
FCG: 8, 17
08-rendering-pipeline
09-rasterization
7
(Oct 6)
Light and shading ICG: 6
FCG: 10, 18
10-lighting,
11-shading
8
(Oct 13)
Texture mapping ICG: 7
FCG: 11
12-textures
9
(Oct 20)
Shadows ICG: 5.10, 5.1
FCG: 11.4.4
13-shadows.pdf
10
(Oct 27)
Ray tracing ICG: 12
FCG: 4
14-ray-tracing
11
(Nov 3)
Antialiasing and transparency ICG: 8.12
FCG: 8.3
visual-appearance
12
(Nov 10)
Curves and surfaces ICG: 11
FCG: 12.1, 15
curves & surfaces
13
(Nov 17)
Spatial data structures ICG: 9
FCG: 12
spatial data
14
(Nov 24)
Thanksgiving break
15
(Dec 1)
Modern rendering techniques, review for final exam FCG: 11.3, 20.1 modern techniques
16
(Dec 8)
Final exam final review

Evaluation and Grading

Grading Policy

Assignment Schedule

Exam Considerations

There will be one final exam. You are expected to demonstrate ability to use critical thinking in explaining (and applying) the material covered in class and assignments. Make sure you are as detailed and thorough as possible.

Assignment Considerations

There will be an initial WebGL assignment to make sure you are familiar with the main components of web development. After that, there will be three main assignments covering different aspects of computer graphics. You must use Javascript or Typescript with WebGL to complete your assignments. Do not use any high-level library, such as Three.js, unless clearly specified in the assignment.

We will use GitHub Classroom for the assignments. Assignments will be followed by short in-class quizzes; these quizzes will provide an opportunity for you to demonstrate your understanding of the basic concepts covered in the assignments. Assignment grades will be weighted by the scores of these short quizzes.

Graduate students enrolled in the course will be required to complete additional tasks in the assignment (e.g., implementing additional features). Those will be specified in the assignment details. Undergrads do not need to complete those grad-only tasks, but may do so for extra credits.

Late Days

Late submissions will be penalized at a deduction rate of 20% per day; After 5 days you will have a maximum grade of zero. For fairness, no further extensions will be granted, except under extraordinary emergencies.

Acknowledgements

This course borrows heavily from an earlier version taught by Professor Fabio Miranda at UIC. Additionally, some of the figures used in the slides were adapted from:

Academic Integrity

UIC is an academic community committed to providing an environment in which research, learning, and scholarship can flourish and in which all endeavors are guided by academic and professional integrity. In this community, all members including faculty, administrators, staff, and students alike share the responsibility to uphold the highest standards of academic honesty and quality of academic work so that such a collegial and productive environment exists. As a student and member of the UIC community, you are expected to adhere to the Community Standards of integrity, accountability, and respect in all of your academic endeavors. When accusations of academic dishonesty occur, the Office of the Dean of Students investigates and adjudicates suspected violations of this student code.

Unacceptable behavior includes cheating, unauthorized collaboration, fabrication or falsification, plagiarism, multiple submissions without instructor permission, using unauthorized study aids, coercion regarding grading or evaluation of coursework, and facilitating academic misconduct. Please review the UIC Student Disciplinary Policy for additional information about the process by which instances of academic misconduct are handled towards the goal of developing responsible student behavior. By submitting your assignments for grading you acknowledge these terms, you declare that your work is solely your own, and you promise that, unless authorized by the instructor or proctor, you have not communicated with anyone in any way during an exam or other online assessment. Let's embrace what it means to be a UIC community member and together commit ourselves to the values of integrity. Please familiarize yourself with the UIC Department of Computer Science Student Code of Conduct.

Inclusive Learning Environment

UIC values diversity and inclusion. Regardless of age, disability, ethnicity, race, gender, gender identity, sexual orientation, socioeconomic status, geographic background, religion, political ideology, language, or culture, we expect all members of this class to contribute to a respectful, welcoming, and inclusive environment for every other member of our class. If there are aspects of the instruction or design of this course that result in barriers to your inclusion, engagement, accurate assessment or achievement, please notify me as soon as possible.

Disability Accommodation Procedures

UIC is committed to full inclusion and participation of people with disabilities in all aspects of university life. If you face or anticipate disability-related barriers while at UIC, please connect with the Disability Resource Center (DRC) at drc.uic.edu, via email at drc@uic.edu, or call (312) 413-2183 to create a plan for reasonable accommodations. In order to receive accommodations, you will need to disclose the disability to the DRC, complete an interactive registration process with the DRC, and provide me with a Letter of Accommodation (LOA). Upon receipt of a LOA, I will gladly work with you and the DRC to implement approved accommodations.

Disclaimer

This syllabus is intended to give the student guidance in what may be covered during the semester and will be followed as closely as possible. However, as the instructor, I reserve the right to modify, supplement and make changes as course needs arise.