CSC 160 Fall 2012 - Homework 10
Assigned Nov 26, due Mon Dec 3

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 HW5, 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 each pane (Definitions and Interactions).
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/26
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. You may do this on your own or in pairs (using the ideas in the Pair Programming article):
  • 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):
  • Study Chapter 13 & Sections 15.1-15.3 for Wednesday's quiz!
  • Read Sections 15.4-15.10 of the textbook.


    Assigned W 11/28
    Textbook Reading (to review today's class):
  • Read Sections 15.4-15.6 of the textbook.
  • Do CW7 as a take-home lab.

    Do the following exercise in DrRacket on your own or in pairs (using the ideas in the Pair Programming article):
  • Exercise 15.5.1 from the textbook

    Textbook Reading (to prepare for next class):
  • Read Sections 15.7-15.10 & Chapter 19 of the textbook.


    Submitting your Assignment
    Please submit this assignment in a single Definitions Pane and a single Interactions Pane through Moodle. Points will be deducted for completing the assignment with multiple Definitions and/or Interactions Panes.

    Be sure to include your first and last name as a comment in the first line of both your Definitions Pane and Interactions Pane.

    The file name for the Definitions Pane needs to be "hw9[LastName]Def.rkt" where:
  • [LastName] is replaced with your last name.
  • For example, if I were submitting this assignment, I would name the file "hw9WittensteinDef.rkt".

    Similarly, the file name for the Interactions Pane needs to be "hw9[LastName]Int.rkt".

    If these filenames are not used, points will be deducted from the assignment grade.


    GRADING
    Question Point Value
    15.3.1 30
    Contract 2
    Purpose 2
    Data Analysis 5
    Examples 5
    Skeleton 2
    Inventory 2
    Add details 2
    Function 8
    Interactions Pane 2
    15.3.2 10
    15.3.6 30
    Contract 2
    Purpose 2
    Data Analysis 5
    Examples 5
    Skeleton 2
    Inventory 2
    Add details 2
    Function 8
    Interactions Pane 2
    15.5.1 30
    Contract 2
    Purpose 2
    Data Analysis 5
    Examples 5
    Skeleton 2
    Inventory 2
    Add details 2
    Function 8
    Interactions Pane 2
    HtDP 5.1.5 +20
    Total 100 + 20




    Last Modified: 11/28/12