Basic Info
Basic Class Information
Instructor: Young Wu
Teaching Assistants: Alex Peseckis and Jingyi Gao. Contact via CS559 Piazza.
Lectures: The class is in person with traditional lectures. The class is scheduled for 4:00 to 5:15 on Tuesdays and Thursdays. There will be in-class activities that must be completed during the lecture time.
Grading: Grades are primarily based on the workbooks and in-class activities. Grades will be adjusted based on exams. See Parts of Class and Grading.
Exams: There will be three 60-minute exams administered through the Computer-Based Evaluation Facility (CBEF).
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).
GitLab: Students will use GitLab to complete assignments. See Git and GitHub in CS559 for an explanation of how GIT works for class.
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:
- Graphics in Class and On the Web: computer graphics concepts, web page basics, event driven programming, graphics APIs, making pictures with the Canvas APIs, …
- Transformations in 2D: linear and affine transformations, hierarchical modeling, articulated animation, SVG, …
- Curves: types of shape representations, parametric curves, cubic forms, splines, …
- 3D Foundations: 3D modeling, transformations, viewing, lighting, animation, …
- Shape and Appearance: meshes, lighting, texturing, …
- Graphics Hardware, Shaders, Efficiency: graphics pipeline, GPU and shader programming, graphics program organization, …
- Advanced Topics: aliasing, ray tracing, smooth surfaces, animation, …