A1a Guides¶
These guides support Assignment 1a. Read them as you work through the assignment.
Getting Started¶
| Guide | When to Read |
|---|---|
| Environment Setup | Before starting — install JDK & IntelliJ |
| IDE Basics | First time using IntelliJ |
| Git Version Control | New to Git? Start here |
Understanding the Code¶
| Guide | When to Read |
|---|---|
| Java Packages | Understanding project structure |
| Interface Contracts | Before implementing StoreItem |
| Logging | Requirement 2 — using LOGGER |
Code Quality¶
| Guide | When to Read |
|---|---|
| Linters and Code Quality | Requirement 1 — why linting matters |
| Checkstyle Rules Reference | Fixing Checkstyle violations |
| IntelliJ Inspections Reference | Fixing IntelliJ warnings |
Testing¶
| Guide | When to Read |
|---|---|
| Introduction to Unit Testing | Running the provided tests |
References¶
This section consolidates references from all guides linked above.
Primary Texts:
- Bloch, J. (2018). Effective Java (3rd ed.). Addison-Wesley.
- Chacon, S., & Straub, B. (2014). Pro Git (2nd ed.). Apress. — Free online
- Horstmann, C. S. (2022). Core Java, Volume I: Fundamentals (12th ed.). Oracle Press.
- Reges, S., & Stepp, M. (2020). Building Java Programs (5th ed.). Pearson.
- Martin, R. C. (2008). Clean Code: A Handbook of Agile Software Craftsmanship. Prentice Hall.
- Beck, K. (2002). Test Driven Development: By Example. Addison-Wesley.
Foundational Papers:
- Meyer, B. (1992). Applying "Design by Contract". IEEE Computer, 25(10), 40-51.
Language Documentation:
- Oracle JDK 25 Documentation — Official Java SE reference
- Oracle Java Tutorials — Official Java tutorials
- Oracle JDK 25: java.util.Objects — Null checking utilities
- Oracle JDK 25: java.util.logging — Logging API
Testing Frameworks:
- JUnit 5 User Guide — Official JUnit 5 documentation
Style Guides and Linting:
- Google Java Style Guide — Industry-standard style guide
- Checkstyle Documentation — Official Checkstyle documentation
- Oracle Code Conventions for Java — Original Sun/Oracle conventions
Tooling:
- JetBrains IntelliJ IDEA Documentation — Official IDE reference
- IntelliJ IDEA Code Inspection — Inspection documentation
- GitHub Documentation — Official GitHub guides
- GitHub Desktop — GUI application for Git operations
- GitHub Classroom — Educational features for assignments
This page is part of TCSS 305 Programming Practicum, School of Engineering and Technology, University of Washington Tacoma.