Read below to learn a little about the personal projects I've been working on.
Digital Circuit Visualizer:
I have been working with a partner on a Java applet that allows a user to build and test a digital circuit. The user first places the top level gate, then adds child gates associated with that gate, and adds inputs as needed. Then they can click “Evaluate” and the program will return the expected output. This project implements abstract classes, and we hope to extend it to use multithreading. You can view the project here: https://github.com/zcollins0/digital-circuit-visualizer, though it is still a work in progress. The logic behind each gate and the solver method are written, but we are still finishing up work on the UI.
The same partner and I also created a Java applet slider puzzle. The program takes an image as input, splits it into 9 or 25 equally sized pieces based on user selection, removes the bottom right square, and shuffles the images. The user then tries to swap the pieces around to arrive back at the original image. You can find the code for the puzzle here: https://github.com/ltebben/SliderPuzzle. Feel free to download and try it yourself! After finishing the Digital Circuit Visualizer, the next step for this project is to make it into an Android app.
A group of friends and I created a GroupMe chatbot that returns memes on command for last year’s RevolutionUC hackathon. The pyton project is hosted on Amazon Web Services. The chatbot listens for the string “memebot” in the chat, and when it hears it, it communicates with a meme database, asking for a meme to return. If the database only has memes that have been used recently, then it communicates with reddit to get new memes from a variety of subreddits. Each time it communicates with reddit, reddit returns 30 new memes. One of them is sent directly to the chatbot, and they are all stored in the database. Every time a meme is used, the “popularity” of the meme is reset to 0. The memes that are downloaded from reddit and not used have a popularity of 25. Every time a meme is used, the popularity of all the memes in the database is increased by 1. The database sends the meme with the highest popularity to the chatbot. You can view this project here: https://github.com/kurtlewis/MemeBot