Basic Info

Basic Class Information

Instructor: Professor Michael Gleicher. Contact me via CS559 Piazza. Office hours Wednesdays 2:00-3:00 (or by appointment) in 6588 Morgridge Hall (my office). Check my web page to see if I am out of town. (I will be out of town on 2/18, for example).

Teaching Assistants: Alex Peseckis and Bhuyashi Deka. The TAs will have consulting hours from 3-6pm on Mondays and Tuesdays and 3-4:30PM on Fridays. They will be available in Room B2532 in Morgridge Hall during those times. Contact via CS559 Piazza.

Lectures: The class is online, but will not hold traditional lectures. The class is scheduled for 8:50-9:40 Monday, Wednesday, Friday. The class will have online quizzes or online activities on Wednesdays. There may be optional online class sessions in the Monday or Friday time slots.

Grading: Grades are primarily based on the workbooks. Grades will be adjusted based on quizzes, the final exam, and other class activities such as surveys. See Parts of Class and Grading.

Exams: There will be a Final Exam in the university-assigned exam block. The exam will be given in an online format. The final exam will be cummulative.

Books: Students are not required to purchase any books. Materials will be provided online.

Academic Conduct: Students are expected to uphold high standards of academic integrity and to collaborate in appropriate ways. See Syllabus (Academic Integrity). See also the Policy on the use of AI Tools (generative AI).

GitHub: Students will use GitHub and GitHub classroom to complete assignments. See How the Class Works (Course Rhythm) for a list of assignments that use GitHub, and Git and GitHub in CS559 for an explanation of how GIT works for class. Students are expected to have GitHub accounts and to use the same GitHub username for the semester.

Schedule: See How the Class Works (Course Rhythm) (The Course Rhythm) for the weekly pattern, Canvas Calendar for a calendar of class events.

Topics: This class will introduce the fundamentals of computer graphics using examples from web programming. The class is organized into 7 modules:

  1. Graphics in Class and On the Web: computer graphics concepts, web page basics, event driven programming, graphics APIs, making pictures with the Canvas APIs, …
  2. Transformations in 2D: linear and affine transformations, hierarchical modeling, articulated animation, SVG, …
  3. Curves: types of shape representations, parametric curves, cubic forms, splines, …
  4. 3D Foundations: 3D modeling, transformations, viewing, lighting, animation, …
  5. Shape and Appearance: meshes, lighting, texturing, …
  6. Graphics Hardware, Shaders, Efficiency: graphics pipeline, GPU and shader programming, graphics program organization, …
  7. Advanced Topics: aliasing, ray tracing, smooth surfaces, animation, …