My course work at Michigan State University gave me a general knowledge of the major areas of computer engineering and computer science. In addition, I developed a specific familiarity with certain fields, including, C/C++ DOS and Unix, the application of software engineering techniques, GUI design and development, and 2D/3D graphics programming. I also had several opportunities to work as part of a group designing and implementing software projects and developed strong writing and communications skills (as well as considerable martial arts prowess via the MSU Karate Club :).
After acquiring my Bachelor's degree in computer engineering, I decided to focus on software development rather than hardware and circuit design. So I continued on towards my Masters with a emphasis on coding practices and large scale project management. For my Master's project, I designed and coded a real time tank simulation. This game used wireframe graphics to render the environment and the opponent vehicle. It ran on a SPARC Station (which is why the screen shot is so large) and was written in C using X-windows widgets and my own 3D graphics and AI modules.
A full sized (uncropped) screen shot
of the game is also available:
The damage display on the left side of the screen shows the current state of the player's tank. Hit location determined which component took the damage and the various weapons systems, engine, shields, and radar could be incapacitated. The center display depicts the current amount of shield energy and ammo for the weapons (which include a plasma cannon and a mine layer). On the left is an overhead view of the arena. This area can be modified in a separate editor to produce custom layouts. The area blocks can also take damage and be destroyed during play. Sure it looks primitive now, but back in the last century this was pretty cool stuff!
Some of the other projects I worked on included writing a compiler, designing and coding an SQL database (complete with Lex & Yak parsing), and creating a complete simulation of a computer processor from the gate level up. This last was for an advanced computer architecture class I was a teaching assistant for during graduate school.