CSE 134A Project 2 grading rubric and comments
General comments
- There was a problem with the printed grade sheets. The total scores are
correct, but the individual scores (those for A-O) may be rounded up, so
that the sum of the numbers may seem higher than the total shown.
- The printed grade sheets did not include the extra credit for early
turnins, which has been applied and is shown on GradeSource.
- The average score for the projects is 22.6 points out of 30.
Usability
This section was graded by Dana. Please email him with any questions.
Grade sections
- (3 points) Readable and appealing text and graphics, reasonable UI Simple,
clear, uniform design, browser compatibility.
- (1 point) Handles user input well (HTML, quotes, etc. inside messages)
- (2 points) Spell checking
- (2 points) Administrative interface and editing capabilities
- (2 points) Correct user account and session handling
Canned comments
- couldn't read messages
- couldn't post messages
- site architecture and navigation not easily grasped
- errors, non-functional links or buttons, or missing feedback
- unwieldy HTML structure or layout
- unappealing colors, graphics, or text
- some mishandling of HTML or quotes
- HTML or quotes in messages break something badly
- couldn't find spell checking feature
- unable to make changes before the message is actually published
- unable to revise and re-preview before posting
- couldn't create/remove topics as admin
- couldn't remove users as admin
- couldn't remove threads as admin
- couldn't remove messages as admin
- couldn't create an account
- no sessions or session handling fails
- no restriction on spurious account creation
General comments
- A few projects still used frames, mostly not to good effect.
- Many depended on JavaScript for basic functionality such as navigation.
There is no excuse to use JavaScript for something that can be done with
HTML or HTTP headers (such as HREFs and redirects). A site should work with
JavaScript turned off.
- Almost all had problems handling quotes and HTML in the preview/spell
check feature. Characters frequently got escaped with backslashes, and
sometimes the input just got truncated.
- Some of the spell checkers just listed misspelled words. This isn't
convenient, especially for long messages.
- Some of them sent HTML-only e-mail. (No penalty for this.)
- A few had features (such as delete buttons) that appeared even when
they were unavailable to the user logged in. This is bad form.
- Several projects didn't use sessions at all.
Code quality
This section was graded by Greg Hamerly. Please email him with any questions.
Grade sections
- (2 points) Comments (especially for difficult code)
- (2 points) Clarity (variable names, code structure, flow of control)
- (2 points) Modularity (using functions, and not reinventing PHP functions)
- (2 points) Error handling (sufficient error checking)
- (2 points) Organization (use only a sufficient number of files, avoid
useless files)
Canned comments
- Insufficient comments
- Don't reinvent PHP functions
- Too many files
- Unclear flow of program
- Modifying SQL tables inside code
- Insufficient error handling
- Insufficient decomposition of program into functions
- Don't use HTML comments to document PHP code
General comments
- Overall, comments were much improved on this project over project 1, but
some groups still need to work on their comments. A good rule of thumb is to
have a block comment for each file header, each function, and then document
every unclear portion of code.
- Several groups used an error-recovery method of redirecting to another
page upon an error. This is a good, clean way of handling errors and
maintaining a nice interface.
- Many groups did not do sufficient error handling. The purpose of these
projects is a product that a novice can use without problems. Simply using
"die()" or "exit()" in the middle of your program has the distinct
disadvantage that it will not have a predictable output (depending on the
state of the HTML and the browser), and it can be very aesthetically
unappealing.
- Keep the number of files you use to a minimum; code reuse is important.
- Do not use large, obtuse switch statements. This is very prone to error!
Report
This section was graded by Greg Chun. Please email him with any questions.
Grade sections
- (2 points) Good grammar/spelling/language. You should use complete
sentences, proper spelling and grammar, and avoid colloquial language and
slang.
- (2 points) Well-structured document. It should be easy to find information
in the document.
- (2 points) Addresses the major design decisions (security, authentication,
privacy, database design, spell checking, concurrency).
- (2 points) Offers good solutions to the problems addressed, in a way that
is understandable and repeatable.
- (2 points) Technical correctness. Do not make statements that are
incorrect!
Canned comments
- Grammar and/or spelling mistakes
- Incorrect technical statements
- Did not discuss all the required topics
- Need to discuss topics in more depth
- Poor quality layout
- Did not discuss design decisions
- Writing in chronological, rather than logical, style
- Lack of objectivity
General comments
- One of the most common mistakes people made was failing to proofread their
work. Many projects lost points for grammar/spelling mistakes. Be sure to
have each team member go over the report before turning it in to look for good
sentence structure, information flow, and basic grammar and spelling.
- Some reports also lost points for being excessively informal. That is to
say they were written as if someone were just talking freely, in a
conversational style. Keep in mind that in the real world, customers and
business associates are going to be expecting a certain degree of formality
when it comes to software documentation. While there is nothing wrong with the
occasional moment of levity, documentation should generally err on being more
succinct than anecdotal.
- Many reports also failed to discuss all the required topics, specifically
the spell checker and what issues are involved when many authors are using the
spell checking server simultaneously. Discussion of this topic was stated as a
requirement directly in the assignment text. Other reports did address all
issues, but sometimes failed to state anything outside the fairly obvious.
Still others seemed to have comments about one issue under the heading of
another. This was an organizational problem.
Prepared by Greg Hamerly 11/11/2002