Coursework
Introduction
This section contains projects completed while studying as both an undergraduate and graduate student at The George Washington University.
CSCI 164 - Senior Design
A year long course requiring the design, documentation, and implementation of a large-scale project.
- Project - The final project from the senior design course - an internet conferencing system with whiteboard, chat, and file exchange
CSCI 185 - Computer Graphics I
An introduction to 3D graphics programming.
- Project 1 - Simple geometric shapes
- Project 2 - Translation, rotation, and scale transformations
- Project 3 - Loading geometry from a file
- Project 4 - Perspective projection
- Project 5 - Basic ray tracing
- Project 6 - Advanced ray tracing
CSCI 219 - Computer Graphics II
Advanced 3D graphics programming requiring the implementation of a software based 3D rendering package from scratch.
- Project 1 - Scan conversion and z-buffer
- Project 2 - Illumination
- Project 3 - Texture mapping
- Final Project - Advanced lighting with shadows
CSCI 339 - Embedded Systems
A special topics course focusing on design and development of embedded systems and the software to control them.
- IR Flash Loader - A flash loader for the Z8 encore using IRDA for communication
- Internet-Ready Refrigerator - An internet-enabled inventory control system for a common household refrigerator
CSCI 191 - Computer Game Design
Design of 3D computer game software.
- Final Project - The Ninja vs. Pirate Game!!!
CSCI 266 - Computer Animation
Programming for 3D computer animation.
- Project 1 - Basic animation of 3D shapes
- Project 2 - Walking with forward kinematics
- Final Project - Walking up stairs and over an incline with inverse and forward kinematics
CSCI 264 - Design of Human-Computer Interface
Designing user interfaces for testing with human subjects.
- Project - Design and implementation of a 3D scene editor to be subject to usability testing
CSCI 342 - Security and Programming
A survey course reviewing methods for enforcing program security at the programming language level.
- Project 1 - Creating a tool to check for the use of uninitialized variables in C source code
- Final Project - Design of a domain specific programming language to process and transform data streams within a secure distributed environment
- Continued Research - Continued domain specific language development following course completion
CSCI 300 - Thesis Research
Two part course for researching a thesis topic and writing a thesis document.
- Thesis - Design of an Object-Oriented Framework for Data Format Classification and Transformation