Completing Software Design
This semester I completed our project-based Java course “Software Design” and learned a ton. Over the course of the semester, we were given a grid of assignments for completion, and I thought I’d post some of the highlights. I completed 13 short programs that covered topics like GUI using Swing, Multithreading, Networking, and entry-level database work.
SneakerHead • GitHub
Our final project was to create a marketplace client where buyers and sellers could create accounts and post items. It was completed over the course of 72 hours in a hackathon-style weekend, and we ended up being selected as one of the top four groups, and demoed our solution to peers.
I had used SQLite previously for a hackathon project, but building a true cross-relational database was a great experience. We didn’t have much time to implement features around that part of our table structure, but I feel confident working with databases headed into future projects.
Blackjack • GitHub
The rest of the assignments I completed on my own in preparation of our interview exams. Blackjack took me the longest, but was a great way to learn threading and networking for the first time. Although it turned out to work pretty solidly, it really opened my eyes to all I still need to learn for managing proper cross network client connections. Also learned how to do basic threading and conditional locks.
Image Rotator
Using Graphics2D objects with AffineTransform objects applied on a timer thread.
Bouncing Ball
Kicking off new runnables with event handling