During each section, you will fill out a self-evaluation of your work for the week. You must bring you own copy of the form to each meeting and hand it in to your moderator by the end of section. If your moderator disagrees with your assessment s/he will provide some explanation on the online grade book when marking your score for the week.
Each week, you and your moderator will grade your work based on some subset of the criteria below. Each item will be scored with a 0, 1 or 2.
- 0 = Inadequate: Anything more than a few minor issues.
- 1 = Adequate: Good but not perfect – room for improvement.
- 2 = Exceptional: outstanding or otherwise awesome work – minimally, perfect execution
For each assignment, the criteria will be weighed as appropriate.
- 2 = You submitted your code on time and without error to the SVN repository.
- 1 = You submitted your code with some minor problem or submitting it late, but not so late as to cause a problem.
- 0 = You messed up your code submission or submitted it too late.
- 2 = Arrives on time (or before moderator), with grading sheet and all equipment ready to go.
- 1 = Imperfect preparation.
- 0 = Holds section up in any way.
- 2 = Obviously meets or exceeds all the requirements of the assignment.
- 1 = Any shadow of a doubt that the requirements are exactly met.
- 0 = Anything other than a minor failure to meet all requirements.
- 2 = Flawless presentation and Q&A of the strengths and weaknesses of the code. (Makes the moderator say, “Oh, I hadn’t considered that!”)
- 1 = Good, but room for improvement.
- 0 = Poor presentation.
- 2 = Provides commentary worthy of a future moderator.
- 1 = Provides constructive comments or critique at least once during section.
- 0 = Says nothing, doesn’t contribute in a meaningful way to the section discussion, or worse, behaves like a jerk.
- 2 = It is obvious that an extraordinary amount of work was performed.
- 1 = The expected amount of work was performed.
- 0 = Comparatively little work was performed.
- 2 = Automated testing that goes above and beyond – makes the moderator say, “Wow, that is some darn thorough testing!”
- 1 = Minimal test coverage for the assignment. (In the process of writing your unique code, you will always find unique things worth testing. If you don’t think of any of these things and address them, the you can’t get more than a 1.)
- 0 = Insufficient tests, or tests that fail (without a darn good explanation.)
- 2 = Your overall approach and structure to your solution is fantastic.
- 1 = Your overall approach and structure to your solution in not unexpected.
- 0 = Your overall approach and structure to your foobar … WTF?!?
- 2 = All function, parameter and variables names are so consistent, thoughtful and wonderful that the moderator sheds a single tear.
- 1 = No function, parameter or variables names that make the moderator want to barf.
- 0 = Any (real or virtual) chunks are spewed.
- 2 = Your method decomposition is mind-bogglingly awesome!
- 1 = Your methods are well decomposed with few if any long (more than 25 lines) methods.
- 0 = Your methods are long and mind-boggling!
- 2 = Your comments are easy to read and profoundly explanatory while not being overly verbose.
- 1 = Well written comments.
- 0 = Too few comments, poorly written comments, or comment pollution.
- 2 = Did something unexpectedly clever in an effective way. (This is the riskiest 2 points in the entire rubric!)
- 1 = Chose simplicity and understandability over cleverness. (The smart choice.)
- 0 = Did something clever at the expense of understandability or simplicity. (Unfortunately, the usual case with clever code.)
- 2 = The code uses the best possible approach for performance or otherwise exceeds expectations, without sacrificing clarity or testability. (The second hardest 2 points of the rubric.)
- 1 = The code uses an expected or acceptable algorithmic basis.
- 0 = Slow or poor algorithmic basis.
- 2 = You have addressed your specially assigned personal coding problem to such an extent that your moderator can barely believe s/he complained about it the previous week.
- 1 = Forward progress on addressing your issue.
- 0 = Different day, same stuff. (Hello? Were you listening?)
- 2 = You thoroughly read the code assigned to you by your moderator and then participated actively while it was presented, asking good, intellectual questions
- 1 = You read the code assigned to you by your moderator, but did not prepare much about it and asked mostly surface-level questions
- 0 = You did not read the code assigned to you by your moderator and/or did not prepare at all for discussion