Foundations
of Computer Graphics
CSCI 610
(Fall 2026)
Instructor: Joe Geigel
Office: 70-3527
Office Hours: TR
4-5pm (or by appt)
E-mail:
jmg@cs.rit.edu
URL: http://www.cs.rit.edu/~jmg/
Course URL:
http://www.cs.rit.edu/~jmg/cgI
Class
Lectures: TR 11:00AM - 12:15PM
Classroom: GLE (09) - 1200
PREREQUISITE: (CSCI-603 or CSCI-605 with a grade of B or
better) or (CSCI-243 or SWEN-262) or equivalent courses.
Description
Introduction to Computer Graphics is a study of
the hardware and software principles of interactive raster graphics.
Topics include an introduction to the basic concepts, 2-D and 3-D modeling
and transformations, viewing transformations, projections, rendering
techniques, graphical software packages and graphics systems. The course
will focus on rasterization techniques and emphasize the hardware
rasterization pipeline including the use of hardware shaders. Students
will explore the use ofa standard computer graphics API to reinforce concepts and study
fundamental computer graphics algorithms. Programming projects will be
required.
Learning
Outcomes
After completion of this course:
- Students will
be able to describe the history and evolution of computer graphics,
both hardware and software.
- Students will
be able to describe and implement 2D graphics and algorithms including
line drawing, polygon filling, clipping, and transformations.
- Students will
be able to explain the concepts of and techniques used in 3D computer
graphics including viewing transformations, hierarchical modeling,
color, lighting and texture mapping.
- Students will
be able to synthesize an interactive 3D application using a current
graphics API.
- Students will
be describe algorithms and techniques fundamental to 3D computer
graphics and explain the relationship between the 2D and 3D versions
of such algorithms. Students will be able to reason about and apply
these algorithms and techniques in new situations.
Texts
There are no required texts.
Schedule
Each week will
focus on a given specific topic and/or set of algorithms. The list
of topics to be discussed each week can be found in the SCHEDULE section
of this Web page . Note that not all topics are covered in the
optional text and that supplemental notes will be provided as needed and
posted in the CONTENT area of mycourses. Also on the SCHEDULE is a
list of due dates for assignments and exams.
The best way to
keep up with the week by week happenings of the class is to consult the
DISCUSSION area of mycourses where weekly posts will summarize the plans
for the week. I will be using the main mycourses shell
CSCI.610.01 for posting all info related to the course.
Activities
There are three
categories of deliverables for the course:
- Online
Activities - This category will involve some sort
of online activity designed to introduce you to the topic for the
week. The activity will be posted in the DISCUSSION area
of mycourses and will involve a homework submission based on the
activity and the topic (once the activity has been
completed). Except for Week 1, each activity will be
posted on Monday and will generally be due before lecture of the
following Monday. Submissions should be made via an appropriate
DROPBOX.
- Programming
Assignments - These are programming assigned where you will
be assigned to code up one or more of the algorithms presented in the
lectures. These assignments are designed to build upon one
another and will prepare you in completing your eventual midterm and
final exams. Processing (p5js.org) and WebGL will be used for
the assignments. Assignments will be also be assigned via
the DISCUSSION area of mycourses Typically, students will have
1-2 weeks to complete these assignments (see SCHEDULE for full
details).
- "Exams"
- In lieu of traditional exams, your exams will be a larger
programming project. Students will have both a MIDTERM and a
FINAL "Exam". It is expected that the code created for the
smaller programming assignments be reused and incorporated into
the code for these projects. More details on the final will be posted
later in the semester.
Grading
The final grade will be determined using the
following weights for each of the categories:
|
Graduate |
Online Activities / Questions
|
25% |
Programming Labs
|
25% |
| MIDTERM
Programming "EXAM" |
25% |
| FINAL Programming Exam" |
25% |
Policy on Late Submissions
It is extremely important to
continue to make progress as the course progresses. As
such, late deliverables will be not be allowed. If you forsee any problems
with meeting deliverable deadlines, please contact the instructor well
in advance of the deadline that might be missed we can attempt to
work out alternate arrangements.
Policy
on Academic Dishonesty
Please be aware of the following
policies on academic dishonesty:
In
short: ANY FORM OF ACADEMIC DISHONESTY WILL NOT BE TOLERATED
Consequences of any discovered academic dishonesty incidents will be
applied as specified in these policies.
A Note about Generative AI Tools
Generative AI
tools (such as ChatGPT, Bing Chat, GitHub CoPilot, midjourney, and
others) can be very helpful, but they also pose some risks--not just
because they may provide inaccurate responses, but also because they
make it very easy for you to avoid learning core concepts that are
fundamental building blocks in advanced work.
We will be doing
an awful lot of coding in the class, as a means for you to learn the
fundamentals of Graphics concepts and systems. The real
learning comes from the doing as opposed to presentation of the
solutions. As such, for this course, you cannot use
generative AI tools in any manner to write your programs. When learning
fundamental skills, you need to ensure that you master the basics. If I
doubt authorship, I may ask you to explain the code or re-create aspects
of the code in one of our labs – you must show that you have mastered
the fundamentals. Thus, for this class, use of Generative AI tools
will not be allowed.
Policy
on Discrimination
and Harassment
RIT is committed to
providing a safe learning environment, free of harassment and
discrimination as articulated in our university policies located on our
governance website. RIT's policies require faculty to share
information about incidents of gender based discrimination and harassment
with RIT's Title IX coordinator or deputy coordinators, regardless whether
the incidents are stated to them in person or shared by students as part
of their coursework.
If you have a
concern related to gender-based discrimination and/or harassment and
prefer to have a confidential discussion, assistance is available from
one of RIT's confidential resources on campus (listedbelow).
-
The Center
for Women & Gender: Campus Center Room 1760;585-475-7464; CARES
(available 24 hours/7 days a week) Call or text 585-295-3533.
-
RIT Student
Health Center: August Health Center, 1st floor;585-475-2255.
-
RIT
Counseling Center: August Health Center, 2nd floor, room
2100;585-475-2261.
-
The Ombuds
Office: Student Auxiliary Union/Room 1114; 585-475-7200or
585-475-2876.
-
The Center
for Religious Life: Schmitt Interfaith Center, room
1400;585-475-2137.
-
NTID
Counseling & Academic Advising Services:2nd Floor Lynden B.
Johnson; 585-475-6468 (v), 585-286-4070 (vp).
last updated 8/21/2026