Foundations of Computer Graphics

CSCI 610  (Spring 2024)


Instructor: Joe Geigel
Office: 70-3527
Office Hours:  TR 9:30am - 10:30am (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 3:30PM - 4:45PM

Classroom:  WAL-3510

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 use a 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:

Texts

There are no required texts.   Much of the material in the class, however, is covered in the following optional book. That said, assignments and exercises will not be taken from this text.

Textbook image Donald Hearn, M. Pauline Baker, and Warren Carithers,  Computer Graphics with OpenGL (4th Edition)Prentice-Hall, 2010, ISBN: 0136053580


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:

  1. 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.
  1. 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).
  1. "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).

  1. 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.

  2. RIT Student Health Center: August Health Center, 1st floor;585-475-2255.

  3. RIT Counseling Center: August Health Center, 2nd floor, room 2100;585-475-2261.

  4. The Ombuds Office: Student Auxiliary Union/Room 1114; 585-475-7200or 585-475-2876.

  5. The Center for Religious Life: Schmitt Interfaith Center, room 1400;585-475-2137.

  6. NTID Counseling & Academic Advising Services:2nd Floor Lynden B. Johnson; 585-475-6468 (v), 585-286-4070 (vp).

 
last updated 1/6/2024