TCP Networking

C++

• Built the Transmission Control Protocol (TCP) to ensure reliable messaging on an unreliable network
• Employed Reed-Solomon error correction and Hamming code to account for bit flips and bit loss
• Used a Caesar Cypher to encrypt/decrypt messages
• Implemented a basic firewall to only allow packets of certain sizes and from whitelisted senders to be received

Bankruptcy Prediction

Python | Pandas | SciKit-Learn

• Employed Neural Networks, Decision Trees, Random Forests Ensemble, and ADABoost Classifier to predict if a company will go bankrupt
• Reduced a dataset of 96 features to 26 by using a decision tree to determine the most influential inputs
• Explored data through a variety of visualization tools (box plot, correlation matrix, heatmap) to identify trends
• Identified which companies would go bankrupt with 97% accuracy

Huffman Compression

Java | JavaFX

• Built a lossless compression algorithm with a Graphical User Interface to compress and decompress files
• Compresses and decompresses jpg, png, mp3, and text files
• Built using a variery of canonical data structures: binary trees, priority queues, hashmaps
• Can compress a file down to 20% of its original size