Back to the Main page.
Projects
Current Projects
- Currently, outside of work, I'm working through Project Euler when I have spare time.
Notable Past Projects
- Smart Fridge
- We created an Android App and a Ruby on Rails Web App for a semester long project.
- The intial purpose of the App was to help a user keep a record of their food and give the user suggested recipes, from an online database, based on what food they had.
- The end result was an app that lets you keep track of your food and personal recipes, but you have to manually search the online database.
- This project included many of the steps of traditional software engineering. These included:
- Creating a proposal for our project.
- Writing Requirements and Specification documents.
- Creating Design and Planning documents based on our requirements and specifications.
- Doing a design review for another team.
- Writing a full suite of unit and functional tests for the applications.
- We developed the code and tests during three iteration cycles. The documents were updated during each cycle.
- We were beta testers for another group and our code was beta tested.
- For CS 638: Software Engineering
- Moshball
- We made a 3D graphics game using OpenGL and GLSL shaders written in C++.
- The point of the game is to hit all of the targets so that they are in a bumped state. The balls stop being in their bumped state after their timer runs out.
- More details can be found here
- For CS 559: Computer Graphics.
- Mini Language Compiler
- We built a compiler for a language called Mini. The compiler is written in Java.
- The pieces required for the compiler included the following:
- Symbol Table
- Scanner
- Parser
- Name Analyzer
- Type Checker
- Code Generator
- The result is a simple compiler that takes something written in the Mini language and compiles it into MIPS assembly code.
- For CS 536: Introduction to Programming Languages and Compilers.
- Minirel Relational Database Management System
- We built several of the lower-level pieces of a working single user Database Management System in C++.
- These smaller pieces included implementing the folloing:
- Buffer Manager
- Heap File Manager
- Database Catalogs
- Several Different Relational Operators
- A Web Interface, allowed you to add, remove, and modify things in our database.
- The result was a functioning miniature DBMS.
- For CS 564: Database Management Systems.
- CPU Scheduling Algorithms Simulator
- I created a program that simulated the use of two CPU scheduling algorithms in C.
- The algorithms used were Shortest Completion Time First and Exponential Queues.
- This was run on trace files obtained from the Computer Science lab computers.
- For CS 537: Introduction to Operating Systems.
- Angry Badgers
- I created a game where you fire a badger at gophers in an attempt to hit them.
- All of the modules in the game were made using digital circuit design, in Altera Quartis II, and were tested on an Altera FPGA board.
- For CS 352: Digital Systems Fundamentals.