Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • convertToIf (10%)
  • normalize (20%)
  • eval (20%)
  • convertToBool (10%)
  • reduce (40%)

Your For each of these functions, you will be graded as described in ... including

  • the behavior of the functions (via unit testing using our correctness tests) and
  • the quality of your code (including tests) and your documentation (informal type definitions, templates and template instantiations, type contracts, behavioral contracts)

on how well you follow the design recipe in writing each of these five functions. You can assume that the definitions of (list-of ..) types are already given. You are expected to thoroughly test each function. A significant fraction of the grade for reduce will be determined by how well the function scales to large inputs (performance as well as correct behavior).