Instructors Matthias Felleisen
Class
The class meets on Tuesdays and Fridays from 9:50am to 11:30am,
starting on September 9, 2011 and ending December 09, 2011.
Location
The course is schedule for International Village 022.
Grades
PhD students don't go to school to get grades. Try again.
Prerequisites
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
quickly:
Felleisen, Findler, Flatt, Krishnamurthi.
How to Design Programs.
MIT Press 2001.
Parts I-IV and VI are essential for understanding the course.
For a PhD student, "to read" means
to read and solve the
exercises and if you can't, read the section.
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.
Mini-Project
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.
Work
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.
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".
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
this policy.