Following is a description of technical projects I have conducted or contributed to since 2021. Repositories for these projects can be found on my Github.
Studied and implemented 2D Perlin noise for a top-down, town-building game in PICO-8. Challenged the limitations of the PICO-8 engine by implementing a theoretically infinite world.
Collaborated in a group of three to write a C program that simulates the behavior of a cache. Evaluated the impact of cache size, associativity, and block size on cache performance for different cache confgurations and coherence protocols.
Implemented a single-cycle processor from scratch using Logisim. Supported arithmetic, logic, and memory operations. Designed a test file and a small byte reversal program—both in RISC-V—to ensure the processor’s correctness.
Created an evaluator for a non-trivial programming language with OCaml and Visual Studio Code. Designed abstract syntax trees to support constants, basic operations, functions, data types, sequences, references, and asynchronous expressions.
Developed a text adventure game engine, complete with a win/lose condition, the ability to collect items, and two sample adventures. Programmed using OCaml and Visual Studio Code.
Collaborated in a group of three to simulate a world of animals (“critters”) that wander, eat food, reproduce, and evolve. Built a graphical visualization enabling users to control the critters. Implemented fault injection to mutate each critter’s genome—a program determining their behavior—through reproduction. Developed an interpreter and simulator to evaluate and execute the genome.