As the final project for my data structures class, a friend and I designed a Java version of the card game Spades. It has a full Swing GUI and allows any combination of human players and smart bots. This was the first large programming project I ever did and I believe it really helped me understand object oriented programming.
Ever wonder when the best time to leave for work was on a particular day to hit the least amount of traffic? During my internship this summer, I sure did. I designed this multi-threaded Java application to use the Google Maps API to get traffic data, record it and update the GUI in real time.
As a final project for my algorithms class, I wrote this paper analyzing the time complexity of six common sorting algorithms. The paper takes an in-depth look at time complexity using mathematical analysis and then ran experiments to compare the theoretical results to actual data.
For my senior computer science capstone project I wrote a compiler in Java that compiles a modified version of the Pascal language into MIPS assembly. While not very practical, this project helped me understand the theory behind programming languages.
We conducted research on an 8 node Raspberry Pi cluster computer that we built to learn about parallel processing. Our research paper won 2nd place for best undergraduate research paper at the Midwest Instructional and Computing Symposium held at UW-Lacrosse in 2017.