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