Skip to main content

Guess Who's Bugging Out: A Hangman Tale of Loops, Letters, and Lost Scores

 A common thing I noticed when I reviewed my classmates' code was that many of us had the same problems. Most people had trouble keeping track of the game state, like remembering guessed letters or keeping the score between rounds. Everyone did a good job building the basic Hangman game, but many struggled with the harder parts, like passing some unit tests or writing clean logic. I reviewed Erin Hurley’s and Mahmoud’s code. I looked at their GameLoader, Hangman, and their test classes. Their variable names were clear, and their logic worked well. I told them they might want to keep the score after each round and maybe make some big methods shorter to help with reading the code.

The feedback I got on my own code was very positive. Erin said my logic was efficient, especially the makeGuess method, and she liked how I commented my code. The only suggestion was to add my name and the date to the header. I think I still have things to fix in my code, like making the loop that handles guessed letters work better and checking inputs more carefully. The hardest part for me was passing most of the tests in HangmanTest, which tested if my game logic was correct and if it tracked the game state properly. The current tests work fine, but I think we could add more tests to check special situations like repeated guesses or wrong input.

From the reviews I did, I saw that the unit tests mostly check the basic parts of the game. If someone wrote subclasses, the tests may not check them completely. I wouldn’t change the current tests, but I would add more to make sure everything is covered. Reading and writing tests helped me understand what the code should do. I had trouble making sure guessed letters were saved and not guessed again. I think my teammates had similar problems. One part that was easy for me was getting back into Java. Even though it’s been a long time, it started to feel familiar again. In the end, I feel like HW1 was both hard and successful. I finished the game and passed all the tests, but I had to fix many bugs along the way. This assignment helped me learn how to write better code and how to understand other people’s code too.

Comments

Popular posts from this blog

CST462S - From Learning to Impact: My Service Learning Journey

What went well during my service learning experience was my ability to contribute meaningfully to the ASCENDtials web team. I was able to complete several tasks such as updating website pages, working on LifterLMS courses, and improving user experience through better layouts and navigation. I also communicated effectively with my team, asked questions when needed, and stayed consistent with meeting deadlines. Over time, I became more confident using tools like WordPress, WPForms, and course-building platforms. If I could improve something, it would be my time management and planning. There were moments when tasks felt overwhelming, especially when balancing schoolwork and service hours. I would also improve my confidence in decision-making, particularly when working independently on design or technical issues. Taking more initiative earlier and asking for feedback sooner would have made my work even stronger. The most impactful part of this experience was seeing how my work directly co...

CST438: Hands-On System Testing and Cloud Technologies

This week, I worked on both system testing and understanding cloud and distributed system concepts. One of the main things I learned was how to build Selenium system tests that simulate real user behavior. I created tests in which an instructor enters final grades and in which instructor-created assignments appear in a student’s view. While doing this, I learned how important it is to have all parts of the system running, including the frontend, backend, and external services like the gradebook. I also improved my debugging skills by fixing issues with Selenium, such as incorrect XPath selectors, missing UI elements, and unnecessary alert handling. I also learned how to properly manage my code using Git and GitHub. I created branches, committed my changes, pushed them to GitHub, and opened pull requests for review. This helped me understand a more realistic development workflow and how collaboration works in a team environment. In addition to coding, I reviewed several key concepts i...

WHERE I’m At: Midpoint Lessons in SQL and Beyond

 Halfway through this course, I can see how much I’ve learned and how it connects to both my past experiences and my future goals. One of the biggest takeaways has been understanding how SQL views work. I now know that a view is like a virtual table, useful for simplifying queries and presenting data, but usually read-only since it doesn’t store data itself. I’ve also learned the importance of normalization, which helps remove redundancy and ensures cleaner updates by splitting one large table into multiple related ones. Another valuable lesson has been comparing SQL with Java: SQL is declarative and focuses on the “what,” while Java is procedural and focuses on the “how.” This comparison helps me appreciate each language’s role in problem-solving. I’ve also seen firsthand how powerful SQL can be in real workflows compared to spreadsheets, such as enforcing business rules like course eligibility in a single query. Beyond SQL, I’ve grown as a programmer in general—planning better, w...