This time line lists the major elements of the project along with suggested times for completing them. With the exception of three fixed deadlines (the dates your two reports are due and the date of the presentation), all dates are -- as a practical matter -- merely suggestions. But they are strong suggestions. Be wary of slipping too far from this schedule in either direction.
The deadlines are fixed. They will not be adjusted during the semester.
Form a team, select a team leader, and settle on a project.
Research your problem. Come to understand the task in detail. Understand the context in which the task is performed. Conduct interviews with relevant parties, including your domain experts. Begin to conceptualize the knowledge that underlies the task.
This is commonly referred to as the knowledge acquisition phase of the project. See these these suggestions for how to approach knowledge acquisition.
Design your solution. Implement an architecture prototype that allows you to demonstrate your intended solution and to learn more about the problem.
Implement your solution. Go through at least two iterations of growing and refactoring the system. Test your solution at each step. Document your system on an ongoing basis.
Working as a team, you will want to be sure to integrate your code into the working program at frequent intervals. You will also want to conduct regular walkthroughs of your pseudo-code and code as a team.
Integrate code final pieces of the system. Perform final integration testing. Clean up code. Complete a draft of your System Documentation. Assign presentation responsibilities.
Perform any last-minute code tasks. Complete final version of your System Documentation. Prepare final presentation. Perform dry run.
Finalize presentation and any administrative details.