CS 61A
The Structure and Interpretation of Computer Programs
CS61A Summer 2005
MTWTh 11-12:30pm, 10 Evans

Kurt Meinz | Jeffrey Chiang | Sujay Karve | Oleg Mayba

Home | Schedule | Staff | Resources | Newsgroup | WebNews | WebGrades | Face2Face | Standards | Errata
Assignment Errata and Updates
Updated Assignment(s)
7/31/2005 HW 1-1 , HW 1-2 , Proj 1 , HW 3-2 , HW 5-2 , HW 6-1 , Proj 3
HW 1-1 Functional Programming
  • 2. The second test case should read (ends-vow '(absolutely nothing)).
HW 1-2Higher-Order Procedures
  • There are two Question 2s. Please consider the second occurence as Question 3.
  • 1. In the third test case, (permute '() 'lalala) should return the empty word ("") not the empty sentence. (By the way, the empty word is the identity value for word.
  • 2a. All references to sum-odds should be sum-evens, and (sum-evens 8 8) should return 8.
  • 3. ((triple 3+) 10) should return 19
  • Due to the July 4th holiday, Project 1 will be due Wednesday, July 6th, at 11:59pm.
HW 3-2Abstract Data
  • Question 1: You may return your answer in either polar or rectangular form. If you wish to do it in polar form, try not to mess too much with the original code. In fact, you should utilize question2 from the same homework when doing it.
HW 5-2Streams
  • Question 2: There should be an extra set of question marks:
    (define (stream-map proc . streams)
      ( ??
        (apply proc (map ?? streams))
        (apply stream-map ?? (map ?? streams)))))
HW 6-1MCE: Part 1
  • Make sure that you initialize the-global-environment before
    testing EVAL-DEFINITION.
    You can do this by:
      (set! the-global-environment (setup-environment))
    after having loaded mceval.scm.
    You can also achieve this by running (mce) and then exiting.
    Also, if you want to test q3, you need to do some fiddling
    if you used the hint.
    So, testing EVAL-DEFINITION will depend upon whether or not
    you have already stripped off the DEFINE tag when you get
    around to doing it.  So, plan accordingly.
HW 5-2Adventure Game
  • Instructions for turning in project:
    You will need to electronically submit the following files:
      adv.scm        (with all your changes)
      adv-world.scm  (with all your changes)
      testing.txt    (has all of your testing, including the ones specifically asked for by the project)
    You also need to turn in a paper copy to 283.  On the paper copy, please HIGHLIGHT all changes 
    you made so that we can easily find and grade your work.
    Do not forget to indicate who did which part (Partner A and Partner B).
  • A4.
    o The ENTER method already has the sender as an argument. So, all you have to do is modify the body of the ENTER method.
  • A6A.
    o When it says "Give person objects a money property", you should start a person out with 0 money. They will, however, have a bank-account with 100 in it.
    o The bank has two methods, MAKE-ACCOUNT and WITHDRAW.
    o You will need to write a BANK-ACCOUNT class.
    o How all this works is largely up to you. It makes more sense for the banks to manage the accounts, and not for someone to carry around their own account.
    o To make everyone start out with a bank account, you may instantiate a bank in your world and just have that bank give the accounts to everyone.
  • B5A.
    o Don't forget to create the jail
  • B6.
    o The reference to only being able to take stuff from someone if you have sufficient strength will be addressed in B7.
  • B7.
    o Don't forget to modify the TAKE method.
    o The following should be added: "The MAY-TAKE? method should compare the strength of the person with the strength of the requesting person to decide whether or not it can be taken. The method should return #F if the requester may not take the thing (because of lessor strength), or true otherwise"

CS61A, htttp://inst.eecs.berkeley.edu/~cs61a/su05, Webmaster: kurtm [at] cory.eecs.berkeley.edu