CS4536/CS536: Programming Languages (A-Fall09)

Assignments

There will be roughly one assignment per week. Assignments will have a substantial programming component; some assignments will also involve written questions.

Practice problems for those new to Scheme (optional)

Style guidelines and expectations on assignments

Assignment 0: Course Survey (due Saturday Aug 29) -- A brief survey about your background and interests to aid in course planning. Should take about 10 minutes.

Assignment 1: Basic Interpreters (due Thursday Sept 3, 11:59pm)

Assignment 2: Extended Interpreter (due Thursday Sept 10, 11:59pm)

Assignment 3: Haskell and Laziness (due Thursday Sept 17, 11:59pm)

Assignment 4: Mutation and Parameter Mechanisms (due Thursday Sept 24, 11:59pm)

Assignment 5: Garbage Collection (due Monday Oct 5, 11:59pm)

Assignment 6: Types (due Thursday, Oct 15, 5pm)--NOTE 5pm, not midnight!

There are two options for homework 6: Implementing a Type Checker or Implementing Type Inference. The type checker is easier.

536/BSMS Assignment 7: Implementing Stack Inspection (due by December 17th)

536/BSMS Assignment 8: Implementing Prolog (due by December 17th)


Grading

There will be no exams. Grades will be based largely on the assignments, with additional points for participation and engagement with the material.