CIS 705 E-mail Archive


From: Alley Stoughton <stough@k-state.edu>
Date: Tue, 12 Jan 2010 11:09:52 -0600
Subject: [705] welcome to CIS 705!  

You've received this email because you are currently enrolled in
CIS 705, Programming Languages.

Information about the course, including textbooks and the course
syllabus, can be found at

  http://people.cis.ksu.edu/~stough/705/

In particular, please note that there is reading that you should do
*before* our first meeting, which is on Thursday at 2:30 in Nichols
122.

See you on Thursday!

Alley Stoughton

From: Alley Stoughton <Alley.Stoughton@gmail.com>
Date: Wed, 13 Jan 2010 14:37:38 -0600
Subject: [705] welcome to CIS 705 / reading assignment

For those of you who enrolled in CIS 705, Programming Languages, since
I sent my previous message, welcome to the course.

Information about the course, including textbooks and the course
syllabus, can be found at

  http://people.cis.ksu.edu/~stough/705/

In particular, please note that there is reading that you should do
*before* our first meeting, which is on Thursday at 2:30 in Nichols
122.

See you on Thursday!

Alley Stoughton

From: Alley Stoughton <Alley.Stoughton@gmail.com>
Date: Tue, 2 Feb 2010 10:18:38 -0600
Subject: [705] Assignment 1 now online 

Assignment 1 is now on the webpage, and we'll talk about it in class
today.  It's due on Thursday of next week.

For those who are trying out LaTeX for typesetting assignments, the
source for the assignment can be found in ~stough/705/latex on
the CIS Linux system.

If you spot any problems with the assignment, please point them out to
me.  Depending upon what you find, you may earn extra credit.

Alley

From: Alley Stoughton <Alley.Stoughton@gmail.com>
Date: Tue, 16 Feb 2010 00:29:15 -0600
Subject: [705] model answers to Assignment 1 online / glitch in Assignment 1 

My model answers to Assignment 1 are now online, and I'll talk briefly
about them in class today.

When writing out the model answers, I caught a glitch in Assignment 1:
in the rules (CE-IfTrue), (CE-IfFalse) and (CE-OtherwiseError), the
occurrences of the variable "v" (ranging over values) should instead
be "a" (ranging over answers).  Indeed, Exercise 3 can't be proved
without this change.  I've posted the corrected version of the
assignment, but retained the original version.

I'll talk about this glitch in class today.  If anyone noted the
problem in their Assignment 1 solution, I'll give extra credit for
this.

You should study the model answers carefully.  And if you find any
errors in them, you may earn extra credit.

Alley

From: Alley Stoughton <Alley.Stoughton@gmail.com>
Date: Tue, 16 Feb 2010 13:37:53 -0600
Subject: [705] Assignment 2 online 

Assignment 2 is now online, and we'll talk about it in class today
(Tuesday).  It's due on Thursday of next week.

Alley

From: Alley Stoughton <Alley.Stoughton@gmail.com>
Date: Tue, 16 Feb 2010 19:06:42 -0600
Subject: [705] change to Assignment 2 

After class today, I made a few small changes to Assignment 2, so
if you have already printed it out, please print it again.

(1) In edits.ml, in addition to

  val doEdits : 'a edit list * 'a list -> 'a list

there is also

  val doEdit  : 'a edit * 'a list -> 'a list

which runs a single edit.

(2) Instead of talking of a "minimal edit taking xs to ys", it now
  talks of a "minimal edit-list taking xs to ys", as this seems
  clearer.

(3) I added this explanatory note:

  Your program should assume that edits.ml has already been loaded
  into OCaml, and it must *not* redefine the datatype, exception or
  functions of edits.ml.  Your program may make use of anything
  defined by edits.ml.

Alley

From: Alley Stoughton <Alley.Stoughton@gmail.com>
Date: Tue, 23 Feb 2010 12:04:39 -0600
Subject: [705] grading of Assignment 1 

I've finished grading Assignment 1, and posted the grades on K-State
Online.  I'll hand the graded assignments back in class today.

If you have questions about how I assessed your work, please come see
me.

The overall grade for the assignment should be interpreted using our
standard 100-point scale:

  points: 100  (Overall)

  | A+  | A   | A-  | B+  | B   | B-  | C+  | C   | C-  | D+  | D   | D-  | F  
  | 100 |  92 |  84 |  76 |  68 |  60 |  52 |  44 |  36 |  28 |  20 |  12 |   0

