Projects
Throughout the last several years, I’ve worked on a number of projects, both group and individual, and I’ve listed the most interesting of them here! Mouse over them for more details :)
SCHOOL projects
Unfortunately, since all of these projects were class projects, I can’t publicly release my code, but my private Github repositories and the code for any of these projects is available upon request.
Using Java, I built different components of a relational database: query operators (such as joins), indexing (using B+ trees), transaction management (using locking), and a recovery system (using the ARIES algorithm).
BUILDING A DATABASE
Databases, Fall 2019
Using Python, my group designed and coded an algorithm to efficiently find a number of bots, which were located at random nodes in a large graph. Using the Steiner tree, we were also able to quickly return the bots to the "home" node. After 600 test runs, the algorithm held fast at 100% bot-finding accuracy.
GUAVABOT
Algorithms, Spring 2019
Using C, I built the different components of a compiler: a lexer that takes in C code and breaks it down into individual tokens, a parser that takes in the tokens from the lexer and and builds an abstract syntax tree, and a code generator that that interprets the abstract syntax tree that from the parser and generates the RISC-V assembly code that representing the original C code.
BUILDING A COMPILER
Intro to Computer Architecture, Spring 2019
Using Java, I generated a map of Berkeley and converted into a graph with nodes representing various locations aroudn the city and edges representing different routes between locations. Using this graph, I also used the A* algorithm to find the shortest routes between the different locations in Berkeley.
BEAR MAPS
Data Structures, Spring 2018
Using Java, my group and I designed a game that generated a random world based off of a seed that the user entered. The game had 3 levels, where each level fetured a maze of rooms and hallways with items for the player to pick up/use and opponents that the player had to beat. The player moved around by using the WASD keys, and could quit, save, and reload mid-game, also by typing specific keys on the keyboard.
BUILD YOUR OWN WORLD
Data Structures, Spring 2018
INTERNSHIP WORK
I worked on full stack development by expanding search capabilities in Intuit's QuickBooks Online Admin Tool, using a combination of Java and Javascript/React.js.
INTUIT
Summer 2020
Using a combination of PHP, HTML, CSS, and JavaScript, I redesigned the company's website (which you can view at spaceishare.com) to make it more readable and mobile friendly. I also built both the front-end and the back-end for messaging and rating systems for the site's users, using PHP and SQL.
SPACEISHARE
Summer 2019
Personal Projects
This site is my personal website, and all of the review guides, practice problems, and solutions on here were of my own creation. I also did a lot of the design work on the site and added a lot of my own code to make it look nicer. If you like my site, feel free to leave some feedback!