Computer Graphics – CS 4406
Computer graphics is used in diverse applications from the visualization of complex scientific data to the special effects in movies and the animated characters in computer games. The objective of this course is to introduce the programming principles of computer graphics. The course will provide practical application of concepts through assignments developed in Web GL. The course will also introduce examples in OpenGL. Students will have a broad knowledge of computer graphics and how to implement computer graphics using an API such as OpenGL and WebGL. Course topics will include:
- Fundamentals
- Geometric transformations, Matrices and vectors.
- The scene graph
- Introduction to Modeling
- Introduction to Rendering
- Shading, Color, anti-aliasing, texture mapping
Learning Objectives and Outcomes:
By the end of this course students will be able to:
- Understand basic concepts of computer graphics including such concepts as:
a. Graphics API’s (Application Programming Interface)
b. Principles of viewing, projections, and transformations
c. The coordinate system
d. Clipping
e. Graphics pipeline
- Develop an understanding of computer graphics techniques focusing on:
a. 3D modeling
b. image synthesis and rendering
c. Geometric transformations
d. API’s such as OpenGL, WebGL, Shaders
e. shading and mapping f. ray casting and ray tracing
g. Anti-aliasing
h. color, lighting, and illumination
- Develop graphic models and implement them to present graphics scenes
Course Schedule and Topics
This course will cover the following topics in eight learning sessions, with one Unit per week. The Final Exam will take place during Week/Unit 9 (UoPeople time).
Week 1: Unit 1 – Introduction to Graphics
Week 2: Unit 2 – Principles of Graphics Modeling
Week 3: Unit 3 – Color and Blending
Week 4: Unit 4 – Lighting, Shading and Texture Mapping
Week 5: Unit 5 – The Rendering Pipeline and Event Handling
Week 6: Unit 6 -Dynamics and Animation
Week 7: Unit 7 -Interpolation and Spline Modeling
Week 8: Unit 8 -Per-Pixel Operations
Week 9: Unit 9 -Final Exam
Learning Guide
The following is an outline of how this course will be conducted, with suggested best practices for students.
Unit 1: Introduction to Graphics
- Read the Learning Guide and Reading Assignments
- Participate in the Discussion Assignment (post, comment, and rate in the Discussion Forum)
- Make entries to the Learning Journal
- Take the Self-Quiz
Unit 2: Principles of Graphics Modeling
- Read the Learning Guide and Reading Assignments
- Participate in the Discussion Assignment (post, comment, and rate in the Discussion Forum)
- Complete and submit the Unit 2 Programming Assignment
- Make entries to the Learning Journal
- Take the Self-Quiz
Unit 3: Color and Blending
- Peer assess Unit 2 programming assignment
- Read the Learning Guide and Reading Assignments
- Participate in the Discussion Assignment (post, comment, and rate in the Discussion Forum)
- Complete and submit the Unit 3 Programming Assignment
- Make entries to the Learning Journal
- Take the Self-Quiz
- Take the Graded Quiz
Unit 4: Lighting, Shading and Texture Mapping
- Peer assess Unit 3 Programming Assignment
- Read the Learning Guide and Reading Assignments
- Participate in the Discussion Assignment (post, comment, and rate in the Discussion Forum)
- Complete and submit the Unit 4 Learning Journal
- Take the Self-Quiz
Unit 5: The Rendering Pipeline and Event Handling
- Peer assess Unit 4 Programming Assignment
- Read the Learning Guide and Reading Assignments
- Participate in the Discussion Assignment (post, comment, and rate in the Discussion Forum)
- Complete and submit the Unit 5 Programming Assignment
- Make entries to the Learning Journal
- Take the Self-Quiz
Unit 6: Dynamics and Animation
- Peer assess Unit 5 Programming Assignment
- Read the Learning Guide and Reading Assignments
- Participate in the Discussion Assignment (post, comment, and rate in the Discussion Forum)
- Complete and submit the Unit 6 Programming Assignment
- Make entries to the Learning Journal
- Take the Self-Quiz
- Take the Graded Quiz
Unit 7: Interpolation and Spline Modeling
- Peer assess Unit 6 Programming Assignment
- Read the Learning Guide and Reading Assignments
- Participate in the Discussion Assignment (post, comment, and rate in the Discussion Forum)
- Complete and submit the Unit 7 Programming Assignment
- Make entries to the Learning Journal
- Take the Self-Quiz
Unit 8: Per-Pixel Operations
- Peer assess Unit 7 Programming Assignment
- Read the Learning Guide and Reading Assignments
- Participate in the Discussion Assignment (post, comment, and rate in the Discussion Forum)
- Make entries to the Learning Journal
- Take the Self-Quiz
- Read the Unit 9 Learning Guide carefully for instructions on the Final Exam
- Take the Review Quiz
Unit 9: Course Review and Final Exam
- Read the Learning Guide and take the Review Quiz, if you haven’t already done so
- Prepare for, take, and submit the Final Exam
- The Final Exam will take place during the Thursday and Sunday of Week/Unit 9 (UoPeople time); exact dates, times, and other details will be provided accordingly by your instructor