//CS 13X Creative Projects

//Group Projects

I have not been assigning group projects until the students reach CS 132/142. The reason for this is, in the first two classes, 115 and 132/142 there is a tremendous spread of interest and experience. With this amount of variation, most group projects end with one student doing most of the work or at best each student doing half on their own. Even if each student does half this is problematic because every student needs to practice every skill taught in the first couple classes.

Group work is a skill. Students need to be trained how to work effectively with others. Also, all students need to be invested enough in the class to keep trying until the end of the quarter. By CS 132/142 students are invested enough to work together.

Part of the goal of these group projects is to alow students to apply the knowledge they have gained throughout the class to a domain they care about. With that goal in mind, I have given them a set of technical requirements that I believe everyone in the class can achieve. Some groups go far above and beyond the requirements, others just meet them. This allows there to be a big range in projects while not hurting the grades of students who have less prior experience or free time. As long as they meet the required technical pieces described in the instructions, they will receive full credit.

//Group Assignment Strategy

project survey for groups

There are several things necessary to have a productive group:

In order to help groups be productive and successful I have designed the following system:

//Deliverables

In order to help students learn to manage their time and not procrastinate too much I have several due dates for parts of the project before the whole thing is completed and submitted. These have generally been the following:

project survey for groups
  1. A project planning document describing what the group plans to create.
  2. A beta version of the code, this is a version that may be pretty buggy but has most of the main features at least partially implemented.
  3. A project presentation in class to the other students. These are small, informal and give students ideas for other things they could build in the future.
  4. An animated image of their program running and a description of it so that we can create a project gallery.
  5. The final version of the project code.
  6. An evaluation of the group work process, their contribution and the contributions of their group members.

Having so many incremental deadlines has really helped keep projects on track and stop students from trying to complete the whole process right before the final deadline.

I always include a comments section at the end of the group survey. I didn't expect many students to write much there. However, I have been really impressed with the self-reflection students have demonstrated there.

//Student Comments

The comments below are taken from the survey at the end of the project and comments made in course evaluations.

-