For my senior thesis project, I am exploring the performance difference of machine learning algorithms across different programming languages and frameworks.
For my Data Science Capstone, I'm exploring a strategy I proposed for improving the time it takes for a reinforcement learning agent to train in an environment. The strategy is based on the idea of giving the agent the goal first, and letting it slowly explore the environment while remembering how to get back to the start.
Dungeons & Dragons Online is a game I love to play, and one of the itches I've had is that the current player-built build-planners are slow and sometimes inaccurate. This is why I've decided to start working on my own version.
As I've started to love working in Rust, I've decided to make this application in Rust. I've also decided to build it with efficiency in mind, specifically avoiding needing to load data files separately from the executable.
I love using problems found within the annual Advent of Code challenge to practice my skills with both languages I know, and those I don't know. I keep all of my solutions in this repository, organized first by year and day, and then by language used to solve it. My goal is to eventually have every problem solved by every language I know, but that is a long term goal, so I just focus on a few problems every so often in a couple langauges for now.
This is an on-going project that I've been working on to teach myself Machine Learning, specifically Deep-Q Learning. In this project, I am attempting to create a neural network that can solve a Rubik's Cube. In the first year, I tried solving with a 3x3 rubik's cube, but have since changed to a 2x2 Rubik's Cube to try and get a working model. So far the network has yet to make any substantial progress.
You're looking straight at it... Yay!
But seriously, this project has been on-going for a while. I've made many different versions and just never got to one that I liked enough to continue building. I'm surprised I've gotten this far with this version!
This website is currently built using just good old HTML, CSS, and JavaScript, all hosted on Github Pages. I'm using Python to fetch some of the data in GitHub Actions on a daily basis, so that you don't get my secret keys!
For my Econometrics final, I took the 2022 Stack Overflow Developer Survey data that is published each year. Using a Jupyter Notebook, I analyzed the data to answer the question 'What coding languages make the most money'. While my findings were not fully conclusive, I noticed that popular languages, sch as JavaScript, C, C++, and Python, had the least impact on salary, while languages such as ObjectiveC, Go, Scala, and other specific languages had a larger impact.
For my final project in my Android Development course, I created a messaging application centered around GitHub repositories. The vision was to create a chat application with a chat room for each repository where contributors can join and discuss issues, pull requests, and more.
This project was a large undertaking, as I taught myself how to use Firebase as my cloud database for chat messages, and further to authenticate with GitHub logins. I also used a local sqlite database to store cached api requests for images and repository data.
In this course, we learned the Agile methodology by continuing development on a legacy java project. During this course, we participated in Stand Ups, Planning Iterations, and collaborating to learn and continue developing the game we were given.
I focused my efforts on diving in and understanding the underlying structure and engine that was provided, and spent many of my scrum-cycles rebuilding and optimizing the structure to ensure easy development in the future. Additionally, I acted as the Scrum Master, owning the repository and ensuring that all proper procedures were put in place.
My final project for my DS-210 course in "Algorithms for Data Science". In this project, I created a simple neural network from the ground up to predict which player would win in a given state of the Connect-4 Game. I created this using Python and the python library NumPy.
Note that this means I did not use any machine learning library such as TensorFlow or PyTorch. Instead, I hand-calculated each of the derivatives and constructed an algorithm to manually calculate the shifts in weights and biases to train the network. This hands-on approach taught me the intricacies of neural networks, and piqued my interest in machine learning in the future.