Instructors Matthias Felleisen
The class meets on Tuesdays and Fridays from 9:50am to 11:30am,
starting on September 7, 2012 and ending December 07, 2012.
The course is schedule for International Village 022.
PhD students don't go to school to get grades. Try again.
The course will assume that you know how to design (recursive) programs
(systematically) and that you have encountered inductive proofs in your
undergraduate education. At Northeastern, most of the relevant material is
covered in the freshman courses on programming and computing and logic in
computing. In case you have doubts, consider reading the book below:
Felleisen, Findler, Flatt, Krishnamurthi.
How to Design Programs.
MIT Press 2001.
Understanding the sections labeled "Designing ..." is a key to this course.
For a PhD student, "to read" means to read and solve the
and if you can't, read the section. -- The above is not the
only approach to explicit and systematic design of programs. It is quite
possible that you have acquired the necessary background via alternative
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 may have to
program in your favorite programming language.
In order to integrate what you have learned during the semester, you will
work on a mini-project during the second half of the semester. I will
propose topics for the mini-project after a couple of weeks. If you intend
to get your PhD in programming languages, you are welcome to propose your
own project; collect project ideas during the first few weeks as you get
to know how the course works.
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 may choose your own partner, enrollment permitting.
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".
To a first approximation, the grades will be based on the results of some
10 weekly assignment sets, each of which also counts for 5% of the final
grade. The rest of the grade (approximately 50%) is based the pieces of
the mini-project and their timely completion. If an exam or a pop quiz is
called for, the mini-project will count for less.
I reserve the right to make additional minor modifications to