Update prac8checkpoints.txt

Pair Programming Report
-----------------------

The task at hand was to write a robust time and date parsing routine using a programming language of your choice. This was to be done using the methodology of pair programming where you were to be partnered with one of the students from the US.  The pair programming methodology involves two programmers working together where one is the driver and one is the navigator. The driver is the person physically at the keyboard writing the code and the navigator reviews the code being written and considers the strategic direction to take.

The main benefits of this process includes continuous feedback, more focus, merged ideas, more consistency, better code as well as knowledge spreading. Reflecting back on the experience we were in general more focused and worked faster than at least I would have by myself. This was because if one of us was stuck for ideas or got distracted the other person could usually provide input to get back on track with the task. Although there was also another side to this which resulted in the process actually being much slower. Due to the fact that my partner was from another country they were very interesting to talk to about their culture and where they were from which at times made us deviate from the task at hand.

As well as being generally faster and better focused the code that was produced was also more correct. Before we started actually writing code we brainstormed ideas for how to solve the simplest cases. As a result we both contributed different ideas and from a collaboration of these we came to a definitive method for solving the problem at hand. When it came to writing the code, errors in the code or uncertainties with syntax were resolved quickly due to the pair programming methodology. Because in most cases if one member was unsure about something the other member of the pair new the solution.

Even with all the positive aspects of pair programming some difficulties were experienced throughout the process. The initial difficulty was that my partner being a mechanical engineer had only done one semester of programming in C++.  Myself not having written C++ code for around a year had forget a few things about the language which decreased the efficiency of the task slightly. We also had issues with getting a C++ compiler working which in turn lead to us changing our code to Java. From here even though my partner had not written java code before we managed to transfer to code to java without too many issues. This hindered the progress of the task but it allowed me to spread my java knowledge to my partner who thus got to learn something from the experience.

Overall the entire process worked well as a whole as we both had even amounts of time in the navigator and driver role where we worked together to produce consistent and good code. Although next time we should try to avoid getting off task talking about things which are not relevant to the task. The experience from this lab was overall a positive one and I would definitely use pair programming in the future given the chance.