Back to TA Page

Mobius strip

Assignment 6

Chin's Assignment 6 webpage
Chin's Assignment 6 Q+A

Chin's solution: HTML version | Lisp version
My solution: HTML version | Prolog version

This assignment is out of 10 points. The following is how the grading breaks down.

Coding Practices (40%)

Documentation: 20%

  • author and (date or version or class+assignment)
  • description of program as a whole
  • description of each function/subroutine, including possible/required parameters and result returned (and any side effects)
  • brief comments on complicated lines/blocks code
  • in short, help others quickly find their way through your code

Formatting and good practices: 15%

  • use obvious/relevant names for variables
  • consistently indent blocks of code
  • keep lines short (less than 80 characters/screen width)
  • break up long chunks of code within a single subprogram into related sections by adding an extra line of white space between them (just like how you break up long passages of text into paragraphs)
  • break up your program into smaller, modular subroutines or functions when it makes sense to do so
  • in short, make your code itself easy to read

Usability: 5%

  • check spelling and formating of messages to the screen
  • make error messages informative
  • include adequate feedback to users of your program
  • catch errors whenever possible and fail gracefully
  • in short, make your program easy to use (as long as it doesn't conflict with assignment specifications)

Assignment Requirements (60%)

assign_tasks functor: 10%

  • Base case: no tasks left to assign
  • Call to assign_a_task with proper capable doers and task list.

assign_a_task functor: 15%

  • Base case: no capable doers left (either no fuctor or one that properly fails.)
  • Call to assign_tasks with properly updated times.
  • Prepend current assigned task to list of assignments.
  • Call to assign_a_task with one less doer.

Solutions are correct: 20%

  • Returned solutions are in correct format and order.

Miscellaneous: 5%

  • My gestalt impression: odds and ends, little bonuses and minor omissions, rewards for good clear code, minor penalties for major convolutions, other things that don't clearly fit in the above but still make a difference. (If you're missing a few, undocumented .1's, they probably came from here. Default value: 0.4)