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 Racket Guide, 1-1.2, Ch. 2 as needed
Thu, Sept 11 CS111 refresher on call stack RackUnit
Due: A0: Intro
Mon, Sept 15 Racket Guide, 2.3.3
Thu, Sept 18 Beautiful Racket explainer: functions
Due: A1: Values
Mon, Sept 22 PLAI: Representing Arithmetic, Evaluating Arithmetic plait language tutorial
Thu, Sept 25 PLAI 2nd edition: Environments, Scope
Mon, Sept 29 OCaml Programming: 1.0, 2.0, 2.1, 2.3
Thu, Oct 2 OCaml Programming: 2.4, 3.0, 3.1-3.4
Sun, Oct 5
Due: A3: Interp
Mon, Oct 6 OCaml Programming: 3.5, 3.7, 3.11, 4.1, 4.7
Thu, Oct 9
Mon, Oct 13 Indigenous Peoples’ Day
Thu, Oct 16
Mon, Oct 20
Type inference
Thu, Oct 23
Mutation
Mon, Oct 27
Mutation cont.
Thu, Oct 30
Lazy evaluation, thunks, streams
Due: A6: Types II
Mon, Nov 3
Modularity
Thu, Nov 6
Quiz 2
Mon, Nov 10
Parallelism/concurrency
Thu, Nov 13
Parallelism/concurrency cont.
Due: A7: Modularity
Mon, Nov 17
Objects
Thu, Nov 20
Objects cont.
Due: A8: Parallelism/Concurrency
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: A9: MiniJava
Mon, Dec 15
Finals start
Thu, Dec 18
Finals end