This was actually a pair of classes. From the ground up I built basic C++ game engine. The engine is composed of several systems. There is an Object System, composed of a PCS Tree, a Memory System, with our own custom heaps, a File System, which wraps Win32 file functions, and a Math System, with vectors, matrices, and quaternions. I also implemented an FBX importer for models and animation data.
In this class I learned how to integrate real physics as much as possible into my games. We mostly worked inside a C++ physics engine called Cylon which we would add-to, tweak, and modify. My final project was a flight simulator which had realistic forces acting on the plane.
This was an early class I took at DePaul. We worked inside an educational C++ game engine called Quarter Engine. Here I learned a lot of the basics of game programming, like game states, and collisions, etc. My final project was a platformer with an automatically moving camera. If you touch the edge of the screen you're toast! There's also a Ikaruga-esque color switching mechanic. Programming jumping was a cool problem I had to solve.