I am teaching *SER332 Introduction to Graphics and Game Development*. This is a beginner level course for students interested in learning foundations of graphics and basic principles of the game development pipeline. The programming language used in this course is C/C++ and the graphics API used is OpenGL.

**Syllabus**

**Lessons**

- Course Presentation
- Concepts
- OpenGL: Introduction
- OpenGL: Callback Functions
- OpenGL: Vertex and Shading
- OpenGL: Transformations (ModelView)
- OpenGL: Transformations (Viewport)
- Lab 1
- OpenGL: Display Lists and Menus
- OpenGL: Transformations (Projection)
- Lab 2 (Animation)
- OpenGL: Fonts, OBJ files, and Midterm Review
- Linear Algebra
- Mesh Data Structure
- Load Data in a Mesh Data Structure
- Lab 3 (OBJ Files)
- Lab 4 (Mesh)
- Light and Normals
- Materials
- Lab 5 (light and materials)
- Textures
- Lab 6 (Textures)
- Noise
- Lab 7 (Navigation)
- Lab 8 (Noise)
- Final Review

**Assignments**

There are four programming assignments. the last one is a comprehensive project where students create a 3D closed space that has 4 rooms and 1 hallway. It is a scenario for a first-person shooter game. Using the key arrows the user should be able to explore the rooms and the hallway by navigating forward, backward, rotating right, and rotating left. Each room have different (1) environment adjustments, (2) textures, and (3) furniture.

**GitHub repository**