Instructor Amal Ahmed
TA Benjamin Chung [ WVH308, bchung at ccs.neu.edu]
Time and Place Tuesdays and Fridays, 1:35pm to 3:15pm, in Ryder 153.
Office Hours Amal on Wednesdays 4pm to 5pm. Ben on Thursdays 2pm to 3pm.
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. If you have doubts, consider reading How to Design Programs. For PhD students, "to read" means to read and solve the exercises and if you can’t solve them, read the section. Understanding the sections labeled "Designing ..." is a key to this course. (Of course, the above is not the only approach to explicit and systematic design of programs; you may 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 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 40 minutes for your presentation, 20 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.
Grades To a first approximation, the grades will be based on the results of the eight to ten weekly assignments, each of which counts for 5%-7% 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.
Note The syllabus and grading policy are subject to change over the course of the semester.
Academic Integrity Unless explicitly instructed otherwise, all homework is to be solely work done by you and your current partner for that assignment. You are not permitted to draw upon assignments or solutions from similar instances of the course, nor to use course materials (such as assignments or programs) obtained from any web site or other external source in preparing your work. CCIS policy mandates that all violations of this policy be reported to OSCCR.