CSC 427: Data Structures and Algorithm Analysis
Fall 2008

HW3: Programming in a Team

For this assignment, you will work with a partner to design and implement solutions to programming contest problems. Solving these problems will not require a lot of code, but will require careful thought, testing, and debugging. You should work closely with your partner to plan out an approach to the problem, identify special cases that will need to be tested, and verify the correctness of the output produced. As is the case with contest problems, input and output specifications are very precise - you must meet these specifications exactly or you will not receive full credit.

You and your partner must solve at least two of the following problems (extra credit can be earned by solving more than two):

Ideally, you and your partner should review all four problems carefully to identify the two that you want to tackle. Once you have done this, each of you should take primary responsibility for one of the problems. I strongly suggest that you follow the model below to coordinate your actions:

Lead Responsibilities Support Responsibilities
Come up with the initial design plan for the solution, and present it to the supporting partner. Critique the initial design plan, offering suggestions as needed, and finally giving approval to proceed.
Code the problem solution. Observe the coding process, offering suggestions as needed.
Perform initial testing with sample data (e.g., sample I/O from the problem). Design a thorough set of test data for the problem, focusing in particular on special cases that need to be handled.
Test the program using the full set of test data. Confirm the successful testing of the program.