Schedule

Week Date Lecture Topic / Slides Worksheets Reading (CPL) Reading (PS)
1 Sep 08 Overview (28 min)
C: Statements versus Expressions (12 min)
C: Strict versus Nonstrict (13 min)
C: Undefined Behavior (7 min)
Scheme (43 min)
Java and C
Scheme
simple.scm
scheme.com
repl.it
Chs 1,3 Chs 1-4
2 Sep 15 Safety (17 min)
Dynamic/Static Types (11 min)
Scala Pragmatics (10 min)
Scala Introduction (45 min)
Scala
hw.zip
Chs 5-6 Chs 5, 7
3 Sep 22 Functions over Lists (37 min)
Methods and Functions (11 min)
Folds (21 min)
Option Types (12 min)
Functional Programming
- Chs 8-9, 13-14
4 Sep 28 Scheme Loops (41 min)
Tail Recursion (See previous)
Scala Classes (31 min)
Algebraic Data Types (37 min)
Algebraic Data Types
- Chs 18
5 Oct 06 Scope and Lifetime (23 min)
Closures (35 min)
Chs 7 Chs 6, 10, 15, 17
6 Oct 13 Midterm Exam 5:45PM-7:15PM
Runtime Storage
Closures
Chs 8 -
7 Oct 20 L-Values (10 min)
Argument Passing (29 min)
More Scope (17 min)
Argument Passing
- Chs 12, 16, 24
8 Oct 27 Nested Classes (22 min)
Case Study: JavaScript (29 min)
Case Study: JavaScript OOP (30 min)
Javascript
Chs 9 Chs 11, 20-21
9 Nov 03 Dynamic Dispatch and Inheritance (23 min)
Parametric Polymorphism (14 min)
Subtyping (28 min)
Subtyping
OOP
Chs 10-13 -
10 Nov 10 C++ and Vtables (31 min)
- -
11 Nov 17 Final Exam 5:45PM-8:00PM - - -


Weekly checklist:

Slides use reveal.js: