**Description**: Fundamentals of computer graphics including graphics hardware, representation, manipulation, and display of two- and three-dimensional objects, use of commercial software.

**Objectives**

- Introduce students to all aspects of computer graphics: hardware, software, applications
- Understand the basic concepts underlying computer graphics
- Gain experience with at least one graphical application programming interface (OpenGL)
- Carry out a large programming project of your choice
- Become well versed in the basic procedures for developing graphical software

**Course Learning Outcomes**: See objectives.

**Program Learning Outcomes**

- a. Students can apply knowledge of computing and mathematics appropriate to the discipline
- b. Students can analyze a problem, and identify and define the computing requirements appropriate to its solution
- c. Students can design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs
- i. Students can use current techniques, skills, and tools necessary for computing practice

**Prerequisites**: 311 and either MATH 216, MATH 242, or MATH 252A; or consent.

**Textbook(s)**: OpenGL Programming Guide, Addison-Wesley.

**Grading**

- Required projects (4 ): 40%
- Term project: 30%
- Midterm 15%
- Final (15%)

**Schedule**: Weeks 1, 2: Introduction
Weeks 3, 4: Drawing geometric objects
Weeks 5, 6, 7, 8: Viewing objects
Week 9: Color
Week 10: Lighting
Week 11: Display lists
Week 12: Frame buffers
Weeks 13, 14: Advanced topics
Weeks 15, 16: Presentations
Week 17: Final exam