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.
Using Graphics2D objects with AffineTransform objects applied on a timer thread.
Kicking off new runnables with event handling