| Monday | Wednesday | Friday |
| | 9/30
administrative details
ML types and expressions
functions
reading: Ullman chapter 2, 3-3.2
notes | 10/2
mutable state
let
reading: Ullman 3.3-3.6
notes
slides (ppt)
slides (pdf) |
10/5
pattern matching
merge sort
notes
| 10/7
quicksort
more on polymorphism
notes
| 10/9
efficient reverse
higher-order functions
map
anonymous functions
reading: Ullman 3.5, 5.1.3, 5.3, 5.4
notes
|
10/12
filter, reduce
composition of functions
reading: Ullman 5.6
notes
| 10/14
Curried functions
Python excursion
reading: Ullman 5.5
notes
| 10/16
defining types
reading: Ullman 6-6.2
notes
slides (ppt)
slides (pdf) |
10/19
tail recursion
type safety
notes
| 10/21
option type
notes
| 10/23
closures
lexical scope
notes
|
10/26
structures
reading: Ullman 8.2-8.2.2, 8.5.5
notes
| 10/28
signatures
notes
| 10/30
midterm
|
11/2
intro to Scheme
notes
slides (ppt)
slides (pdf) | 11/4
higher-order functions
let, let*
internal definitions
anonymous functions
struct
notes
ML/Scheme Comparison
| 11/6
polymorphism
equality operators
notes
|
11/9
symbolic differentiation
notes
| 11/11
Veterans Day holiday
| 11/13
dotted pairs
parsing
notes
|
11/16
how to make a repl
delayed evaluation
thunks
notes
| 11/18
mutating procedures
notes
| 11/20
memoization
simulating objects
notes
|
11/23
macros
introduction to Ruby
notes
| 11/25
special topic: Scala
notes
| 11/27
Thanksgiving holiday
|
11/30
More Ruby
control structures
blocks
notes
| 12/2
more blocks
classes
yield
notes
| 12/4
input
file processing
notes
|
12/7
OOP in Ruby
notes
| 12/9
mixins
notes
| 12/11
C#
notes |