From:Alley Stoughton <stough@k-state.edu>Date:Tue, 12 Jan 2010 11:09:52 -0600Subject:[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 -0600Subject:[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 -0600Subject:[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 -0600Subject:[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 -0600Subject:[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 -0600Subject:[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 -0600Subject:[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 -0600Subject:[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 -0600Subject:[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 -0600Subject:[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 -0600Subject:[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 -0600Subject:[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 -0600Subject:[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 -0600Subject:[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 -0600Subject:[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 -0600Subject:[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 -0600Subject:[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 -0600Subject:[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 -0600Subject:[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 -0700Subject:[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 -0500Subject:[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 -0500Subject:[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 -0500Subject:[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 -0500Subject:[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 -0500Subject:[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 -0500Subject:[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 -0500Subject:[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 -0500Subject:[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 -0500Subject:[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 -0500Subject:[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 -0500Subject:[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 -0500Subject:[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 -0500Subject:[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 -0500Subject:[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 -0500Subject:[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 -0500Subject:[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 -0500Subject:[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 -0500Subject:[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)