These are some of my favorite projects I've done through my computer science coursework. Most of my work can also be found on my Github.

Reaction Timer

One of my favorite technical projects-- this reaction timer game was made as a course project for ECEN 2350, Digital Logic. This was the first time I’d ever worked with hardware, and enjoyed seeing my code come to life on my MAX DE-10 Lite FPGA board. The reaction timer was coded in Verilog HDL as a finite state machine. Key implementations were a clock divider, lfsr, BCD counter, and BCD decoder. View details, diagrams, and code in my report

Quartus Prime | MAX DE-10 Lite FPGA | Verilog HDL

Data Mining

For our data mining project, my group and I analyzed data from over 80,000 social media posts by users with known Myer's Briggs personality types. We then attempted to create a neural network that could predict someone's type based on their social media posts. My main role was in data visualization. View the code.

Watson Natural Language Libraries | Python | Scikit python neural network library |

RSS Aggregator

Working from an existing code base, in this project I added features to a MySQL backed website. The website serves as an RSS feed aggregator. I added functionality to display photos from news stories on the feed. See the code.

LAMP stack | MySQL | PHP | SimplePie | HTML

Machine Learning 3rd Arm

For my final project in Machine Learning for Human Computer Interaction, my team and I created a robotic arm that helps a user eat. We used microbits to obtain accelerometer data and trained gestures with dynamic time warping. My main role was using the microbits wirelessly and sending accelerometer data to our model. Watch a demo, or see the code.

Microbits | Python | Dynamic Time Warping | Raspberry Pi

Machine Learning

In machine learning, I did many fun micro projects including a car game controlled by a myoband, and a square breathing technique trainer.

Processing | Open Sound Control | Myoband | Dynamic Time Warping

Cassandra CLI

Implemented a client program to manage Cassandra databases. The client runs in the command line and supports showing available keyspaces, changing the current keyspace, creating tables and keyspaces, and inserting and retrieving key-value pairs. The client was written in C.

Apache Cassandra | CQLsh | Key-value store database | C Programming Language