Final grades are now posted on Blackboard.
Assignment I, handed out on 08/24 and due on 09/12
Assignment II, handed out on 09/14 and due on 10/10
Assignment III, handed out on 09/14 and due on 10/12
Assignment IV, handed out on 10/12 and due on 10/24
Assignment V, handed out on 10/12 and due on 10/26
Test II (given on 11/02)
Assignment VI, handed out on 11/09 and due on 11/30
Assignment VII, handed out on 11/09 and due on 12/03
Test III (given on 12/09)
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/24, 08/26||Introduction; ML basics; Polymorphism||1-3.1, 5.3|
|2||08/31, 09/02||ML functions; I/O; Higher-order functions||3.2-3.6.3, 4.1-4.2, 5.1, 5.4|
|3||09/07, 09/09||Currying; ML value restriction; Datatypes; Deductive systems||5.5-5.6, 6.1-6.3|
|4||09/14, 09/16||Deductive systems; Induction on derivations; Syntax||Class notes|
|5||09/23||Higher-order abstract syntax; Review||Class notes|
|6||09/28, 09/30||Test I; Dynamic semantics||Class notes|
|7||10/05, 10/07||Dynamic semantics; Lambda calculus||Class notes|
|8||10/12, 10/14||Lambda calculus; Static semantics||Class notes|
|9||10/19, 10/21||Type systems; Type safety||Class notes|
|10||10/26, 10/28||Type safety; Review||Class notes|
|11||11/02, 11/04||Test II; Intro to aggregate data types||Class notes|
|12||11/09||Product and sum types||Class notes|
|13||11/16, 11/18||Recursive types; Intro to side effects; References||7.3|
|14||11/23||Control-flow effects; Evaluation contexts||5.2|
|15||11/30, 12/02||Control-flow effects; Review||7.2|
|Final||12/09||Final Exam, 5:30-7:30pm||All tests are cumulative|