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%)
- 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
- 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.
- 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)