TCSS 305 Programming Practicum¶
School of Engineering and Technology, University of Washington Tacoma
Welcome to the course materials for TCSS 305. Use this site to access assignments and learning guides throughout the quarter.
📋 Assignments¶
| Assignment | Description | Due |
|---|---|---|
| A1a: Introduction | Environment setup, implement StoreItem |
Week 1 |
| A1b: Testing | Test-Driven Development, write JUnit tests | Week 2 |
| A1c: Bookstore | Implementing an API, (INTRO)Inheritance, Polymorphism | Week 3 |
| A2: Road Rage | Implementing an API, Inheritance, Polymorphism | Week 5 |
| A3: Sketch Pad | Event-driven programming | Week 6 |
| Group Project: Tetris | 2D Graphics Observer pattern, team collaboration | Weeks 7-10 |
💬 Getting Help¶
- Office Hours: See Canvas for schedule
- Discord: //TODO Link
- Site Issues: Report an Issue
About This Site¶
This site was created through collaboration between the course instructor and Claude, an AI assistant by Anthropic. Claude assisted with content development, organization, and site structure while the instructor provided domain expertise, pedagogical direction, and editorial oversight.
This site is a work in progress. Additional guides and readings will be published throughout the quarter as content is developed. The reference table below will be updated as new materials are added.
References¶
Primary Texts:
- 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.
- 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
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
- GitHub Documentation — Official GitHub guides
Supplementary Resources:
- Baeldung — Practical Java tutorials
- Martin Fowler's Blog — Software architecture and design
TCSS 305 Programming Practicum, School of Engineering and Technology, University of Washington Tacoma.