Assignments

There will be two kinds of assignments in this class: programming assigments in OCaml, and written assignments. Programming assignments will involve implementing interpreters, type checkers, etc. for programming language features. Written assignments will test your understanding of the logical systems used in programming language design. Be sure to consult the online handout, and feel free to post questions on Piazza. Assignments will be submitted via Gradescope.

Each assignment will be submitted twice. You will receive feedback on your first submission, and your second submission should take that feedback into account. You will receive full credit for the first submission as long as you submit any work; the second submission will be graded based on the assignment criteria. If your first submission doesn’t need any improvement you can resubmit the same code, but if you receive any feedback at all, you are strongly encouraged to try to address at least some of it. You can still submit something for the second deadline even if you haven’t submitted for the first, but you will miss the chance to receive feedback and correct mistakes. If you don’t have time to complete the assignment by the due date, submit as much as you can whenever you can.