G7400 F'11


The purpose of the project is summarized on the general syllabus page.

Stage 1 Pick a paper that you and your partner consider interesting (in the context of this course). A list of suggested papers appears below. If you would like to be more ambitious---recommended to PL students---look at the conferences or journals discussed in class. Read the abstracts and motivational sections.

Get approval by 11 October 2011 for your chosen paper. If your paper is from the list below, a simple email from one of you to me, ccing your partner suffices. Otherwise, submit a two-paragraph email: one summarizing the paper in your words, and a second one explaining why you wish to study this paper.

Stage 2 Read the paper and determine what you would like to understand in more depth. Formulate a question and a problem statement around the question. Write this up as a one-page memo. Explain which tools (Redex and otherwise) you wish to use to model the paper and answer your question. Researchers tend to think of this as a proposal.

The PDFed problem statement is due 25 October 2011.

Stage 3 Just do it! There is nothing like working on your chosen topic. Experience the feeling of understanding what the author really meant; what the author could have done. -- Do not hesitate to consult with me if you're stuck!

Stage 4 Report on your experience in a revised version of the memo; don't use more than two pages. That is, elaborate your problem statement because you will have insights that improve it. Then add a couple of paragraphs on what you learned.

The revised memo is due, in PDF form, on 11 November 2011 on 16 November 2011 (midnight). A print-out of the Redex model should be an appendix to the memo. Also submit an electronic copy of your model.

Stage 5 Prepare a joint 40-minute whiteboard lecture that describes the problem, its motivation, its background, the Redex model, and your insight. Divide the talk between the two partners but each partner should be prepared to answer questions about the entire talk.

Deliverables and Grading Your final deliverables are: (1) the lecture; (2) two-page memo; and (3) an appendix that documents your project work.

Your project grade consists of four different pieces:

  1. the initial formulation of a question concerning the paper;
  2. the description of your answer or attempts, i.e., the 'revised memo';
  3. the in-class lecture; and
  4. the Redex model in support of your answer.
Both memos are judged at two levels: the content and its English (typos, grammar, unit-level organization). Similarly, the lecture is about both content and oral communication skills of technical matters. Finally, the Redex model must support the conclusion and must show that you have understood the basic modeling techniques.

A note on writing or "less is more." Concise language is superior to a lot of weasel words and paragraphs. The two limits (one and two pages, respectively) are upper limits not lower limits. -- Good technical writing focuses on the essence of a topic and avoids emotional verbs (e.g., "believe") or judgmental adjectives (e.g., "wonderful"). -- Start a unit of writing with a 'thesis' and use the rest of the unit with support of the thesis. -- Also, use active voice over passive voice. Connect sentences by starting sentences with idea-words near the ending of the preceding one; then introduce a new one. Doing so is accepted American style of writing and technical writing. -- For a short elegant book on writing, see Strunk and White's "Elements of Style" (3rd edition).

The Paper Pool

  1. Crank, Felleisen. Parameter-Passing and the Lambda Calculus. POPL 1991 acquired by Maryam Aziz and Do Hyong Koh
  2. Flanagan, Sabry, Duba, Felleisen. The Essence of Compiling with Continuations. PLDI 1993
  3. Flanagan, Felleisen. The Semantics of Future and Its Use in Program Optimizations. POPL 1995 acquired by Matthew Ekstrand-Abueg and Travis Mayberry
  4. Ariola, Felleisen. The Call-by-Need Lambda-Calculus. JFP 1996 acquired by Ancsa Hannk and Scott Roche
  5. Flatt, Felleisen. Units: Cool Modules for HOT Languages. PLDI 1998 acquired by Jonathan Schuster and Henry Roth
  6. Clements, Flatt, Felleisen. Modeling an Algebraic Stepper. ESOP 2001 acquired by James Perconti and Justin Slepak
  7. Findler, Felleisen. Contracts for Higher-order Functions. ICFP 2002 acquired by Tim Smith and Mitesh Jain
  8. Clements, Felleisen. A Tail-Recursive Semantics for Stack Inspections. ESOP 2003 acquired by Yue Huang and Phil Nguyen
  9. Flatt, Findler, Felleisen. Scheme with Classes, Mixins, and Traits. ASPLAS 2006 acquired by Arash Kahki and Triet Vo-Huu
  10. Eastlund, Felleisen. Making Induction Manifest in Modular ACL2. PPDP 2009
  11. Guha, Saftoiu, Krishnamurthi. The Essence of JavaScript. ECOOP 2010 acquired by Tony Lazenka and Liang Zhang
  12. Chang, Felleisen. The Call-by-need Lambda Calculus, Revisited. Manuscript available on demand.
  13. Cousineau G., Curien P.-L., Mauny M. The categorical abstract machine. FPCA 1985 (LNCS 201) acquired by Zahra Jafargholi and Hamid R. Jahanjou

last updated on Wed Nov 2 10:50:04 EDT 2011generated with Racket