Who did you work with? Emmanuel Garcia
What was your strategy for solving the Markov assignment?
When I began Markov, I started by reviewing the prompt and reading it fully through. From here, I followed the UML and began the initial setup as soon as possible. While reading the prompt, I noted most of the methods called upon other methods. This directed my attention to the methods that are called, but don't call one themselves such as endsWithPunctuation(). To prepare for the rest of the methods, I reviewed JUnit testing, reading test files, and reviewed certain concepts I was weaker on. Unfortunately, some prior system issues held me back from sitting with the lectures as long as I would have liked, though the little review I've done, as well as having worked on the LDPM and Midterm, supported my progression. I did write out the methods and drew out my if statements so I could get a stronger, visual representation of what the method was doing.
My biggest struggle was working with the HashMap in conjunction with the array. Rather, I couldn't make a mental connection as to how we would fill the array and store it within the HashMap. My second biggest struggle was the toString() method as I didn't fully grasp when to use the StringBuilder until further example and explanation during the evaluation.
What strategy did your classmates use?
Emmanuel first began by reviewing the test file, reading all the way through so he could see what the tests were looking for within their associated method. Some of the other function calls within the test file gave him a better direction on which methods needed to be completed first, such as getWord() within the addFromFile test method. This suggested that the addFromFile() method needed to be functional in order for getWord() to run as expected. He drew out everything and had a better understanding on how to visually detail what the HashMap would be doing
How would you change your strategy having worked on the assignment?
I plan on coding every day for an hour to keep myself exercised on syntax and to learn how to draw out more complicated concepts such as a HashMap. While I did begin it the day it was assigned, I didn't spend every day on it, which may just need to be a necessary thing for me to do. I'm a very visual learner, so watching videos or seeing how the code operates behind the text allows me to work out the issue without looking too long at code. I also intend to utilize Emmanuel's approach by not only reading the test file, but taking note of any method calls that may be required for the test to run. After reading the prompt, if there are topics I'm foggy on, before opening the program, I may write a few practice examples in my terminal for retention purposes, if other practice sources just aren't enough. Small unit testing and seeing immediate output validates my steps enough for me to continue, but admittedly, working with a test file has been an adjustment. Perhaps creating my own test file, one method at a time, might help be better understand test files created by others.
My code followed the study guide pretty well and was in alignment with their own understanding, however, my program was incomplete, passing 6/10 tests initially.