On this page:
Chosen Projects
DrRacket

Project

wooorrk

The purpose of the project is summarized in General Information.

Preliminary Deadlines

Item

 

Draft to me

 

Final version

approval of topic

 

n/a

 

12 Feb 2016

proposal memo

 

23 Feb 2016

 

1 Mar 2016

project report

 

1 Apr 2016

 

12 Apr 2016

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 four days before the decision deadline.

Get approval by 12 February 2016 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 a printed draft memo by 23 February 2016 to me at the beginning of class and make an appointment to meet with me for feedback on your write-up. Email me your final PDFed proposal memo by 1 March 2016 at 1pm.

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 1 April 2016 and make an appointment to get feedback from me. It is common that new content flows into the final draft; if you have any doubts about the wording of the new content, ask me before you submit.

The revised memo is due, in PDF form, on 12 April 2016 at 5pm. 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

Partners

 

 

Project Title

Fluckiger

 

Sackett

 

Evaluating the Design of the R Language

Basu

 

Surana

 

Cache and I/O Efficient Functional Algorithms

Feng

 

Hou

 

A Probabilistic Language based upon Sampling Functions

Wang

 

Xu

 

Stack Inspection: Theory and Variants

Chen

 

Horn

 

Abstract Continuations: A Mathematical Semantics for Handling Full Functional Jumps

Abdul Rehman

 

Li

 

A Compiler and Runtime System for Network Programming Languages

Yongsatianchot

 

 

Church: A Language for Generative Models