Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
h1.  Homework 1

...

 

*Due:*  11:00am, Wed Jan

...

100 points

For this assignment, set the DrScheme Language to Beginning Student with List Abbreviations (under How to Design Programs). Your assignment is correct only if you use the correct language level.

  • Read Recipe Guidelines for "Chapter 2 onwards". Correctness of your code is assumed. Most of the grade is on following the recipe.

...

 20, 2010

*100 points*

For this assignment, set the DrScheme Language to {{Beginning Student with List Abbreviations}} (under {{How to Design Programs}}).  Your assignment will be graded using the specified language level.  If you use a different language level, your code may not work when it is graded.

 * *Carefully follow the {Sample Solution to a Programming Problem|https://wiki.rice.edu/confluence/display/cswiki/211Guidelines}*. Less than half of the credit for the assignment is based on the the correctness of your code as
determined by our test cases.  Most of the grade is based on how well you follow the _design recipe_.

 * Book problems: 8.3.1, 8.3.2, 9.3.3, 9.5.2, 9.5.7, 10.1.5, 10.1.7

...



 * NB: Be sure to do all the assigned parts of each problem. In the book, each problem ends with a block icon. Online, each problem ends with a hand icon.

...



 * Read chapter 8 very carefully before doing the problems from that chapter.  This

...

 chapter is _not_ padded with lots of wordy examples. In writing hand evaluations for problems 8.3.1 and 8.3.2, follow the same format as the examples in Section 8.3, which is shown in more detail in the hand-evaluation examples posted on the course wiki.

...

  • In writing programs, follow the recipe carefully and in the correct order. This means, write down the purpose, contract, develop examples (hand in 5), write the actual function, and include illustrative test cases for the function (using at least the examples you developed ahead of time). The examples should illustrate the output you expect, and the test cases should produce the actual output (they should not be commented). Add notes at the end of each problem to indicate wether the examples actually helped you in catching bugs.

...



 * To follow the design recipe, you must write down the _purpose_, _contract_, at least 5 well-chosen examples, write the code for the function, and include illustrative test cases for the function (using at least the examples you developed ahead of time). (Note: you can bundle the examples and test cases together as a block of {{check-expect}} invocations.) Your chosen examples should illustrate the output you expect, and the test cases should produce the actual output (they should not be commented).  If the function processes an inductive type, make sure that your examples include the base case(s) and sample inductive cases.

Submit your homework using the [Comp 211 Owlspace page|https://owlspace-ccm.rice.edu/portal/site/COMP-211-001-Sp10]].