General Information

Class
The class meets on Tuesdays from 6pm to 9pm, starting September 13 and
ending on December 13. Initially the class will meet in 210 Shillman; as
soon as possible, we will relocate to WVH 366.

Lab
In addition to lectures, the class also meets for three in-lab sessions on
basic program design techniques. Karl Lieberherr has prepared the
lab materials and will conduct the sessions in WVH 212 on Thursdays
from 4:30 to 5:30pm.

Thematic Organization
The course consists of two parts. The first part will lay a small,
general foundation. The second will cover four special topics, based on
these foundations. See the Schedule for
details.

Grades
PhD students don't go to school to get grades. Try again.

Weekly Homework Assignment To reinforce the
technical material, you will implement a series of interpreters, type checkers,
and other programming language-related programs. We may grade all of the
problems on any given problem set or select some of special value without
giving credit to the remaining ones. Doing work will teach you a lot no matter
what we do. If you wish to discuss the feedback on some problem set, see the
TA; if you're unhappy with the discussion, see one of the
instructors. (Warning: the first instructor is know to agree with Alex.) If you
wish to get feedback on an ungraded problem, see the TA or one of the
instructors.

Choice of Programming Language You may choose
whatever language you want as long as it is Scheme under DrScheme v299.200
(installed in Windows and Unix labs). We may use the EoPL variant but stay
tuned for further announcements.

Mini-Project During the first part of the course,
you should collect project ideas. In the last week of the first part, you will
turn in a one-page memo on your chosen idea. The memo should describe the
theme, list the most relevant background literature (between one and five
papers), and specify a goal.

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 translation of an interpreter into a semantics (and vice versa)

the implementation of a model from a paper

the development of a semantics for a language construct in a paper

the design and implementation of a special-purpose language (dsl)

If you have any doubts, see the course instructors for constraints or
ideas but do so early so that you don't get under time pressure.

You will present the results of your Mini-Project during the lecture
time of the last week in the semester. Your presentation should be an
extension of your memo with your results translated into an oral
format. It should last between 10 and 15 minutes.

Exams We may have some. Perhaps not. See grades
above.

Grades Okay, okay. We will assign grades
because some people will never understand that a PhD is all about
"wanting to learn". Warning: the first instructor is know to use the
entire range of letters, from A to Z, for grades.