The individual exercises were graded using the following scales, obtained
from the 100-point one:

  points: 25   (Exercises 1 and 2)

  | A+  | A   | A-  | B+  | B   | B-  | C+  | C   | C-  | D+  | D   | D-  | F  
  |  25 |  23 |  21 |  19 |  17 |  15 |  13 |  11 |   9 |   7 |   5 |   3 |   0

  points: 50   (Exercise 3)

  | A+  | A   | A-  | B+  | B   | B-  | C+  | C   | C-  | D+  | D   | D-  | F  
  |  50 |  46 |  42 |  38 |  34 |  30 |  26 |  22 |  18 |  14 |  10 |   6 |   0

Alley

From: Alley Stoughton <Alley.Stoughton@gmail.com>
Date: Wed, 24 Feb 2010 16:58:05 -0600
Subject: [705] power outage --> deadline extension

We all just received a reminder about a power outage tonight:

 > This is a quick reminder that all power to Nichols Hall will be shut 
 > down at midnight tonight.  As a result, we will be shutting down all 
 > servers for the duration of the outage.  We plan to have everything back 
 > up around 6AM tomorrow and will send another email when the servers are 
 > back online.
 > 
 > We apologize for any inconvenience this may cause, but this is planned 
 > by the University as part of an ongoing project to upgrade power lines 
 > across the entire campus.

I remember receiving notification about this previously, but I'd
forgotten all about it, as I expect some of you have done.

Because some of you may have been planning to work on CIS lab
computers in the period of the power outage, I'm going to move the
deadline for Assignment 2 until 2:30 p.m. on Friday (with the deadline
for late work being 2:30 p.m. on Saturday).

Of course, if you want to submit your work earlier than that, you
can certainly do so.

Alley

From: Alley Stoughton <Alley.Stoughton@gmail.com>
Date: Thu, 25 Feb 2010 10:19:45 -0600
Subject: [705] use of compare in Assignment 2 

As I've said multiple times, you can use compare (or <, =, >) to
put your list of minimal edit-lists in strictly ascending order.
This is a perfectly fine approach.

On the other hand, when I talked with some of you on Tuesday, I said
too strongly that writing your program so that your list of edit-lists
is automatically in strictly ascending order was too "low-level".

Indeed, with a search tree approach, it's relative easy to generate
the answers in-order.

The order for 'a edits is derived from the order of the constructors,
and then from their data.

The order for pairs is lexicographic -- first the left sides are
compared; only if they are equal are the right sides compared.

The order for lists is also lexicographic: if the first list is
a proper prefix of the second, then the answer is -1; otherwise,
the first point of difference between the first and second lists
is used.

So, to summarize, you can either use compare explicitly, or you can
simply generate your edit-lists in order.  Either way is perfectly fine
in terms of grading.

Alley

From: Alley Stoughton <Alley.Stoughton@gmail.com>
Date: Fri, 26 Feb 2010 15:17:11 -0600
Subject: [705] Assignment 2 : late-work / testing harness 

On the website, you'll now find a testing harness for Assignment 2:
minimal-edits-test.ml.  It's also in the 705 directory.

It looks like only a very few students wrote solutions to Assignment 2
that come close to being correct.

Consequently, I'm only going to apply a 10% penalty to late
submissions, and I'm going to accept late submissions until 2:30
p.m. on Monday, March 1, at which point I'll post my model answer.

Alley

From: Alley Stoughton <Alley.Stoughton@gmail.com>
Date: Mon, 1 Mar 2010 15:57:10 -0600
Subject: [705] model answer to Assignment 2 

I've put my model answer to Assignment 2 online.

You should study it thoroughly -- not least because Assignment 3
(soon to be posted) will be based on it.  If you find even small
errors in it, you may earn extra credit.

Alley

From: Alley Stoughton <Alley.Stoughton@gmail.com>
Date: Mon, 1 Mar 2010 22:15:42 -0600
Subject: [705] Assignment 3 online / no class on Thursday, March 11

Assignment 3 is now online.  We'll talk about it in class tomorrow
(Tuesday).

There will be no class on Thursday, March 11, when I'll be in San
Francisco.  See the text of Assignment 3 for the procedure for
submitting Assignment 3 (due March 16) by email, because I'll still be
away when it's due.

