CSC 160 Fall 2013 - Homework 11 (100 points)
Assigned Nov 18 & 20, due Mon Nov 25
1) Assignments with time stamps during
class time (Mon or Wed 4:15-5:30pm) will be given a grade of
ZERO.
2) In the spirit of the pair
programming article that you read and summarized in HW6, this week's homework assignment may be done in
pairs. If you choose to work in pairs, you must find time outside of
class to work together in person at one computer. As per
the syllabus, you cannot "pair-off" with the same person more than
once during the semester. If you choose to do the
assignment in pairs, please submit one copy through
Moodle where both last names are used in each file
name and both names appear as a comment at the top
of the Definitions Pane.
3) Start this homework as soon as
possible so that you have time to get any help you may need
from the instructor or course tutor prior to when the assignment is due.
4) Do not start the exercises until to have fully read and fully
understood the corresponding textbook sections. If there is something you
do not fully understand, you
must contact the instructor or course tutor prior to
starting the assigned exercises.
Assigned M 11/18
Textbook Reading (to review today's class):
Read Sections 13.7-13.10 of the textbook.
Do the following textbook exercise in DrRacket:
Exercise 13.7.5: Show ALL Design Recipe steps including
Data Analysis and 5 well-chosen examples. For full credit, you must
call the may-drive? function we defined in class on November 11th (see the Chapter 13 PowerPoint slides on Moodle) in the function body to 13.7.5,
using the ideas of Chapter 11.
Textbook Reading (to prepare for next class):
Study Chapter 13 for Wednesday's quiz.
Read Sections 15.1-15.3 of the textbook.
Assigned W 11/20
Textbook Reading (to review today's class):
Read Sections 15.1-15.3 of the textbook.
Watch the following video.
Do the following textbook exercises in DrRacket, showing ALL Design Recipe steps:
Exercise 15.3.1
Exercise 15.3.2: Modify your solution to Exercise 15.3.1 to produce
the string "Out of stock!" if the input
isn't any of the known games (instead of the picture of a question
mark mentioned in the text). [Name this function
choose-picture-v2 so
that you do not comment out the function for 15.3.1. No need to redo the
whole Design Recipe, since you did it for 15.3.1. Just copy the examples,
change the function name to choose-picture-v2, and add a test
case or two for the condition you are adding. Make sure to fully test
choose-picture-v2?.]
Exercise 15.3.6
EXTRA CREDIT (20 points): Exercise
5.1.5 in How to Design Programs: First Edition. [Replace all
the symbols by strings in the exercise. Skip the last 3 lines
involving the master.ss teachpack.]
Textbook Reading (to prepare for next class):
Read Sections 15.4-15.6 of the textbook.
Submitting your Assignment
You are required to submit this assignment in a single Definitions Pane through Moodle. Points will be deducted for
completing the assignment with multiple Definitions Panes.
Be sure to include your first and last name as a comment in the first line
of your Definitions Pane.
The file name for the Definitions Pane needs to
be "hw11[LastName]Def.rkt" where:
[LastName] is replaced with your last name.
For example, if I were submitting this
assignment, I would name the file "hw11WittensteinDef.rkt".
If this filename is not used, points will be deducted from the
assignment grade.
| GRADING |
| Question | Point Value |
| 13.7.5 |
30 |
| Contract | 2 |
| Purpose | 1 |
| Data Analysis | 5 |
| Examples | 5 |
| Skeleton | 2 |
| Inventory | 2 |
| Function | 8 |
| Function Re-use | 5 |
| 15.3.1 |
30 |
| Contract | 2 |
| Purpose | 1 |
| Data Analysis | 5 |
| Examples | 5 |
| Skeleton | 2 |
| Inventory | 2 |
| Add details | 3 |
| Function | 10 |
| 15.3.2 |
10 |
| 15.3.6 |
30 |
| Contract | 2 |
| Purpose | 1 |
| Data Analysis | 5 |
| Examples | 5 |
| Skeleton | 2 |
| Inventory | 2 |
| Add details | 3 |
| Function | 10 |
Last Modified: 11/20/13