On this page:
Chosen Projects



The purpose of the project is summarized in General Information.

Preliminary Deadlines



Draft to Ms. Biron


Final version

approval of topic




09 Feb 2014

proposal memo


13 Feb 2014


23 Feb 2014

project report


17 Mar 2014


23 Mar 2014

Stage 1 Pick a topic that you and your partner consider interesting in the context of this course. Here a "topic" refers to three mutually exclusive possibilities:
  1. You choose a paper that describes a domain-specific language in your research area. The paper should be reasonably short, meaning an expert in PL should be able to read it in a couple of hours.

  2. You pick a paper from a mainstream programming language conference. This option should especially interest PL or FM PhD students but is open to all students in class.

  3. You use a paper from the list at the end of this page. In order to provoke some searching and thinking on your side, the list will become available only two days before the decision deadline.

Get approval by 09 February 2014 for your chosen topic. Send me an email that (1) indicates which option you chose and (2) summarizes the topic in your words. CC your project partner.

Stage 2 A first reading of a technically complex paper should leave you with a shallow understanding and a desire to understand certain aspects in more depth. The best way to express this desire is to articulate your understanding and to phrase your remaining questions in this context. These questions tend to tell you which "tools" (mathematical techniques, implementation, measurements, etc) you will need to use to find answers.

Write up a one-page memo in journal-paper style that (1) summarizes your current understanding of the paper, (2) states which aspects of the paper you would like to understand in depth, and (3) explains which tools (Redex and otherwise) you wish to use to model the paper’s insights so that you gain the desired insight. Researchers tend to think of this memo as a proposal.

You must submit printed draft memo is due 13 February 2014 to Ms. Biron and make an appointment to meet with her for feedback on your write-up. Email me your final PDFed proposal memo by 23 February 2014.

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 two-page "result" memo. The revised memo should consist of four parts: (1) the fixed-up summary from the "proposal" memo; (2) a revised and concrete set of questions that you tackled; (3) a description of the approach used to answer them; and (4) your answers (abstractly, because you have a limited amount of space). Do not write an essay on what you did in the past two weeks but imagine yourself writing a final report for a scientific grant that you obtained from a funding agency.

To format the paper, use (1) an 11-point font, (2) 1.5in margins all around, (3) a header that specifies the paper title and the authors of the memo, (4) no section or subsection headings. If you wish to label a passage, use the so-called paragraph style, which boldfaces the initial phrase of a paragraph.

You must submit a printed draft memo by 17 March 2014 to Ms. Biron and make an appointment to get feedback from her. It is common that new content flows into the final draft; if you have any doubts about the wording of the new content, ask Ms. Biron before you submit.

The revised memo is due, in PDF form, on 23 March 2014 before class. Email it as an attachment together with one Redex file (if needed). Both file names should use the last names of the partners, plus a suitable suffix (.pdf and .rkt).

Stage 5 Prepare a joint 40-minute whiteboard lecture that describes (1) the paper’s problem, including the motivation, and background, (2) your questions, (3) the approach you used to answer these questions, and (4) the insight you gained.

Divide the talk between the two partners but each partner should be prepared to answer questions about the entire talk.

Grading Your "deliverables" are: (1) the "proposal" memo, (2) the "report" memo, (3) the lecture; and (4) an appendix that documents your work (usually a Redex model).

Your project grade consists of four different pieces:
  • the initial formulation of a question concerning the topic;

  • 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 (unit-level organization, style, grammar, typos). 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).

Chosen Projects






Project Title







Story-based Believable Agents







A Language for Generative Models







The Call-by-need Lambda Calculus, Revisited







An Algebraic Approach to Block Diagrams



Le Chen




A Continuous Time Probabilistic Language







A Query Language for Analyzing Networks







Units: A Cool Module System for HOT Languages







Predicate Abstraction







Autonomous Intelligent and Mobile Agents







A DSL for Geometric Relations







Almost-Correct Specifications







A DSL for Game Theory







Functional-Reactive Programming