Projects
In University, I was fortunate to have the opportunity to work on some very interesting assignments, both individual and as part of a group. This section highlights a few of these projects.
Additionally, I've included a project that I worked on for a short while on my own as part of a JavaScript experiment, as well as an open source project I had been involved with.
Additionally, I've included a project that I worked on for a short while on my own as part of a JavaScript experiment, as well as an open source project I had been involved with.
NutriFacts
NutriFacts was developed in a group with 3 other students as part of a term-long Software Engineering project. The entire application was designed as a desktop application written in Java.
The idea behind NutriFacts was to develop software that would help the users gain more information out of the nutritional facts found on all consumable food products in Canada. Users of the application can set limits or requirements on specific aspects of the nutritional values, and receive feedback based on whether a given product meets those requirements. Additionally, users can: customize restricted ingredients; change the base daily requirements on which the percent value is calculated; change the portion size; and receive suggestions of other similar foods that more closely meet their specifications.
The end result of our group really exceeded our expectations, both in the amount of features we were able to implement, and also for how closely it resembled our original goals.
The idea behind NutriFacts was to develop software that would help the users gain more information out of the nutritional facts found on all consumable food products in Canada. Users of the application can set limits or requirements on specific aspects of the nutritional values, and receive feedback based on whether a given product meets those requirements. Additionally, users can: customize restricted ingredients; change the base daily requirements on which the percent value is calculated; change the portion size; and receive suggestions of other similar foods that more closely meet their specifications.
The end result of our group really exceeded our expectations, both in the amount of features we were able to implement, and also for how closely it resembled our original goals.
3D Museum (Computer Graphics Assignment)
As part of a final assignment for a computer graphics university course, we were required to create a virtual museum, in which the user could navigate around using the directional keys, and click on museum exhibits which would display an animation.
My final version was written in C++ using the GLFW library to handle the display and input. The 4 exhibits included a variety of 3D transformations and textures, and also a few surprises.
My final version was written in C++ using the GLFW library to handle the display and input. The 4 exhibits included a variety of 3D transformations and textures, and also a few surprises.
Maze Game Prototype
This Maze "Game Prototype" was a learning exercise in JavaScript and the HTML5 canvas. It includes a custom written pseudo-random number generator to support seeded number generation, which was used to procedurally generate mazes. The mazes always contain a solution, which can be toggled on and off. The user moves around the maze using the arrow keys, and navigation is assisted by a "zoomed in" view on the lower right. The larger maze view maps out their progress as they explore by using some primitive lighting effects.
MarkUs
I worked on MarkUs during a 4 month semester as part of the UCOSP program. This program involves students from school all over Canada, and gives them to opportunity to work together on an open source project.
Markus is a tool running in Ruby on Rails that is used by educators for the hand-in and grading/feedback of computer science programming assignments.
Markus is a tool running in Ruby on Rails that is used by educators for the hand-in and grading/feedback of computer science programming assignments.