Computer Science Projects
I was first exposed to computer science in high school, but it wasn't until Dartmouth where I discovered how impactful software can be and how exciting it was to solve a computer science-related problem. Feel free to see my work!
Juxt is a web application that lets users compare grocery prices across different stores. I built this to aid in my own cooking adventures during the summer. Unfortunately, the summer ended before I finished. Nevertheless, the backend is built using Node.js with Knex/Bookshelf.js while the frontend is built in React/Redux, superagent, and Immutable.js.
Using the FPGA Nexys2 and VHDL, this hardware simulates the classic Tron game, where two players control a bike and a player wins once the other player hits any player’s bike or the boundary. The design uses two 4-button Pmod push buttons, a Diligent FPGA Nexys2 board, and a VGA connector and output.
hololens text spotting
I designed and implemented the TextSpotting application as my undergraduate thesis project. It is a HoloLens application that uses augmented reality (AR) to help people who are visually impaired. The application detects text (e.g. room numbers) in your environment and places an icon where text exists. You can then click on these icons and the HoloLens will read to you the text that is there!
Published Article, Demo, and Thesis
Amazing Maze Project
The goal of this project is for a team to design, implement, and test a client application that simulates different Avatars searching for each other in a maze generated by a separately managed server application. The maze is "perfect," in the sense that it only has one path from any point in the maze to any other point in the maze. There are also no inaccessible section, no circular paths, and no open areas. My team designed an algorithm and displayed the avatars using ASCII graphics to solve the maze.
Kevin Bacon Game
Given data files containing actors, movies, and actors-to-movies information, this program finds an actor's "Bacon number." An actor's Bacon number is found in the following way. Starting with an actor, see if the actor has been in a movie with someone who has been in a movie with someone...who has been in a movie with Kevin Bacon. The number of degrees of separation is the Kevin Bacon number. To implement this game, I used breadth-first search to find the Kevin Bacon number.
This application uses Huffman Encoding to compress the contents of a file. It does this by giving frequently occurring characters shorter codes so that characters encoded with variable-lengths.