grading criteria for Problem Set 6

From: Assaf Kfoury (kfoury@cs.bu.edu)
Date: Thu Nov 02 2006 - 16:12:15 EST


Return-Path: <kfoury@cs.bu.edu>
X-Spam-HitLevel: 
X-Spam-DCC: sonic.net: cs3.bu.edu 1117; Body=1 Fuz1=1 Fuz2=1
X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on cs3.bu.edu
X-Spam-Level: 
X-Spam-Status: No, score=-4.4 required=10.0 tests=ALL_TRUSTED,AWL,BAYES_00  autolearn=ham version=3.1.0
X-Spam-Pyzor: 
Received: from [76.19.13.75] ([76.19.13.75]) (authenticated bits=0) by cs3.bu.edu (8.13.6/8.13.6) with ESMTP id kA2LBb9Q028537 for <cs520@cs.bu.edu>; Thu, 2 Nov 2006 16:11:47 -0500
Message-ID: <454A5F2F.2080108@cs.bu.edu>
Date: Thu, 02 Nov 2006 16:12:15 -0500
From: Assaf Kfoury <kfoury@cs.bu.edu>
User-Agent: Mozilla Thunderbird 1.0.7 (X11/20051013)
X-Accept-Language: en-us, en
To: cs520@cs.bu.edu
Subject: grading criteria for Problem Set 6
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Clamav-Status: No
Status: RO
Content-Length: 1114
X-UID: 40
X-Keywords:                                                                                                    

Comments for Problem Set 6:

(A) There are solutions for the first 3 problems at the end of [Pierce].
Outline of a solution for the 4th problem is at:

http://www.cs.bu.edu/faculty/kfoury/CVS-Working-Files/CS520-Fall06/solution-pset06-problem4.txt

(B) Grading criteria:

 1--3. 5 points each, and you can earn up to 5 bonus points overall for
being original in your answer.

 4. 15 points. You get 5 points for attempting something reasonable,
another 5 if you implement a good idea, and finally 5 if the code works
correctly.

    Good ideas are:

    - Argue that it makes no difference to the user if Table has duplicate
bindings, since earlier entries are shadowed. Then, you can either refer
to the original extendTable as your solution or use fooTable to remove an
entry and bind it anew.

    - Modify table to have type Nat -> ref [OptionalNat], so you can
modify a binding if it exists. Note, however, that you cannot create a new
binding by setting a ref <none> to <some = v>.

    - Rewrite the table, so it is now List [Nat * Nat], and you can walk
inside the table to update a binding if it exists.



This archive was generated by hypermail 2b29 : Thu Dec 14 2006 - 16:31:59 EST