Lectures Mon, Wed, Thu 10:30–12:15 in Room SI-003
[HtDP] How to Design Programs, Second Edition
Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, Shriram Krishnamurthi, 2015.
Class Q&A Website PF1 on Moodle - for grading
Staff Mailing List for administrative questions
Documents Syllabus
Homework policy
Coding conventions


  • Coming soon!

Course staff

IMPORTANT Contact us using the for administrative questions. Post questions about assignments to the Moodle forum.

Prof. Nate Nystrom

Office SI-203
Hours TBA

Yuriy Tymchuk
teaching assistant

Office Via Balestra 22, 308
Hours TBA

Luis Mastrangelo
teaching assistant

Office Via Balestra 22, 303
Hours TBA

Long Le
teaching assistant

Office SI, Open Space
Hours TBA

Schedule Subject to change



Programming assignments will have specific submission instructions included with the handouts. We will use a certain amount of automatic grading to help us deal with the massive amounts of code everyone submits, so please follow the submission instructions exactly as written!

See the PF1 homework policy.

Group Work

Assignments will include both written and programming assignments. All assignments, except where specified, should be done in pairs. The contributions of each student must be explicitly described.

Cheating and plagiarism is unacceptable

You are free to discuss assignments and solutions with others. You must not show your code to anyone other than your pair programming partner. You must not look at the code of anyone other than your partner. You must not represent any portion of others' work as your own. Assignments found to have been plagiarized will be given a grade of -100%.