CPS 108 Assignments

Spring 1999


For each project you (or your group) should have a small three-ring notebook that contains all code, all design documents, and all documentation for the project. A physical notebook is not required, you can gather all the paper together and use a large spring-clip; however, you must develop a software portfolio for each project you do.

Warm-ups

These are simply to help get you acclimated to the course and to give me a little bit more information about you. They will as much time as you are willing to spend on them :)

Code Critiques

Code critiques will be given throughout the semester in order to improve students ability to read and understand code.

Mastery Projects

Mastery projects are solo projects, 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 an associated test program that exercises every line in your program.

C++

Java

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.  Since group projects can often be less than the sum of the individuals involved, several measures will be taken to help maintain the fairness of the group's grade. For each group project, you are required to write an evaluation of the group's effectiveness. Additionally, you will be provided with your group members for all projects.  Your partner will be chosen randomly for the small group projects and based on your recommendations for the larger group projects.

There will be one medium group project in C++ and one in Java, one large group project in Java, and at least two small group projects.

C++

Java

Readings

Turning in a one to two page reaction to the following readings by the specified day can earn you extra credit points. In general, your reaction should discuss the issues brought up in the reading. It isn't intended to be a "book report" where you tell what happened in the reading. The idea is that you talk about how the reading affects your programming, design, etc. For example, talk about how it could have affected programs you have written in the course. In general, it should demonstrate that you did the reading and you thought about and understand it.
Comments?