Skip to main content

Posts

Showing posts from July, 2025

Markov Algorithm Avenger

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 ...

Debugging My Way Out of the Monster Mash

For this learning journal, I worked with Erin Hurley. I started coding right away, using sticky notes to jot down ideas and keep track of important logic and structure. Interestingly, I began by working on the first and second child classes first—just to make sure I understood the requirements and structure—before going back to complete the Monster base class. This helped me get a clearer sense of how everything would connect. I approached the assignment step by step, focusing on writing modular, organized code and using print statements to help with debugging when needed. My notes helped me stay on track and adjust my approach as I built out each piece. My classmate said they felt overwhelmed at first and accidentally opened a project within another, which caused issues. After getting advice from Polina, they focused on building the simplest functions first, since the complex ones relied on them. They didn’t plan on paper due to the structured nature of the assignment. They finished a...

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 g...

Lost in the Terminal, Found in IntelliJ

During Week 1 of CST 338: Software Design , we covered Lab 00 and Lab 01, which introduced essential foundational tools like unit testing, Git, and interfaces. One of the highlights for me was learning how to integrate GitHub with IntelliJ. I was genuinely amazed at how seamlessly these tools work together, and I’m excited about using them in collaborative projects later in the course. Setting up version control and seeing how commits, branches, and pull requests function in a real development environment made the learning experience feel both practical and professional. Learning how to write and run unit tests also stood out—it’s clear how crucial they are for ensuring code correctness and preventing regressions, especially in larger codebases. Although the bulk of the material on interfaces is scheduled for next week, the early introduction helped me start forming a mental model. I’m beginning to understand how interfaces provide structure and promote flexibility in code design. It’...