Instructors Matthias Felleisen,
The class meets on Tuesdays and Fridays
from 9:50am to 11:30am, starting September 10 and ending on December 08.
The course will take place in WVH 166.
The organizational meeting will take place in WVH 166.
If possible, the class will be run in this room.
If not, we will use the assigned location (Ryder Hall 433,
24 on this map).
PhD students don't go to school to get grades. Try again.
Weekly Homework Assignment
The weekly assignments will serve to reinforce the technical
material. Some problems will ask you to solve paper and pencil problems;
for others you will use the PLT Redex modeling environment, which comes
with the Racket programming language; and for yet others, you will program
in your favorite programming language.
In order to integrate what you have learned during the semester, you will
integrate everything in a mini-project during the second half of the
semester. The project should be your choice. Collect project ideas during
the first six weeks of the course. By week six, you should be prepared to
turn in a one-page memo on your project.
Here are some general suggestions on how/where to look for a Mini-Project:
- an extension of a weekly homework assignment with a novel construct
- the implementation of a semantics as an machine/interpreter (or vice versa)
- turning a model from a paper into a Redex model
- the development of a semantics for a language construct in a paper
- the design and implementation of a special-purpose language (dsl)
If you are interested in programming language research, pick an ambitious
goal; otherwise, learn to manage a research-y project. Details will be
provided during the semester.
You will present the results of your Mini-Project during the lecture
time of the last (two) weeks of the semester. Your presentation should be
an extension of your memo with your results translated into an oral
format. You have 30 minutes for your presentation, 15 minutes per
student. You will answer questions for around 10 minutes. This is similar
to the common conference presentation constraint.
You will work in pairs for the weekly assignments and the mini-project.
The pairings will change over the course of the semester. For the
mini-project, you will (probably) solve the problems on your own; your
partner will serve as a sounding board.
PhD research isn't about individual work only; you must learn to
collaborate with others.
We may have some. Perhaps not. See grades above.
Okay, okay. We will assign grades because some people will never
understand that a PhD is all about "wanting to learn".
New: To a first approximation, the grades will be based
on the results of the initial quiz and some 10 weekly assignment sets,
each of which also counts for 5% of the final grade. The rest of the
grade (approximately 40%) is based the pieces of the mini-project and
their timely completion. If an exam is called for, the mini-project will
count for less.