You will work on approximately one part of the (two) semester projects per week. The first few projects are more like homework assignments the way you (should) know them from Fundamentals I and II. These include writing memos, designing and programming to interfaces or protocols.
The remaining projects contribute to the construction of a distributed "service." Most will require the design of a component interface and the implementation of some (other) component to a given interface. Others will call for the modification of existing programs, etc. As in the real world, the project descriptions will become available only a short time (typically a week or so) before they are due. This simulates the time pressure you will experience in industry. As you rush to complete your projects, don’t forget, however, that performing tasks systematically and according to a design plan makes it far more likely that you produce reliable and maintainable software than ad hoc coding.
Pair Programming You must work on all projects in pairs. Pair programming means that you do everything together, jointly in front of a single computer.
Collaborating via some desktop-sharing software is not pair programming.
You will choose your partner during the first week and before you submit your first project.
You will confirm your partnership with a single email per partnership to Tony Garnock-Jones by Friday, 15 January 2016 (NOON). CC your partner. The email must state your full names and where/when you will meet the first time. In return, the two of you will get joint account on the College’s github.
Scheduling Schedule the first meeting when you agree to partner up for a project. At the beginning of each meeting schedule the next meeting (where, when) and make sure that you and your partner write down what you agree on.
Write down the agreement in your Log Book.
The ideal schedule blocks out six regular meetings per week, one per work day. Even if you agree to such a schedule, re-confirm it in your Log Book at each meeting when/where you will meet again.
Project Submission All of your work will live on your (College) github account. On the specified due date and time, a script will harvest your work.
Your (College) github account is your only means to submit projects.
For every submission, you will also hand in a sheet of paper with an honor code pledge signed by both partners:
“On my honor, I have neither given nor
received any unauthorized aid on project #.”
with # replaced by the appropriate number. The signed pledge confirms that you live up to the code of conduct. We will not give you a passing grade without a signed honor pledge for a project.
Code of Conduct You must perform all work with your chosen partner. You must not discuss the weekly projects outside of this partnership. Once you see other people’s solutions to weekly projects in class, you may choose to modify your own in response to these presentations.