Looking back at HW1, I’m really proud of how much my skills have grown over the semester. At the beginning, I was mainly focused on just getting my code to work and pass the tests, but now I approach assignments with more planning and structure. I’ve learned to break problems into smaller, manageable pieces and write modular, clean code that’s easier to debug and maintain. One big victory for me was gaining confidence with inheritance and polymorphism—I now understand how to design base classes and child classes that share logic without unnecessary repetition, which made later assignments much smoother. Another important area of growth has been my understanding and use of unit tests. Early on, unit testing felt unfamiliar and sometimes frustrating, but now I see it as a powerful tool that improves both the quality of my code and my ability to catch edge cases before they become problems. I also feel more comfortable applying access modifiers properly to encapsulate data and protect cl...
For the Markov assignment, I worked with Erin Hurley and Mahmoud Oraby. Before jumping into the code, I took the time to map things out and brainstorm how I would approach the project. I also watched all the guide videos provided, which really helped me understand the requirements and gave me more confidence moving forward. My overall strategy was to break the problem into smaller, manageable parts and build each component step by step, especially focusing on the generation logic. Erin had a similar mindset—she planned things out on paper first and prioritized a clear and logical structure, which helped keep us organized. Looking back, I think I would improve my approach by spending a bit more time upfront visualizing the data flow. That would probably help catch bugs earlier and reduce the need for major rewrites later. According to my classmates, my code followed the Google Java Style Guide fairly well, though there were a few small formatting issues. Erin and Mahmoud's code was ...