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:
- Oracle JDK 25 Documentation — Official Java SE reference
- Oracle Java Tutorials — Official tutorials
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:
- Design by Contract (Wikipedia) — Overview of contract-based design
Testing¶
Books:
- Beck, K. (2002). Test Driven Development: By Example. Addison-Wesley.
- Bloch, J. (2018). Effective Java (3rd ed.). Addison-Wesley. Chapter 10.
Documentation:
- JUnit 5 User Guide — Official JUnit 5 documentation
- JUnit 5 API Documentation — Javadoc for JUnit 5
Articles:
- Fowler, M. (2012). The Practical Test Pyramid — Testing strategies and test types
- Arrange-Act-Assert Pattern — Test structure pattern documentation
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:
- Google Java Style Guide — Industry-standard style guide
- Oracle Code Conventions for Java — Original Sun/Oracle conventions
Tools:
- Checkstyle Documentation — Official Checkstyle documentation
- Checkstyle Checks Reference — Complete rule reference
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:
- Oracle JDK 25: java.util.logging — Official logging API
- Oracle Java Logging Overview — Logging architecture guide
Frameworks:
- SLF4J Manual — Simple Logging Facade for Java
- Log4j 2 Documentation — Apache Log4j 2
Development Tools¶
IDE:
- JetBrains IntelliJ IDEA Documentation — Official IDE reference
- IntelliJ IDEA Getting Started — Beginner tutorials
- IntelliJ IDEA Code Inspection — Inspection documentation
Version Control:
- Chacon, S., & Straub, B. (2014). Pro Git (2nd ed.). Apress. — Free online
- GitHub Documentation — Official GitHub guides
- GitHub Desktop — GUI application for Git operations
- GitHub Classroom — Educational features for assignments
- GitHub Student Developer Pack — Free developer tools for students
- A Short History of Git — Why Git was created
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.