A couple of students have asked how UCOSP projects are graded. The short answer is, you tell us. Seriously—talk to your mentors and say, “These are the things I want to tackle, here’s why I think they’d be valuable and how much effort they’ll require, so please give me grades for X, Y, and Z.” If your mentor thinks you’ve chosen things that are too hard, too easy, or not particularly useful, the two of you can negotiate back and forth until you settle on something that makes you both happy. Based on previous terms’ projects, this works best if you follow a few simple rules:
- Define a handful of small tasks, rather than one big one. If 100% of your grade depends on flambulating the frajulator, and it turns out that fraulators are intrinsically unflambulable, you’ve got a problem.
- Work in small, steady steps, so that you can get feedback from your mentor (and change direction if necessary). We’re not going to set assignments every two or three weeks, but you should try very hard to deliver something—anything—every couple of weeks.
- But don’t wait a week or two to communicate with your team and mentor. Giving someone else feedback on the team mailing list or in IRC is a good way to take a break from a linear algebra assignment, and helps move the whole project forward.
One other thing that makes UCOSP different from regular courses is that we grade your work based on where you started, not on how much the rest of your team knew at the beginning of term. Some of you are working with languages or platforms you’ve never seen before, while others have done work terms with those same technologies. We’ve all been through that too, so your grade will be based on how far you get from where you are now. Long story short, don’t panic if you feel that everyone else on your team knows more than you do: it probably isn’t true, and even if it is, it doesn’t matter.