Programs

Here you can find my recently completed coding projects and sample outputs/deployments. These projects cover a variety of topics, ranging from cryptography to machine learning. To view the project repository on GitHub, click on the project title.

virus-shield

Languages, Frameworks, & Libraries Used: HTML, CSS, Javascript, Python, Tensorflow, matplotlib, numpy, pandas, Postman (testing)

Co-Authors: Aayush Desai, Abhived Pulapaka, Ally Smith

Virus Shield is a full-stack application which enables users to upload a file that they would like to test for any evidence of malware. The file is initially interpreted by a preprocessor, which converts the file into a 32x32 pixel image. The program then uses a trained SVM (support vector machine) and CNN (convolutional neural network) to provide one of 25 possible malware classifications. Virus Shield uses a Flask server to handle requests and properly store and retrieve data.

caesar-cipher-decoder

Languages, Frameworks, & Libraries Used: Python, R, numpy, matplotlib, ggplot2

This program implements a decryption algorithm for the Caesar cipher, a simple substitution cipher in which each letter in the plaintext is replaced by a letter some fixed number of positions down the alphabet. There are up to 26 possible shifts that the algorithm will generate, in order of confidence in accuracy. The program then uses a frequency analysis approach based on the chi-squared test to determine the likelihood that the decrypted message is in fact the original plaintext. The program also includes visualizations of the observed letter frequencies in the decrypted message compared to the expected letter frequencies in the English alphabet given a certain number of characters, so the user can directly assess whether the distributions share a significant degree of correspondence.

fincharts-discord-bot

Languages, Frameworks, & Libraries Used: Python, yfinance, pandas, matplotlib, discord.py

This Discord bot, which generates financial charts, is driven by command line arguments that are sent as a message in a Discord server. When a valid command is sent, the bot then uses the yfinance library to retrieve stock data for the specified ticker. Based on the specific command submitted, the bot uses matplotlib to generate one of the following plots: a candlestick chart, a MACD and signal line plot, or a compounded return plot. The bot then sends the plot as a message in the respective Discord server.