-
Notifications
You must be signed in to change notification settings - Fork 39
Organization
This course consists of lectures, reading and reviewing research papers, and a final project.
- Paper reviews: 45%
- 9 papers, 5% each
- Final Project: 50%
- Team formed by deadline: 5%
- 1-page project proposal: 15%
- Project presentation: 15%
- Final report: 15%
- Class Participation: 5%
Most work in this class consists of reading research papers. We will cover one paper per week. For each paper, you are required to write a review. Links to papers will be posted in the Syllabus at least one week before the review due date.
A review includes a short, neutral summary of the paper (1-2 paragraphs), followed by a list of strengths and a list of weaknesses of the presented technique or tool, in your opinion. For some papers, we will post specific questions you should answer in your review. Our goal is to get you to think deeply and critically about the paper, not to test you. You won’t be graded on the correctness of your reviews; any non-trivial review will get you 5%.
The reviews are due every Wednesday by the end of the day. The reviews must be submitted through the HotCRP conference management system (link coming soon).
The goal of the project is do original research in the area of program synthesis, most likely, extending the techniques presented in the course or applying them to a new domain. A list of potential project topics is available here, but students are also encouraged to come up with their own ideas. If you are already working on a research project that fits the theme of this course, feel free to use this as your final project (but please let us know). If you are also taking Building Secure Systems using Programming Languages and Analysis or Automated Reasoning in AI, feel free to propose a single cross-project for both (or all three) courses.
Projects are expected to be done either individually or in groups of two. The scope of the project should be commensurate with the size of the team and whether this is a cross-project for multiple courses.
There will be four milestones throughout the quarter:
- By the first milestone, inform us who is your teammate or if you plan to work individually
- The second milestone is a project proposal where you explain what you plan to do and why you think it’s a good idea. You should elaborate on the following: what are you proposing to do, why is it interesting or important, what are the expected challenges, how does it relate to the state of the art, what evidence do you have so far to suggest this may work. It is expected that for this milestone you will have already done some work towards the project, so we encourage you to come talk to us about your project ideas a couple of weeks before the second milestone.
- The third milestone is a short presentation describing your project; the exact length of the presentations will depend on the number of projects that are submitted.
- At the end of the quarter, you are expected to submit a final report describing your project. The report should be at least 3 pages in length in SIGPLAN format. The report should read like a short paper, so it should make it clear what you did, why you did it, and what you learned from doing it.
Overall, projects will be judged in terms of quality of execution, originality and scope.
To earn class participation points, you can answer other students' questions and actively participate in paper discussions in class.