Fall 2010


CMPS 160 Project Requirements


This class is an experiment with regard to probable chance of quality experiences for all students and increased outcomes from class projects that students would want to put on their resume. I know what happens statistically if I form undergrad teams (some are great and some fail to find a natural leader and flounder). I know what happens statistically if I form grad student teams (too much coding, and not enough thinking about the project outcome). I've tested letting team members choose each other as well as random assignment. In this class we're testing what happens with mixed grad and undergrad teams. The hope is that grads will be forced into the leadership role and will be forced to spend time thinking. The better structure will help ensure that all undergrads have a clear focus. Like I said -- its an experiment.


To the extent possible we're aiming for projects that have a value after the class ends. Either they are close enough to an interesting research result that a workshop paper can be written, or they produce a sufficiently polished tool which we know somebody wants to use. Its understood that some projects will divert course along the way. Its the leaders job to make sure that we end with an outcome along these lines, even if its not the one originally proposed.


1. James will pitch project ideas to grad students. I'm pitching because in the past the statistical chance of achieving a usable outcome is higher with projects I propose. Primarily because I can advise them better.
2. Grad students will each pick a project and revise to reflect their interest and skills Crucial to this is forming an executable plan. See info on the plan in the grading section below.
3.Grad students will pitch their projects to undergrads 4 minutes per project. Undergrads will use clickers to grade grad students on the comprehensibility of their presentation.
4. Undergrads will choose teams to apply for membership in This will be chaos. Some grads will have popular projects and get to be selective in 'hiring'. Some grads will have to work hard to 'recruit'. We'll complete this in class.
5. Joint grad-undergrad teams will again revise to reflect number of team members, interests, and skills  
6. Joint team will submit a "contract" on what each member is planning to accomplish each week. This contract will be part of grading. See below. Every undergrad will submit a piece of paper saying what team they are on and their own plan. Every grad will submit a team plan with all team members, each plan, and all signatures.
7. A written progress report will be turned in in week 1. Reporting on progress relative to the plan. Graded.
8. A written progress report will be turned in in week 2. Reporting on progress relative to the plan. Graded.
9. A written final report and an in person meeting to discussed the finished outcomes will occur in week 3. This is the last week of class. Your project is done. You also meet with me to tell me about your success.
10. Each team will present its work during the 3hr final time slot. (Roughly a week after project completion) You can keep revising your project, but you are no longer graded on additional work since this is finals week, you are now graded on the presentation you give telling us all how awesome your work was during the preceeding 3 wks.


Grading is centered around the project contract between team members. This is intended to list every team member and exactly what they are doing in any given week. What each person is doing should be verifiable. A task should not be 'Learn X'. The task should be 'Produce outcome Y (which requires that I learn X). You will need to attach the verifiable proof of completion to each weeks report. This proof might be a link to a webpage, or a screenshot, or anything else that an objective set of observers could tell if it was done, without relying on claims of the responsible party.

Producing this contract is the most important thing you will do on this project. Turning in a signed contract which lists everyone is a graded part of the class. My experience is that given a well thought out set of things to accomplish, people get them done. Teams fail when its not clear what everyone is responsible for.

Grading for undergrads each week of the project will be based on completing their contract for that week. Individual undergrads are not responsible for flakiness of other individual undergrads. I'll ask you to self grade, and seperately ask the grad on your team to grade you on this scale:

F - Not done.

D - It almost got done.

C - It almost got done, but the reason to miss was really not your fault.

B - Finished task in the contract for this week (or revised and equivalent task if things went wrong).

A - Finished, plus did extra (completion of part of next weeks task, bailed out a teammate, did some other extra)

Grading of grads each week is dependent on the overall project completion. Grads may have a set of tasks of their own, but their weekly grade is evaluated on all tasks in the project. Note that this means that the most important thing the grad student can do is make sure that all team members have everything they need to be productive since any failed tasks leads to a bad weekly grade for themselves.

Bailing out team mates. Grad students may be interested to simply do a task for a team member who gets sick or otherwise cant complete. The structure of grading makes this nearly required. Its also fine for undergrads to bail out their friends. This is a team, it should work together to see that everything gets done. In the case of true flakiness, you could choose to bail out the project, but not your teammate by reporting the issue and who actually did the work in the various reports.

Reporting by undergrads weekly will be on a handed in paper(s) and specifically document both their original contract and the proof that they accomplished whatever grade they are claiming for the week. Grads will turn in a master team report with info on all members and what is done or not, along with their opinion of grade for everyone including themselves. Probably this is just copies of all the undergrad reports in many cases. All team members can attach a private evaluation of their teamates to their own reports if desired. This usually occurs only when either there are absentee team members who are screwing things up for everyone, or to praise teamates who are really saving everyone else.

Grads are not expected to be harsh task masters, the boss, or responsible for handing out bad grades. They are however put in an equal but different role, that of 'manager'.

List of Projects


<list of and link to individual project pages>

Drive Time Heatmaps (Peter Mawhorter's version)