Final grades are now posted on Blackboard.
Assignment I, handed out on 08/28 and due on 09/09
Introductory tutorial on ML functions
Introductory tutorial on ML datatypes
Assignment II, handed out on 09/11 and due on 09/23
Assignment III, handed out on 09/18 and due on 09/25
Assignment IV, handed out on 09/25 and due on 10/14
Test I (given on 10/02)
Assignment V, handed out on 10/09 and due on 10/16
Assignment VI, handed out on 10/16 and due on 10/28
Assignment VII, handed out on 10/16 and due on 10/30
Assignment VIII, handed out on 10/30 and due on 12/02
Assignment IX, handed out on 10/16 and due on 12/04
Test II (given on 11/06)
Test III (given on 12/13)
Please use Blackboard to check your grades.
Textbook webpage (including errata)
Caml trading - experiences with functional programming on Wall Street
by Minsky and Weeks (2008).
This optional reading describes one company's use of OCaml, which is a dialect of ML.
(This paper should be accessible on campus; off campus you might try an Internet search for the paper's title.)
The Singularity system
by Larus and Hunt (2010).
This optional reading describes Singularity, a new operating system based on type-safe programming languages.
(Again, this paper should be accessible on campus; off campus you might try searching for the paper's title.)
Week | Dates | Topics | Reading (in ML book) |
---|---|---|---|
1 | 08/28, 08/30 | Introduction; ML basics; Polymorphism | 1-3.1, 5.3 |
2 | 09/04, 09/06 | ML functions; I/O; Higher-order functions | 3.2-3.6.3, 4.1-4.2, 5.1, 5.4 |
3 | 09/11, 09/13 | Currying; Datatypes; Deductive systems | 5.5-5.6, 6.1-6.3 |
4 | 09/18, 09/20 | Deductive systems; Induction on derivations | Class notes |
5 | 09/25, 09/27 | Syntax; Review | Class notes |
6 | 10/02, 10/04 | Test I | Class notes |
7 | 10/09, 10/11 | Syntax; Dynamic semantics; Lambda calculus | Class notes |
8 | 10/16, 10/18 | Lambda calculus; Static semantics | Class notes |
9 | 10/23, 10/25 | Static semantics; Type safety | Class notes |
10 | 10/30, 11/01 | Type safety; Review | Class notes |
11 | 11/06, 11/08 | Test II | Class notes |
12 | 11/13, 11/15 | Aggregate data types | Class notes |
13 | 11/20 | Intro to side effects; References | 7.3 |
14 | 11/27, 11/29 | References; Control-flow effects; Evaluation contexts | 5.2, 7.2 |
15 | 12/04, 12/06 | Arrays; Review | Class notes |
Final | 12/13 | Final Exam, 5:30-7:30pm | All tests are cumulative |