HW1 |
Sept 13 |
Sept 20 |
Function definition, conditionals, predefined structs in Racket. |
HW2 |
Sept 22 |
Oct 4 |
Defining structs, polymorphism, lists, trees, and recursion in Scheme |
Project 1 |
Sept 22 |
Oct 6 |
Interpreting a little bit of Scheme |
HW3 |
Oct 6 |
Oct 13 |
Local definitions, higher-order functions, mutation, I/O,
and sequence in Scheme |
Project 2 |
Oct 11 |
Nov 1 Nov 8 |
Expanding the interpreter |
HW4 |
Oct 11 |
Oct 20 |
Operators, declarations, control structures, functions, classes,
and methods in Ruby |
HW5 |
Oct 25 |
Nov 8 |
Defining classes, methods, working with arrays, and writing
higher-order functions in Ruby |
Project 3 |
Nov 2 |
Dec 8 |
First-class functions |
HW6 |
Nov 8 |
Nov 17 |
Facts, rules, and arithmetic in Prolog |
HW7 |
Nov 17 |
Dec 8 |
Rulebase state, recursion, structures, lists, cut, and difference lists in Prolog |