This page lists some additional resources I have used in writing this website that I found helpful enough to recommend.
In planning this course, I found the following books particularly useful, in no particular order. There are no referral links of any kind here, I simply include these books because I found them overall helpful, even if I disagree with specific suggestions/guidelines in some books:
Refactoring: Improving the Design of Existing Code 2nd Edition by Martin Fowler
The Pragmatic Programmer, 20th Anniversary Edition by David Thomas and Andrew Hunt
Code Complete, 2nd Edition by Steve McConnell
Clean Code by Bob Martin
Clean Architecture by Bob Martin, James Grenning, and Simon Brown
Code that Fits in your Head: Heuristics for Software Engineering by Mark Seeman
Design Patterns Explained, 2nd Edition by Alan Shalloway and James R. Trott
I found the following websites particularly helpful, whether that be with respect to design, or even just Java syntax or library usage:
Baeldung has a ton of excellent practical tutorials for Java code that I have found valuable in my own coding practice.
Refactoring Guru a great catalog for refactoring techniques and design patterns, with examples across multiple programming languages.
Is there some book, website, whatever you have found helpful in your programming journey? Let me know! Contact me via email at mcburney at virginia dot edu! I look forward to your suggestions!