Alley

From: Alley Stoughton <Alley.Stoughton@gmail.com>
Date: Tue, 2 Mar 2010 17:07:06 -0600
Subject: [705] addition to minimal-edits.ml 

As I mentioned in class today, earlier today I added a line to
the end of the FUNDAMENTAL LEMMA FOR ANNOTATED LISTS.  So if you
had already taken a copy of minimal-edits.ml, you should do so
again, or compare your copy with the one on the web.

Alley

From: Alley Stoughton <Alley.Stoughton@gmail.com>
Date: Wed, 3 Mar 2010 00:19:34 -0600
Subject: [705] simplification to minimal-edits.ml 

This evening, I realized that this lemma holds:

  (* ADDITIONS LEMMA:

     for all xs, ys : 'a list and edits : 'a edit list, if
     annotListToList(doEditsAnnot(edits, listToAnnotList xs)) = ys,
     then submultiset(additionsEdits edits, listToMultiset ys)

     this is since, with doEditsAnnot, once something is inserted
     or appended, it can't be deleted *)

Consequently, the following simplification is possible:

  (* FUNDAMENTAL LEMMA FOR ANNOTATED LISTS:

     for all xs : 'a list, ys : 'a list, edits : 'a edit list,
     if doEdits(edits, xs) = ys but
     doEditsAnnot(edits, listToAnnotList xs) raises Error,
     then there is an edits' : 'a edit list such that

       List.length edits' < List.length edits &&
       annotListToList(doEditsAnnot(edits', listToAnnotList xs)) = ys *)

I've made these changes in minimal-edits.ml, as they make Assignment 2
easier, but if you want to work with the previous version, you can.

Alley

From: Alley Stoughton <Alley.Stoughton@gmail.com>
Date: Wed, 3 Mar 2010 19:42:53 -0600
Subject: [705] new lemmas in minimal-edits.ml

So as to make your work on Assignment 3 easier, I've added two
lemmas to minimal-edits.ml.  The lemmas are now:

  NEW LEMMA
  ADDITIONS LEMMA
  FUNDAMENTAL LEMMA FOR ANNOTATED LISTS
  VALID CHOICE LEMMA 0
  VALID CHOICE LEMMA 1
  VALID CHOICE LEMMA 2

The only one that you have to prove is FUNDAMENTAL LEMMA FOR ANNOTATED
LISTS (Exercise 1).  You can use the others in your proofs.

We'll have a chance to talk more about Assignment 3 in class tomorrow
(Tuesday).  Please bring questions.

Alley

From: Alley Stoughton <Alley.Stoughton@gmail.com>
Date: Sun, 7 Mar 2010 10:30:03 -0600
Subject: [705] helpful facts about doEdits and doEditsAnnot 

When working on Assignment 3, you can use without proof these facts
about doEdits and doEditsAnnot:

  doEdits(edits1 @ edits2, xs) = doEdits(edits2, doEdits(edits1, xs))

  doEditsAnnot(edits1 @ edits2, xs) =
  doEditsAnnot(edits2, doEditsAnnot(edits1, xs))

Both are proved by induction on edits1.  E.g., for the first fact, we
let edits2 : 'a edit list, and use P(edits1) = for all xs : 'a list,

  doEdits(edits1 @ edits2, xs) = doEdits(edits2, doEdits(edits1, xs))

(It doesn't work to pick xs : 'a list outside of P's definition.)

From: Alley Stoughton <Alley.Stoughton@gmail.com>
Date: Sun, 7 Mar 2010 14:01:47 -0600
Subject: [705] types of unionMultiset and intersectMultiset

As Shruti noticed, the types of unionMultiset and intersectMultiset
in minimal-edits.ml had typos; they should be:

  val unionMultiset     : 'a multiset * 'a multiset -> 'a multiset
  val intersectMultiset : 'a multiset * 'a multiset -> 'a multiset

And I've made this change online.

Alley

From: Alley Stoughton <Alley.Stoughton@gmail.com>
Date: Tue, 9 Mar 2010 01:15:59 -0600
Subject: [705] grading of Assignment 2

I've emailed out reports on the Assignment 2 submissions, and posted the
grades on K-State Online.  If you have questions about how I assessed
your work, please get in touch.

The grades should be interpreted using our standard 100-point scale:

  points: 100

  | A+  | A   | A-  | B+  | B   | B-  | C+  | C   | C-  | D+  | D   | D-  | F  
  | 100 |  92 |  84 |  76 |  68 |  60 |  52 |  44 |  36 |  28 |  20 |  12 |   0

Alley

From: Alley Stoughton <Alley.Stoughton@gmail.com>
Date: Tue, 9 Mar 2010 16:48:56 -0600
Subject: [705] deadline extension for Assignment 3 / thinking about Exercise 1

As we discussed in class today, I've agreed to extend the deadline for
Assignment 3 to Thursday of next week, i.e., March 18, at 2:30 p.m.
Late work (25% penalty) will be accepted up to Friday, March 19, at
2:30 p.m.  Remember that you'll be submitting your work by email.

I had a discussion with a student after class today regarding Exercise
1 of Assignment 3, the Fundamental Lemma for Annotated Lists.  As I
explained to him, here's a way of understanding whether your proof of
this is sufficient: it should be possible to turn your proof into an
OCaml program that transforms the edits that work with the original
rules but not the annotated rules to a shorter edits' that works with
the annotated rules (and thus also with the original rules).  Of
course, I'm not asking you to write this program, but it should be
*possible* to turn your proof into it.  So if your "proof" isn't at a
level of detail that makes turning it into a program possible, then
you should make it more explicit, if you want to obtain full credit
for this exercise.  (When turning a proof into a program, induction
gets turned into recursion, and case analysis to matching or
if-then-elses.  Auxiliary lemmas get turned into auxiliary functions.)

Alley

From: Alley Stoughton <Alley.Stoughton@gmail.com>
Date: Wed, 17 Mar 2010 16:56:46 -0700
Subject: [705] odd name in doEdit and doEditAnnot 

Nisha just pointed out that in

  let doEditAnnot(edit, xs) =
        match edit with
              Transpose n  -> transposeAnnot n xs
            | Insert(n, z) -> insertAnnot (n, z) xs
            | Append n     -> appendAnnot n xs
            | Delete n     -> deleteAnnot n xs

and

  let doEdit(edit, xs) =
        match edit with
              Transpose n  -> transpose n xs
            | Insert(n, z) -> insert (n, z) xs
            | Append n     -> append n xs
            | Delete n     -> delete n xs

the use of "n" as the bound variable for the Append constructor is odd,
as I'm using n for integers, and the argument to Append has type 'a.

It's a bound variable -- and so as long as the name is used consistently,
it doesn't matter what it's called, in terms of meaning.

But in terms of style, it would be better for it to be "y", and I've
made those two edits online, for the record.

I've had some good questions about Assignment 3, but have been
somewhat surprised that few of you have asked questions so far, given
that it's due tomorrow (Thursday) at 2:30.

Best,

Alley

From: Alley Stoughton <Alley.Stoughton@gmail.com>
Date: Sun, 21 Mar 2010 22:38:17 -0500
Subject: [705] Assignment 4 now online 

Assignment 4 is now online.  We may begin talking about it at the end
of class on Tuesday.

Alley

From: Alley Stoughton <Alley.Stoughton@gmail.com>
Date: Sun, 28 Mar 2010 11:44:49 -0500
Subject: [705] invoking linux programs/scripts in the current directory

When responding to a student's query, I remembered that on the CIS
Linux system, the current directory isn't included in the search
path by default.

Thus, instead of typing

  f-linux plus-test.f

(which is what I typed in class, because I've changed my search
path to include the current directory), you would
have to type

  ./f-linux plus-test.f

(which is what I wrote in the README.txt for the untyped directory).

Similarly, you would need to type

  ./fib-test fib-untyped.txt 3

or

  ./sum-range-test sum-range-untyped.txt 1 3

Alternatively, you can type

  ~stough/705/untyped/f-linux ...

or

  ~stough/705/fib/fib-test ...

or

  ~stough/705/sum-range-test ...

Alley

From: Alley Stoughton <Alley.Stoughton@gmail.com>
Date: Mon, 29 Mar 2010 22:35:54 -0500
Subject: [705] model answers to Assignment 3 

My model answers to Assignment 3 are now online.  As always, you
are responsible for studying them, and if you find even small errors,
you may earn extra credit.

In case you are wondering, I was surprised that they ended up being as
long as they are.  Somehow when I expanded my proof sketches out to
full proofs, they took more space than I anticipated.  But I hope
you'll agree that the results are easy to read and check.

Now, on to grading Assignment 3...

Alley

From: Alley Stoughton <Alley.Stoughton@gmail.com>
Date: Mon, 5 Apr 2010 18:01:52 -0500
Subject: [705] graded Assignment 3's 

I've finished grading Assignment 3, posted the grades on K-State Online,
and will hand them back in class tomorrow (Tuesday).

As usual, if you have questions about how I've assessed your work, please
come see me.

The individual exercises were graded using the scales:

  points: 40  (Exercise 1)

  | A+  | A   | A-  | B+  | B   | B-  | C+  | C   | C-  | D+  | D   | D-  | F  
  |  40 |  37 |  34 |  30 |  27 |  24 |  21 |  18 |  14 |  11 |   8 |   5 |   0

  points: 40  (Exercise 2)

  | A+  | A   | A-  | B+  | B   | B-  | C+  | C   | C-  | D+  | D   | D-  | F  
  |  40 |  37 |  34 |  30 |  27 |  24 |  21 |  18 |  14 |  11 |   8 |   5 |   0

  points: 20  (Exercise 3)

  | A+  | A   | A-  | B+  | B   | B-  | C+  | C   | C-  | D+  | D   | D-  | F  
  |  20 |  18 |  17 |  15 |  14 |  12 |  10 |   9 |   7 |   6 |   4 |   2 |   0

And the overall scores should be interpreted using our standard 100-point scale:

  points: 100

  | A+  | A   | A-  | B+  | B   | B-  | C+  | C   | C-  | D+  | D   | D-  | F  
  | 100 |  92 |  84 |  76 |  68 |  60 |  52 |  44 |  36 |  28 |  20 |  12 |   0

Alley

From: Alley Stoughton <Alley.Stoughton@gmail.com>
Date: Wed, 7 Apr 2010 13:16:40 -0500
Subject: [705] Assignment 5 online 

Assignment 5 is now online, and we'll talk about it in class on
Thursday (tomorrow).  If you spot any glitches in it, please let me
know---and you may earn extra credit.

Alley

From: Alley Stoughton <Alley.Stoughton@gmail.com>
Date: Mon, 12 Apr 2010 17:11:32 -0500
Subject: [705] model answers to Assignment 4 / discussion of Assignment 5

I've put my model answers to Assignment 4 online.  As always, you're
responsible for reading them carefully.  And any bugs you find may
earn you extra credit.

In class tomorrow (Tuesday), I'll answer more questions about
Assignment 5.  (I spent about 25 minutes in class last Thursday
talking about it, so at this point, I'm mostly going to answer
questions.)

Alley

From: Alley Stoughton <Alley.Stoughton@gmail.com>
Date: Mon, 19 Apr 2010 23:09:39 -0500
Subject: [705] grading of Assignment 4 

I've finished grading Assignment 4, posted the grades on K-State Online,
and will hand the graded assignments back in class tomorrow (Tuesday).

As always, if you have questions about how I've assessed your work, please
come see me.

--

A common problem that I noticed when doing the grading was the
assumption that the results of numeric computations will *be* Church
numerals, c_n.  Actually, they will typically *only* be closed values
representing the right natural numbers.

E.g., if we run

  plus one zero

we get

  (lambda s.
     lambda z.
       (lambda s'. lambda z'. s' z') s
       ((lambda s'. lambda z'.z') s z))

*not*

  c_1 = lambda s. lambda z. s z

For this reason,

  pred (lambda s. lambda z. s(s z))

also evaluates to

  (lambda s.
     lambda z.
       (lambda s'. lambda z'. s' z') s
       ((lambda s'. lambda z'.z') s z))

This is the reason that I introduced the concept of values
representing numbers in the first place, and why plus's specification
(and proof) is in terms of this concept (and why sumRange's spec is
also in terms of representation).

--

The exercises were graded using the scales:

  points: 40   (Exercise 1)

  | A+  | A   | A-  | B+  | B   | B-  | C+  | C   | C-  | D+  | D   | D-  | F  
  |  40 |  37 |  34 |  30 |  27 |  24 |  21 |  18 |  14 |  11 |   8 |   5 |   0

  points: 60   (Exercise 2)

  | A+  | A   | A-  | B+  | B   | B-  | C+  | C   | C-  | D+  | D   | D-  | F  
  |  60 |  55 |  50 |  46 |  41 |  36 |  31 |  26 |  22 |  17 |  12 |   7 |   0

And the overall grades should be interpreted using our standard 100-point
scale:

  points: 100  (Overall)

  | A+  | A   | A-  | B+  | B   | B-  | C+  | C   | C-  | D+  | D   | D-  | F  
  | 100 |  92 |  84 |  76 |  68 |  60 |  52 |  44 |  36 |  28 |  20 |  12 |   0

Alley

From: Alley Stoughton <Alley.Stoughton@gmail.com>
Date: Thu, 22 Apr 2010 13:37:55 -0500
Subject: [705] Assignment 6 online 

Assignment 6 is now online.  As promised, we'll talk about it in class
today.  And, as always, if you spot even small problems with it, you
may earn extra credit.

Alley

From: Alley Stoughton <Alley.Stoughton@gmail.com>
Date: Thu, 22 Apr 2010 22:41:51 -0500
Subject: [705] correction to Assignment 6 

When I was sketching the proofs for Assignment 6 this evening, I
realized that there was a glitch in how the elaboration function was
defined on ascriptions, having to do with the choice of the variable
x:

  e(t as T) =
  (lambda x : Bool -> T. x true) (lambda x : Bool. e(t)), where
    x is the least variable not in FV(e(t))

(The first person to tell me what the problem with this translation is
will earn extra credit.)

Instead, I've changed the assignment to do the translation like this:

  e(t as T) =
  (lambda x : Bool -> T. x true) (lambda - : Bool. e(t)), where
    x is the least variable

This uses a new kind of abstraction: the wildcard abstraction, which
I've added to the terms and values, and given FV, substitution,
evaluation and typing rules -- see the new version of the assignment,
which is now on the website.

The idea of a wildcard abstraction is just as in OCaml:

  (lambda - : T. t)v -> t

The value v is thrown away, because of wildcard.

I'm sorry I didn't catch this problem before posting the assignment
earlier today.

Alley

From: Alley Stoughton <Alley.Stoughton@gmail.com>
Date: Tue, 27 Apr 2010 00:15:21 -0500
Subject: [705] model answers to Assignment 5 

My model answers to Assignment 5 are now online.  You are responsible
for reading them carefully.  As always, if you find even small errors,
you may earn extra credit.

Alley

From: Alley Stoughton <Alley.Stoughton@gmail.com>
Date: Tue, 27 Apr 2010 13:13:10 -0500
Subject: [705] final examination 

I've put information online about the final examination, and on
Thursday in class we'll talk about what you should expect on the final
exam.

Alley

From: Alley Stoughton <Alley.Stoughton@gmail.com>
Date: Mon, 3 May 2010 15:44:23 -0500
Subject: [705] grading of Assignment 5 

I've finished grading Assignment 5, have posted the grades on K-State Online,
and will hand the assignments back in class tomorrow (Tuesday).

As always, if you have questions about how I've assessed your work,
please come see me.

The grades for the individual exercises should be interpreted using the
scales:

  points: 10  (Exercise 1)

  | A+  | A   | A-  | B+  | B   | B-  | C+  | C   | C-  | D+  | D   | D-  | F  
  |  10 |   9 |   8 |   8 |   7 |   6 |   5 |   4 |   4 |   3 |   2 |   1 |   0

  points: 25  (Exercise 2)

  | A+  | A   | A-  | B+  | B   | B-  | C+  | C   | C-  | D+  | D   | D-  | F  
  |  25 |  23 |  21 |  19 |  17 |  15 |  13 |  11 |   9 |   7 |   5 |   3 |   0

  points: 15  (Exercise 3)

  | A+  | A   | A-  | B+  | B   | B-  | C+  | C   | C-  | D+  | D   | D-  | F  
  |  15 |  14 |  13 |  11 |  10 |   9 |   8 |   7 |   5 |   4 |   3 |   2 |   0

  points: 25  (Exercise 4)

  | A+  | A   | A-  | B+  | B   | B-  | C+  | C   | C-  | D+  | D   | D-  | F  
  |  25 |  23 |  21 |  19 |  17 |  15 |  13 |  11 |   9 |   7 |   5 |   3 |   0

  points: 25  (Exercise 5)

  | A+  | A   | A-  | B+  | B   | B-  | C+  | C   | C-  | D+  | D   | D-  | F  
  |  25 |  23 |  21 |  19 |  17 |  15 |  13 |  11 |   9 |   7 |   5 |   3 |   0

And the overall grades should be interpreted using our standard 100-point scale:

  points: 100

  | A+  | A   | A-  | B+  | B   | B-  | C+  | C   | C-  | D+  | D   | D-  | F  
  | 100 |  92 |  84 |  76 |  68 |  60 |  52 |  44 |  36 |  28 |  20 |  12 |   0

Alley
  

From: Alley Stoughton <Alley.Stoughton@gmail.com>
Date: Thu, 6 May 2010 13:59:10 -0500
Subject: [705] Assignment 6 grading / Extra Office Hours / Final Exam 

I will post my model answers to Assignment 6 tomorrow (Friday), just
after the 2:30 p.m. deadline for late work.

I'll have an extra office hour on Monday from 2:00-5:00 p.m.  You can
stop by then and pick up your graded Assignment 6, as well as ask any
questions you may have about the Final Exam or anything else.

Of course, the Final Exam is on Tuesday from 9:40-11:30 a.m.

I will provide the paper -- including scratch paper -- for the exam.
Just bring writing implements.

Alley

From: Alley Stoughton <Alley.Stoughton@gmail.com>
Date: Fri, 7 May 2010 15:05:05 -0500
Subject: [705] model answers to Assignment 6 online 

I've put my model answers to Assignment 6 online.

Alley

From: Alley Stoughton <Alley.Stoughton@gmail.com>
Date: Sun, 9 May 2010 20:11:24 -0500
Subject: [705] grading of Assignment 6 

I've finished grading Assignment 6, and posted the grades on K-State
Online.

As I mentioned in class and in a previous message, they'll be
available to be picked up from 2-5 p.m. in my office tomorrow
(Monday).  You can also stop by then to ask questions about the final
exam or anything else.

As usual, if you have questions about how I assessed your work on the
assignment, please see me.

The individual exercises were graded using the scales:

  points: 30  (Exercise 1)

  | A+  | A   | A-  | B+  | B   | B-  | C+  | C   | C-  | D+  | D   | D-  | F
  |  30 |  28 |  25 |  23 |  20 |  18 |  16 |  13 |  11 |   8 |   6 |   4 |   0

  points: 70  (Exercise 2)

  | A+  | A   | A-  | B+  | B   | B-  | C+  | C   | C-  | D+  | D   | D-  | F  
  |  70 |  64 |  59 |  53 |  48 |  42 |  36 |  31 |  25 |  20 |  14 |   8 |   0

And the overall grades should be interpreted using our standard 100 point
scale:

  points: 100

  | A+  | A   | A-  | B+  | B   | B-  | C+  | C   | C-  | D+  | D   | D-  | F  
  | 100 |  92 |  84 |  76 |  68 |  60 |  52 |  44 |  36 |  28 |  20 |  12 |   0

Alley

From: Alley Stoughton <Alley.Stoughton@gmail.com>
Date: Mon, 10 May 2010 15:39:44 -0500
Subject: [705] typos in Assignment 1 corrected 

Shruti just pointed out to me that in the proof of Lemma 3.5 of my
model answers to Assignment 1, I repeatedly wrote RTCE-Refl instead of
RTCE-Eval when justifying why a -> step could be turned into a ->*
step.  I've corrected those typos online.  And she's earned some
extra credit for finding them.

Alley

From: Alley Stoughton <Alley.Stoughton@gmail.com>
Date: Tue, 11 May 2010 11:48:01 -0500
Subject: [705] model answers to Final Exam 

I've put my model answers to the Final Exam online.  As always, if you
spot any problems with them, you may earn extra credit.

I'll let you know when I've posted the grades for the final on K-State
Online.

Alley

From: Alley Stoughton <Alley.Stoughton@gmail.com>
Date: Fri, 14 May 2010 13:52:53 -0500
Subject: [705] grades for final / final course grades 

I've finished grading the final exam, posted the grades on K-State
online, and copied the course grades to ISIS.

If you would like to make an appointment to talk over your final exam,
please send me an email.

Regards,

Alley

Alley Stoughton (Alley.Stoughton@gmail.com)