Skip to content

References

This page consolidates all references used across the TCSS 305 course materials.


By Topic

Java Fundamentals

Books:

  • Bloch, J. (2018). Effective Java (3rd ed.). Addison-Wesley.
  • Horstmann, C. S. (2022). Core Java, Volume I: Fundamentals (12th ed.). Oracle Press.
  • Reges, S., & Stepp, M. (2020). Building Java Programs (5th ed.). Pearson.

Documentation:

Object-Oriented Design

Books:

  • Bloch, J. (2018). Effective Java (3rd ed.). Addison-Wesley. Chapters 3-4.
  • Horstmann, C. S. (2022). Core Java, Volume I: Fundamentals (12th ed.). Oracle Press. Chapters 5-6.

Papers:

  • Meyer, B. (1992). Applying "Design by Contract". IEEE Computer, 25(10), 40-51.

Online Resources:

Testing

Books:

  • Beck, K. (2002). Test Driven Development: By Example. Addison-Wesley.
  • Bloch, J. (2018). Effective Java (3rd ed.). Addison-Wesley. Chapter 10.

Documentation:

Articles:

Code Quality and Style

Books:

  • Martin, R. C. (2008). Clean Code: A Handbook of Agile Software Craftsmanship. Prentice Hall.
  • Bloch, J. (2018). Effective Java (3rd ed.). Addison-Wesley. Chapter 9.

Style Guides:

Tools:

Logging

Books:

  • Bloch, J. (2018). Effective Java (3rd ed.). Addison-Wesley. Item 72.
  • Horstmann, C. S. (2022). Core Java, Volume I: Fundamentals (12th ed.). Oracle Press. Chapter 7.

Documentation:

Frameworks:

Development Tools

IDE:

Version Control:


By Type

Books

Author Title Year Publisher
Beck, K. Test Driven Development: By Example 2002 Addison-Wesley
Bloch, J. Effective Java (3rd ed.) 2018 Addison-Wesley
Chacon, S., & Straub, B. Pro Git (2nd ed.) 2014 Apress
Horstmann, C. S. Core Java, Volume I: Fundamentals (12th ed.) 2022 Oracle Press
Martin, R. C. Clean Code 2008 Prentice Hall
Reges, S., & Stepp, M. Building Java Programs (5th ed.) 2020 Pearson

Papers

Author Title Publication Year
Meyer, B. Applying "Design by Contract" IEEE Computer, 25(10), 40-51 1992

Documentation

Resource Description
Oracle JDK 25 Documentation Official Java SE reference
Oracle Java Tutorials Official tutorials
JUnit 5 User Guide Testing framework documentation
Checkstyle Documentation Code style checker
IntelliJ IDEA Documentation IDE reference
Pro Git Book Free online Git book
GitHub Documentation Version control platform

Style Guides

Guide Description
Google Java Style Guide Industry-standard style guide
Oracle Code Conventions Original Sun/Oracle conventions

Online Resources

Resource Description
Baeldung Practical Java tutorials
Martin Fowler's Blog Software architecture and design
The Practical Test Pyramid Testing strategies

Future References

The following references will be added as course materials expand:

Design Patterns:

  • Gamma, E., Helm, R., Johnson, R., & Vlissides, J. (1994). Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley.
  • Freeman, E., & Robson, E. (2020). Head First Design Patterns (2nd ed.). O'Reilly.

Modern Java:


TCSS 305 Programming Practicum, School of Engineering and Technology, University of Washington Tacoma.