CSci 1301: Problem Set 7
Due: Wednesday, November 11 at 11:59pm by e-mail
As always, please include a contract, a purpose, examples, and tests for
each function.
Problem 1, written part (12 points)
Based on the project work that you did last week, please answer the
following questions. You may answer the questions one by one or in an
essay-like format (1-3 pages). I am looking for honest and thoughtful
answers to the
questions. Your answers will be graded on the quality of discussion,
not on the opinion expressed.
- How did you plan your entire project? Did it work as planned?
Would you approach it the same way if you have to do a similar project
again?
- How do you approach a task in a program? Did these approaches
change as your work on the project progressed? Describe a particular
task that you tried to accomplish (say, using an item from a menu or
drawing a picture). What functions did you decide to use, how did you
come up with this decision?
- Do you find testing helpful? How do you write your test examples?
Do you catch mistakes by testing your functions? Did you have an
experience when a function still had mistakes after testing? Have you
changed your testing strategy as the project progressed?
- Were there times when you had to change your code some time after
it's been written? If yes, how easy or difficult that was? Would you
write your code differently in order for it to be easily
modifiable?
- Do you write comments in your code? Do you find them helpful?
- What aspects of Scheme did you find easy to work with? What
aspects did you find difficult?
- What portion of the project work did you do with a group partner?
What is your mode of group work: do you assign tasks? do you switch
roles? What aspects of group work did you find helpful? What aspects
did you find problematic or challenging? Do you feel that group work
makes you learn more or less, compared to individual work? Your
submissions are confidential, your feedback will not be shared with
your partner(s).
- What are main things that you learned from doing the project?
- What would you like to change in the project setup?
- Feel free to add other comments related to the project work.
Problem 2 (6 points)
Exercise
17.6.1. Important: the two given lists are already sorted!
Think carefully of test cases. Specifically, consider the cases in
which at least one of the lists is empty or one of the lists is a
one-element list. Write down these test cases and expected values
before you write your function. These test cases graded.
Problem 3 (6 points)
Exercise
17.8.4. Hint: you need at least one helper function. You may
define it as "local" or at the top-level.
CSci 1301
course web site.