Skip to content

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:

Testing Frameworks:

Style Guides and Linting:

Tooling:


This page is part of TCSS 305 Programming Practicum, School of Engineering and Technology, University of Washington Tacoma.