Week 15: CST 338 - Software Design
Wk07/08 - Learning Journal Summary
Looking back at the HW1
Looking back at HW1 Hangman, it wasn't hard. The prompt and rubric were documented well, so it felt straightforward: follow the instructions and ship. Even though I hadn't programmed in Java before, the task wasn't challenging because it focused on basics - classes, standard collections and their methods, simple control flow, and a clean separation of logic. We also practiced the basic GitHub workflow (clone, branch, commit), which mirrors what I already use elsewhere. If I did it today, I'd take the same approach but with cleaner structure, better tests, and tidier commits. Overall, it showed Java's OOP patterns align with other languages I know.
Highlighting at least two victories
Two clear victories this semester stand out for me. First, I finally understand singletons - not just the theory, but why and when to use them. Seeing a thread-safe implementation in real code (lazy initialization, private constructor, and a static accessor) clicked things into place. I can now spot anti-patterns, avoid global state, and justify a singleton only for truly shared, stateful resources. Second, interfaces stopped feeling abstract and started feeling essential. I'm comfortable defining contracts, separating behavior from implementation, and programming to interfaces so I can swap concrete classes for testing or future features. This pushed me toward cleaner architecture, better unit tests, and more flexible designs. Both topics went from fuzzy to practical tools I can use confidently in new projects. I'm proud of that growth and excited for more.
Comments
Post a Comment