The projects below highlight my experience in Computer Science and areas of interest.
Exploring machine learning capabilities to increase the level of control for a given environment of an optical fiber based interferometer.
Given a copy of an executable for the server and client, I reverse engineered the protocol between the sensor network server and client.
Built a neural network to classify Tweets into different crisis events using data collected.
Built a pipelined processor using SystemVerilog that handles data and branch hazards using a combination of forwarding, stalls, and flushes.
Modify a SystemVerilog implementation of a single-cycle processor to support two new instructions: branch and jump.
Designed a variant of the 32-bit Arithmetic Logic Unit (ALU) that handles logical and arithmetic operations using Quartus and ModelSim.
Engineered an artificial neural network system that applied the Perceptron learning rule to handle pattern classification problems using several data preprocessing techniques.
The program compresses text files into binary files to optimize the amount of space used and decompresses the binary files back into legible text files.
Python program that constructs a non-deterministic finite automata (NFA) and a deterministic finite automata (DFA) from a given regular expression.
Program written in C that simulates a multilevel cache and optimizes time and memory. Using knowledge of processors, associativity, locality, and replacement policies, the program outputs the cache performance, such as the hit and miss rates.
Developed curriculum for the Level 300: Mobile Technology Project Design camp as an introduction to Android Studio and Java programming.
Explored conjectures concerning folding hyberbolic parabolas, gluing polyhedrons, and cutting orthogonal shapes. Collaborated with Erik and Mark Demaine from MIT on a new font that could be created by making specific folds on a piece of grid paper that is 6x8 boxes and making cuts where it is specified.