Schedule
Note: this schedule is tentative and may change based on student feedback as the semester progresses.
Day | Content | Reading (Optional) | Due |
---|---|---|---|
Thu, Sept 4 | |||
Mon, Sept 8 |
Functional programming, data in Racket
|
Racket Guide, 1-1.2, Ch. 2 as needed | |
Thu, Sept 11 |
Scope, call stack, testing
|
CS111 refresher on call stack RackUnit |
Due: Assignment 0
|
Mon, Sept 15 |
Tail recursion
|
||
Thu, Sept 18 |
Higher-order functions
|
Due: Assignment 1
|
|
Mon, Sept 22 |
Programs as data (interpreters)
|
||
Thu, Sept 25 |
Lexical vs. dynamic scope
|
Due: Assignment 2
|
|
Mon, Sept 29 |
Introducing OCaml
|
||
Thu, Oct 2 |
Tuples, records, variant types
|
Due: Assignment 3
|
|
Mon, Oct 6 |
More pattern matching, currying
|
||
Thu, Oct 9 |
Quiz 1
|
||
Mon, Oct 13 | Indigenous Peoples’ Day | ||
Thu, Oct 16 |
Exceptions, type checking
|
Due: Assignment 4
|
|
Mon, Oct 20 |
Type inference
|
||
Thu, Oct 23 |
Mutation
|
Due: Assignment 5
|
|
Mon, Oct 27 |
Mutation cont.
|
||
Thu, Oct 30 |
Lazy evaluation, thunks, streams
|
Due: Assignment 6
|
|
Mon, Nov 3 |
Modularity
|
||
Thu, Nov 6 |
Quiz 2
|
||
Mon, Nov 10 |
Parallelism/concurrency
|
||
Thu, Nov 13 |
Parallelism/concurrency cont.
|
Due: Assignment 7
|
|
Mon, Nov 17 |
Objects
|
||
Thu, Nov 20 |
Objects cont.
|
Due: Assignment 8
|
|
Mon, Nov 24 |
Memory safety, memory management
|
||
Thu, Nov 27 | Thanksgiving | ||
Mon, Dec 1 |
Memory management cont.
|
||
Thu, Dec 4 |
Quiz 3
|
||
Mon, Dec 8 |
Final class!
|
||
Fri, Dec 12 |
|
Due: Assignment 9
|
|
Mon, Dec 15 |
Finals start
|
||
Thu, Dec 18 |
Finals end
|