++ | Waaaaaaaay beyond my expectations! Not only is your solution correct, efficient, elegant, polished and well documented, you also extended your work considerably beyond what was required. |

+ | Waaaaaaaay beyond my expectations! Not only is your solution correct, efficient, elegant, polished and well documented, you also extended your work considerably beyond what was required. |

✔+ | Perfect. Meets all the requirements with no mistakes. (A) |

✔ | Good work. Meets all the requirements. Some minor mistakes or omissions or inadequate commenting, but it is clear that you know what you are doing. (A-/B+) |

✔- | Solid work. You are definitely on the right track. But there is at least one more serious problem in your solution. Make sure you review this assignment and understand what the problem is. You may want to come see me to discuss your solution. (B/B-) |

- | Several major problems. Please come to see me so that we can discuss where you went wrong and make sure that you are not missing any fundamental concepts. (C+/C) |

-- | Not much effort seems to have gone into this solution. For example, the program doesn't run because of syntax errors. Or this work does not even resemble a correct solution. (C-/D) |

0 | Not seriously attempted. |