Projects


For each project you develop for this course, you must submit your program electronically, using the directions available here. Additionally, your code should follow the spirit of the conventions detailed here. It is important that your individual and group code be consistent within each project. If you feel you must violate one of the conventions, you should at least think about why and perhaps document it within your code.

Warm-ups

These are simply to help get you acclimated to the course and to give me a little bit more information about you. It is important that you take as much time as you are need to get used to the tools introduced.

Mastery Projects

Mastery projects are solo projects, on which you must work by yourself. These mastery projects are designed to ensure that that everyone who completes the course is "certified" as capable of writing and understanding reasonably complex C++ and Java programs. For each mastery project, you must hand in a project artifact and a separate, automatic, test program that exercises every line in your program.

Group Projects

Small group projects will be done by two students, medium group projects by three or four students, and large group projects by four or five students. Your partner will be chosen randomly for the small group projects and based on your recommendations for the larger group projects. For each group project, one project artifact should be handed in, no matter how many individual members.

Note, only one summary grade will be given for each group project. Thus your grade depends not only on your programming skills but on your ability to work in a group. More credit will be given to programs that have minimal, but collaborative, functionality than to projects that have one piece working perfectly, but do not represent the integrated efforts of the group. In addition to the group's submission, you must submit an individual project analysis one or two days after handing in the final version of the project. This analysis will not affect your group grade, but may impact your personal grade. For example, if your group project fails, despite your best efforts, but you write a good, concrete, and detailed analysis of the project you may receive a D on the project, but an A on the analysis.


Comments?