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