Lecture Calendar

Week Sun Mon Tue Wed Thu Fri Sat
1

9/27

NO CLASS


languages; intro to ML

icon slides (icon PDF)
icon syllabus

READ: Ullman 1.1; 2; 3 - 3.2


Section 1


lists, tuples; mutable state

icon slides (icon PDF)

icon lecture code

READ: Ullman 2.3 - 2.4; 3.2

Assigned: Homework 1

2


let; patterns

icon slides (icon PDF)

icon lecture code

READ: Ullman 3.3 - 3.4


merge sort; efficiency issues

icon slides (icon PDF)

icon lecture code

READ: Ullman 3.4.3 - 3.4.4


Section 2

Due: Homework 1


efficiency, tail recursion; print

icon slides (icon PDF)

icon lecture code

READ: Ullman 3.5, 4.1

Assigned: Homework 2

3


higher-order functions;
map, filter, reduce;
exceptions

icon slides (icon PDF)

icon lecture code

READ: Ullman 5.2, 5.4


more map/filter/reduce;
anonymous functions;
composition of functions

icon slides (icon PDF)

icon lecture code

READ: Ullman 5.1.3, 5.6


Section 3

Due: Homework 2


curried functions

icon slides (icon PDF)

icon lecture code
icon utility.sml

READ: Ullman 5.5, 5.6.4

Assigned: Homework 3

4


type systems; type safety;
equality types and polyEqual

icon slides (icon PDF)

READ: Ullman 6 - 6.2; 5.3


more about types;
nullable (option) types

icon slides (icon PDF)

icon lecture code

READ: Ullman 6.2 - 6.3; 4.2.5 - 4.2.6


Section 4


record types;
closures; scoping

icon slides A (icon PDF)
icon slides B (icon PDF)

Due: Homework 3
Assigned: Homework 4

5


structures

icon slides (icon PDF)

icon lecture code

READ: Ullman 8.2 - 8.2.2, 8.5.5


signatures

icon slides (icon PDF)

icon Rational.sml
icon RATIONAL.sml

READ: Ullman 8.2.1


Section 5


cheating with mutable state:
arrays, references, while/do;
ML wrap-up

READ: Ullman 7.2 - 7.3

Due: Homework 4
Assigned: Homework 5

6


intro to Scheme

icon slides (icon PDF)

icon lecture code

READ: see web page


Midterm exam,
in lecture


Section 6


lists; let, let*;
higher-order / anon. funcs

icon slides (icon PDF)

icon lecture code

READ: see web page

Due: HW5
Assigned: Homework 6

7


more higher-order funcs;
lists and pairs

icon slides (icon PDF)

icon lecture code

READ: see web page


symbolic data; code as data;
REPL; symbolic differentiation

icon slides (icon PDF)

icon lecture code

READ: see web page


no school;
Veterans Day holiday

(no Section 7...
but see page for handout)


parsing; discuss HW7

icon slides (icon PDF)

icon lecture code

Due: HW6
Assigned: Homework 7

8


mutation; memoization

icon slides (icon PDF)

icon lecture code

READ: see web page


delayed evaluation;
promises, thunks, streams

icon slides (icon PDF)

icon lecture code

READ: see web page


Section 8


macros; extending Scheme syntax

icon slides (icon PDF)

icon lecture code

READ: see web page

Due: HW7
Assigned: Homework 8

9


intro to JavaScript

icon slides (icon PDF)

READ: see web page


LECTURE CANCELED
due to snow


no section;
Thanksgiving holiday


no lecture;
Thanksgiving holiday

Due: HW8A

10


arrays and objects

icon slides (icon PDF)

icon lecture code

READ: see web page


functions

icon slides (icon PDF)

READ: see web page

Due: HW8B


Section 9


prototypes and inheritance

icon slides (icon PDF)

icon lecture code

READ: see web page

Assigned: Homework 9

11


scope and closures

icon slides (icon PDF)

icon lecture code

READ: see web page


regular expressions

icon slides (icon PDF)

READ: see web page


Section 10


bad parts of JS;
OO vs. functional;
wrap-up; discuss final

icon slides A (icon PDF)

icon slides B (icon PDF)

Due: HW9

F

Due: HW10


Final exam,
8:30 - 10:30 AM, MOR 220