Class Project, Web Scene Editor

This was my final project for a WebGL graphics programming class. It is an in-browser scene editor written using WebGL, JavaScript, HTML, and CSS. Users are able to create scenes using basic geometry, which can then be saved / loaded using a specially formatted text file. There are also three built-in sample scenes.

Users may upload their own .obj files for rendering, but the model would not be loaded if the scene is reloaded.

Play: WebGL build | YouTube video
Roles: Programming, Design (team of 1)
Period: November 2014 – December 2014
Software: WebGL, JavaScript, HTML, CSS


» Extended and merged numerous systems introduced in “The WebGL Programming Guide” by Matsuda and Lea
» Implemented real-time manipulation of 3D models (translate, rotate, scale), loading of basic OBJ files, and loading / saving of scenes using WebGL and JavaScript
» Designed and implemented the user interface
» Maintained documentation of the project

Class Project, Sorting Algorithm Visualizer

This Windows Forms application was my final project for an Object Oriented Programming class. The application shows how different sorting algorithms handle a list of ten integers in “real-time.”

Using multithreading, the user can change the sorting visualisation speed or exit the application in the middle of a sort. The list of integers can also be shuffled, or be replaced by a new randomized list of integers. The sorting algorithms included are merge, insertion, bubble, selection, shell, and heap sort.

Play: Windows build download | YouTube video
Roles: Programming, Design (team of 1)
Period: April 2014 – May 2014
Software: Visual Studio, Windows Forms, C#


» Adapted various sorting algorithms to interface with the graphical components of Windows Forms
» Utilized multithreading using the BackgroundWorker class so that certain actions can be performed in the middle of a sort
» Designed and implemented the user interface