Iteration 1

| No Comments

Figuring out how to implement the scanner for iteration 1 was a difficult task,
though it was made possible through teamwork and looking back at what we had
learned earlier in the class.
Working as a team was quite helpful in making sure the code was error-free and
finished on time; however, our final code could have been improved with certain
changes that we certainly will try to make in the future. Most of the work was done with both partners working at the same space, sometimes on a single computer, sometimes
on two. This approach was very helpful in weeding out simple syntax errors, such as
misspellings, forgotten variable names, and misplaced symbols. Also, by working in the
same space, but on different computers, we were both able to work on writing test
cases simultaneously, stopping to check each others' work and quickly eliminating
errors. However, by doing most of the work simultaneously, the iteration was not
finished quite as quickly as it could have been: in fact, the not-quite-functional final
product was not fully committed until mere minutes before the deadline. In order to
avoid this kind of stress in the future, we should focus on spending more overall time
working on the project, which would require both partners attending office hours during
times the other partner can't come, as well as breaking up duties more effectively by
planning the project and figuring out what needs to be done ahead of time. However, it
is still important that the project be error-free as well as completely finished on time, so
retaining a focus on simultaneous work will remain important in keeping the code
We have been using the iterative method for the project, and it has been a very
efficient way to work on the project and one we would stick with, even if it were not
required by the class. By separating different sections of the overall project into
iterations, each of the iterations can be sufficiently coded and tested enough to be
confident that it works before moving on. Within the iteration itself, we took an iterative
approach, working on each subsection of the scanner and writing tests before going on
to the next; for example, before making a loop to tokenize the input into regular
expressions, we wrote tests for the regular expressions we had written previously. By
sticking to an iterative approach within the scanner, we were able to work on each
subsequent part of the code without running into problems with the previous section.
One of the most important actions taken to successfully finish the first iteration
was using all of the many resources given to us. Although building a scanner seemed
to be a difficult task at first, by looking back at the previous labs and lecture notes, we
were able to figure out a framework for the project, and found that many of the methods
used in the word count program could also be adjusted to work with the scanner.
Attending office hours was also essential, as the TAs and professor were very helpful for
pointing us in the right direction, though we could have attended more office hours than
we did. Similarly, the Piazza board was helpful when other people had the same
problems as us; however, we could have improved its helpfulness by posting our own
questions as well. In any case, ample resources are provided for finishing the
iterations; we simply need to figure out how to use them more effectively than we
already have.
The largest difficulty in the first iteration was getting the scanner to pass all of the
provided assessment tests. We were unsuccessful in achieving this; however, since
grades are broken into two sections - human and machine grading - we should have
this fixed by the end of the second iteration. Thanks to our way of working on the same
computer, we were able to check one another's formatting to ensure that we would get a
good grade in the human-checked section. By improving our team dynamic, working
harder, and better utilizing the resources provided, we can be more successful on the
second iteration.

Recent Entries

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