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

CST383: Learning Probability Distributions and Data Visualization in Python

This week, I learned more about probability distributions, density plots, histograms, and how to visualize data using Python libraries such as Pandas, Matplotlib, Seaborn, and SciPy. I practiced creating density plots, box plots, cumulative density plots, and histograms using real datasets. I also learned how changing things like bin width, bandwidth, transparency, and sample size can affect the appearance and interpretation of graphs. Another important topic was understanding skewness and how transformations such as log10 can help make heavily skewed data easier to analyze. One thing I found interesting was how probability density functions (PDFs) and histograms can represent the same data differently. Before this week, I thought graphs mostly showed the same information in different styles, but now I understand that each type of plot has a different purpose and can make patterns easier or harder to notice. I also learned that larger sample sizes tend to reflect the true distribution...

Choosing Between MongoDB and MySQL

This week I learned more about how MongoDB and MySQL are both powerful tools for managing data, but they serve different purposes. MySQL is a relational database that organizes data into tables with rows and columns. It uses SQL (Structured Query Language) to define and manage data, which makes it very structured and reliable. MongoDB, on the other hand, is a NoSQL database that stores data as documents in a flexible JSON-like format . It does not require a fixed schema, so it is easier to change or add new data types as needed. Both databases are similar because they can handle large amounts of data, support indexing for faster searches, and allow users to perform queries to get specific information. They are also widely used in modern applications and can be connected to programming languages like Java, Python, or C++. However, the key difference is how they store and organize data. MySQL is best when data has clear relationships, such as in school systems, banking, or employee ...

CST383 Week 1: Python for Data Science

This week, I learned the basics of Python for data science and how tools like NumPy are used. I already have programming experience from my computer science classes, but Python feels different from languages like Java or C++. It is easier to write and more flexible because it does not require strict data types. This makes coding faster, but I also need to be careful to avoid mistakes. We also learned about the Python data science ecosystem, such as NumPy, Pandas, and tools like Google Colab and Jupyter Notebook. I liked using Google Colab because it is simple and runs in the browser, so I don’t need to install anything. However, I am curious when it is better to use local tools like Spyder or Jupyter instead of Colab. The most important concept for me this week was NumPy. I learned that NumPy arrays are much faster than Python lists because they store data in a continuous block of memory and use the same data type. This connects to what I learned in my algorithms class, where performan...