Massachusetts Institute of Technology
Dept. of Electrical Engineering and Computer Science
Spring Semester, 2007
6.188: Supplementary 6.001 course 6.081 students
Assignment for April 2

This assignment is due by 4 p.m. on Monday, April 2. For this week only, you may choose to omit the soft copy, but you do so, you will be marked late if you turn the hard copy in past 4 p.m.

  1. Complete PS4 on the online tutor.
  2. Download this project and this Scheme file.
    For this programming assignment, there is a lot of code to read over and a lot of explanatory text. To ensure that you have a good understanding of the project, for this week we want you to only read the project and answer some questions, but not do any actual coding. Please make sure to read it thoroughly; not doing so will make completing the coding portion more painful.
  3. Answer the following questions about the project (for this week only, you don't need to send a loadable file, since there is no code to test - but please send plain-text files only):
    1. Load the program and run through a sample interaction with the program - do NOT just copy the example on p.1 of the project, or make trivial substitions; you should really play around with different inputs and see what kind of interactions you get back. Show a transcript of this interaction.
    2. Consider the following interaction. How is the response produced? You don't need to be detailed to the point of tracing through the exact procedure calls with arguments, but you should mention which functions are called in what order, and what they do.
      ** (I think that sounds like fun)
      (i am glad to hear that you think that sounds like fun)
      
    3. How would you change conventional-wisdom so that:
      • whenever you mention anything about scheme, you get the response (Isn't scheme great?)
      • if you say (I want to drop 8:01), you get the response (Why, is 8:01 too much work?)
      In the latter case, we want this type of interaction to work for any class, not just 8:01. So you should also be able to produce
      **(I want to drop 3:091)
      (Why, is 3:091 too much work?)
      
      without adding a second entry to conventional-wisdom.
We have made arrangements so that you can use 6.001 lab hours and ask for help from their LAs. Please don't be afraid to ask for help if you get stuck! It's very easy when programming to waste a lot of time on a dead end, so we recommend doing your work in lab when LAs are around, if possible. Their lab hours are posted here. If you have 6.188-specific questions, send mail to 6.188-staff.