Iteration 1 Reflexion
The first iteration had a very large learning curve in it. This was my first major coding project in C++ and also my first major coding project in general in almost a year. From the start the project felt like it was my one. However, through all of the falling down, I managed to learn how to pick myself up.
One major obstacle that my partner and I faced was how to divide up the work. I thought that it would be as simple as "you do this" and "I'll do that" but it was not. I found it quite difficult to collaborate on the same functions and pieces of code. Even with detailed comments I found it hard to trace through code and follow what my partner was trying to do. It had nothing to due with whether or not his logic was correct, it was more a question of trying to get on the same brain waves as he was. Another problem with divvying up the work was that I had an idea I though was good for the scan function. I took a lot of time to implement it and it was finally somewhat working. Than my partner explained to me his idea and I realized his would work much better. So basically I wasted about 5 hours of my time writing code that would eventually be meaningless. This could have been avoided by better communication on my part between what my partner and I both had in mind.
Another major obstacle (although this one I faced alone) is my inexperience with large coding projects to begin with. This is only the 3rd class that I have taken that actually involves coding, and one of them was in Scheme. The first problem I faced due to my inexperience was figuring out what the first iteration was actually looking for. It took a few days of just sitting down and reading the description and coding and planning and reading some more. It was extremely frustrating at times to say the least. I had a very hard time understanding the specs of the assignment as a whole. Once I finally figured out what the iteration was looking for I ran into the next giant obstacle of figuring out how to do it! As stated before I thought I had an idea but it turned out to be merely an illusion of grandeur and was quickly (and rightfully) quashed by my partner. A third major obstacle was using SVN. It took me a few weeks to figure out how it works, and even still I struggle with it at times. I spent the first day or so just trying to figure out why it was failing to update my repository, Fortunately with this as well, trial and error prevailed.
There are many lessons I learned through this first iteration that I can take into the next one. The first is how to work better with my lab partner. I now realize that I need to do a much better job of communicating with him on what my idea is for the assignment and also asking what his ideas are as well. Now that we have figured out how to use SVN it should be a much easier task of getting on the same page in terms of our ideas. This also goes hand in hand with how to divvy up the work. I need to do a better job of sitting down and planning the entire iteration before jumping into ANY code. This means that I will need to have a full understanding of what the iteration is asking us to do and how we believe is the best way to implement it. I will still face the obstacle of my inexperience in coding. There is nothing I can do about this but to press on and not be afraid to make mistakes. I also need to use my resources better in my TA's and the professor himself. Hopefully by the end of these iterations things will become more clear to me.
Overall the first iteration was a struggle. My partner and I could not get on the same page until the very end and it ended up costing us. We were unable to turn in a working iteration by the deadline. The lessons we learned, however, should help to ensure that through each iteration we will continue to get better. All that we can do is continue to work hard and hope for the best.