6 Assignments

All work will be due at 11:59pm of the indicated day.

The abbreviation ML stands “mystery language”, not the ML family of programming languages. See the Anticipated Frequent Questions to learn more about these assignments and how you’re expected to respond to them.

Note: all submissions must be done using your Brown Google account. Please do not contact us to “request access”. Use a browser that knows your Brown identity to submit.

Title

  

Published

  

Due

ML: Numbers

  

Wed, Sep 07

  

Thu, Sep 08

ML: Conditionals

  

Fri, Sep 09

  

Sun, Sep 11

ML: Named Functions

  

Mon, Sep 12

  

Thu, Sep 15

ML: Scope +

  

Fri, Sep 16

  

Tue, Sep 20

ML: Function Calls

  

Wed, Sep 21

  

Thu, Sep 22

ML: Anonymous Functions

  

Fri, Sep 23

  

Sun, Sep 25

Calc Locals Vars

  

Mon, Sep 26

  

Thu, Sep 29

Interpreter

  

Fri, Sep 30

  

Thu, Oct 06

Type Checker

  

Fri, Oct 07

  

Sun, Oct 16

ML: Mutable Variables +

  

Mon, Oct 17

  

Sun, Oct 23

ML: Mutable Structures

  

Mon, Oct 24

  

Thu, Oct 27

ML: Fields

  

Fri, Oct 28

  

Tue, Nov 01

Calc Local Fields

  

Wed, Nov 02

  

Tue, Nov 08

ML: Classes +

  

Wed, Nov 09

  

Tue, Nov 15

Calc Local Vars: With

  

Wed, Nov 16

  

Sun, Nov 20

ML: Evaluation Order

  

Mon, Nov 21

  

Tue, Nov 29

Evaluate a Language

  

Wed, Nov 30

  

Tue, Dec 06

If you’re new to Pyret, you should consider doing the Learning Pyret exercise, which will help you gain practice with the language. Though this assignment is not required, if you haven’t programmed in Pyret before, we strongly encourage you to complete it. You will use Pyret in the non-ML assignments. This gives you some time to learn the language, but don’t put this off to the last minute.