General Information
Instructor Matthias Felleisen
Ms. Jessica Biron [ WVH302, front desk, bironje at ccs.neu.edu ] will assist with editing your memo-writing exercises.
Time and Place The class meets on Tuesdays from 6:00pm to 9:00pm starting on January 6, 2014 and ending April 28, 2014. The scheduled meeting place is Kariotis Hall 104. The scheduled meeting place is Snell Library 121.
Office Hours As of March 10, I will hold office hours on Mondays at 5pm.
Grades PhD students don’t go to school to get grades. Try again.
Prerequisites The course assumes 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 (1) programming and computing and (2) logic in computing. In case you have doubts, consider reading How to Design Programs For a PhD student, "to read" means to read and solve the exercises and if you can’t, read the section. Understanding the sections labeled "Designing ..." is a key to this course. 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 approaches.
Weekly Problem Sets 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 addition, some problem sets come include writing assignments, because half a PhD student’s work is to articulate ideas in writing.
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 eight to 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.
Right to Modifications I reserve the right to make additional minor modifications to the policy on grades.