Introduction to Computer Graphics

I am teaching Introduction to Computer Graphics and Game Development (SER332) this Spring. I have taught this course for a year – Spring 2018 and Spring 2017. SER332 is a beginner level course for students interested in learning foundations of graphics and basic principles of the game development pipeline. We do programming in C/C++ and use the OpenGL graphics library.


Spring 2018 version


The course has 27 lectures and includes the following topics: Course Presentation; Concepts of Computer Graphics; Introduction to OpenGL; Callback Functions; Vertex and Shading; Transformations (ModelView); Transformations (Viewport); Display Lists and Menus; Transformations (Projection); Fonts and OBJ files; Linear Algebra; Mesh Data Structure; Load Data in a Mesh Data Structure; Light and Normals; Materials; and Textures. My slides for each lecture are available below:


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