March 2012 Archives

Iteration 1: Reflection

| No Comments | No TrackBacks

In iteration 1, we made a scanner that read in a file and created a linked list of tokens in the order the occurred in the file. My partner and I ran into a few problems when writing the scanner. I think the bulk of these issues were due to the fact the neither of us had learned C or C++, we had only ever seen it in a few examples during our machine architecture class last semester. In order to solve a lot of these problems, we turned to Google, a website we found particularly helpful was cplusplus.com; we really just needed to learn the syntax and how to use certain elements of the language.
I don't usually work with a partner or in groups and wasn't really sure how well having a partner would work out, especially since I am very particular about the way I program and my preferences in design. Luckily my partner shared this precision and preferred the same design as I did and was just as anal about it. I also worried about being able to communicate and understand each other's Ideas. This ended up not being as much of a problem as I had originally thought, sure sometimes one of us would try to explain an idea and the other wouldn't understand completely until implementation, but overall there wasn't much trouble. A lot of the time, where one of us left off in the thought process, the other was able to pick up and know where it was going. I now see the appeal of coding in pairs or groups, if one person has a great idea but struggles when it comes to actually executing the idea, the other person can use some of the things they know to finish the idea or help with the execution. Having a partner with different strengths and weaknesses than you leads to an amazing collaboration that doesn't have to stop for much. Your partner can fill in the gaps of your knowledge and help you along when you're having problems getting something to work the way you want it to and vice versa. Despite my hesitation, my partner and I got along very well and having someone else to bounce ideas off of really cut down the time that would have been spent on this iteration if I were working alone.
We didn't end up using subversion as much as we probably should have, on previous labs we ran into a couple problems, we couldn't update or it said there was a conflict when nothing had been changed, there were a couple other issues too. We ended up doing quite a few things and then just checking out the repository again. The times we used subversion for this iteration, we didn't run into any of these problems, but they definitely impacted the amount we used it. I think we were worried that we would have these problems again, or new ones, and end up spending a ton of time trying to fix it. I think now that we are a little more comfortable with it; we will definitely use it more in the future iterations.
The first thing we did was plan how we were going to actually accomplish the task. I think this was really helpful because once you have a general idea of how you are going to do it, and sort of have the implementation in plain English; it's just a matter of translating into whatever language you are using. I am a big planner and do everything on paper before I even start using the computer, and I was very lucky that my partner was a planner as well. This also made creating our tests easier. Once we knew what would be the pieces of our scanner, we knew what to test, and once we knew what to test and how to test it we could start actually writing the functions that would be tested.
I do wish we had started a little sooner, but we had another programming assignment for another class and we wanted to finish that one up before we started this one so we wouldn't get too confused. Though we tried to avoid confusion, we didn't avoid it completely. Our other assignment was in C, and since we were new to that language we spent a lot of time just learning it. Then when we switched to C++ the languages got a little bit jumbled in our heads and there were a couple of things that carried over and we weren't sure they would and a couple things that worked in C++ but were not the most efficient way to do what we were trying to do. The fact that we waited ended up leaving us scrambling on the due date to finish in time for the deadline. This is something I will definitely keep in mind for iteration 2 and all future iterations.
We overcame most of our challenges, I think the language itself will continue to be my biggest challenge in the future, at least until I become completely comfortable with it. There will always be things that I don't know, but as long as I have the ability and the resources to look them up it shouldn't be too big of an issue. I know for future iterations I will definitely begin early and continue planning first. Overall, I had a good experience on this first iteration, at times it got stressful, but nothing bogged us down too much.

About this Archive

This page is an archive of entries from March 2012 listed from newest to oldest.

Find recent content on the main index or look in the archives to find all content.