CS 4536: Programming Languages (C06)

Assignments

There will be 5 assignments during the course, roughly one per week. These will be on basic interpreters, Haskell, a languages perspective on web programming, garbage collection, and type systems.

Style guidelines and expectations on assignments

Access turnin

Assignment 1: Basic Interpreters (due Wednesday Jan 25, 11:59pm)

Assignment 2: Haskell and Laziness (due Wednesday Feb 1, 11:59pm)

Assignment 3: Web Programming with Continuations (due Thursday Feb 9, 11:59pm)

The BS/MS assignment: Implementing Prolog (due date negotiable, but ideally end of term)

Assignment 4: Garbage Collection (due Monday Feb 20, 11:59pm)

There are two options for homework 5, of which you must do one. The type checker is easier. As such, students who are aiming for As in the course should do type inference. Doing the type checker will cap your course grade at B (in exchange for an easier assignment).


Grading

There will be no exams. Grades will be based on the assignments (with some point available for participation and engagement with the material). There will be a total of 625 points available for the term, allocated according to the following table:

Basic Interpreter    100 (hwk1)
Haskell Programs      75 (hwk2)
Lazy Interpreter      50 (hwk2)
Web Programming       75 (hwk3)
Garbage Collection   150 (hwk4)
Type Inference       125 (hwk5)
Participation*        50

Total                625
* "participation" includes various ways of showing that you are engaged in the course and with the material, such as participation during class, signs that you are really thinking about the material during in class exercises, or asking questions in class or office hours that probe beyond what we are covering in lectures.

I guarantee a passing grade for anyone who earns at least 412 points (66%) and at least a B for anyone who earns 500 or more points (80%). This does not mean that these numbers will be the final minimum requirements for each grade; rather, I guarantee that you will earn at least the listed grade at each of these marks. This guarantee lets you plan your work for this course according to your other projects and course requirements. I have not posted minimum A requirements; an A will require consistenly good work and command over the material.