Projects

Automatic Curriculum Learning with Gradient Reward Signals

Collaborated with Junsang Yoon on a research project looking into using student gradients as a reward signal for teachers in the context of automatic curriculum learning; utilized gymnasium environments (PointMaze, AntMaze, and AdroitHandRelocate) along with soft actor-critic and policy gradient algorithms to conduct experiments

More Information

Can Transformers Learn Sequential Function Classes In Context?

Collaborated with Emma Guo, Evan Hu, Reya Vir, and Ethan Hsiao on an investigation into the ability of transformers to in-context learn sequential function classes (recursive linear transformations, recursive randomly-initialized neural networks, etc.) as well as their robustness to label randomization during inference time

More Information

Coup Reinforcement Learning Agent

Implemented the deep Q-Learning reinforcement learning algorithm to train an agent to play the board game Coup; Utilized PyTorch to train the Q-Network and Matplotlib to visualize the results

More Information

WhereToEat Chatbot

AI Chatbot created by team of 4 in the Cal Hacks AI Hackathon designed to assist with the restaurant selection process; the frontend was created with Next.js and deployed through Vercel; the backend was created with Python, utilizing the OpenAI and GoogleMaps APIs

More Information

Algorithm(s) and Complexity for Condorcet Consistent Voting

Collaborated with Amar Shah on a literature review of complexities for various Condorcet Consistent voting systems such as Dodgson, Kemeny, and Ranked Pairs; potential applications to simple stable voting

More Information

NP Hard Team Assignment

Researched solutions to the max k cut NP hard problem to design an algorithm to approximate a solution to a modified graph NP hard problem given hundreds of student inputs

More Information

CS61CPU

Designed and pipelined a CPU capable of running RISC-V Assembly instructions

More Information

Mancala AI

Implemented the Mancala board game in Java with multiple game modes, utilized the minimax algorithm with alpha-beta pruning to program an AI with an adjustable depth

More Information

Gitlet

Implemented a version control system using Java with functionality for commits, branches, merges, and checkouts

More Information

Scheme Interpreter

Programmed a Python interpreter for the Scheme programming language, with functionality for arithmetic operations, conditional logic, lambda procedures, and tail call optimization

More Information

History of the Normal Distribution and Central Limit Theorem

Researched the history of the normal distribution and central limit theorem; Authored a paper explaining the historical context behind the development of key results in probability theory

More Information