Schedule

Week Days Date Lecture Topic / Slides Lecture Notes Worksheets Reading (CPL) Reading (PS) Assignment
1 Mon

Wed


Apr 01

Apr 03


Overview [pdf]
Statements and Expressions [pdf]
Strict and Nonstrict Evaluation [pdf]
Undefined Behavior [pdf]
Scheme [pdf]
Expressions
Scheme
Java and C
Scheme
simple.scm
scheme.com
repl.it
Chs 1,3 Chs 1-4 Assignment 1
(due Apr 10)
2 Mon

Wed

Apr 08

Apr 10

Dynamic/Static Types [pdf]
Safety [pdf]
Scala Pragmatics [pdf]
Scala Introduction [pdf]
Static and Dynamic Types
Scala
Scala 3 Book
Scala
Chs 5,6 Chs 5,7 Assignment 2
(due Apr 17)
3 Mon

Wed

Apr 15

Apr 17

Functions on Lists [pdf]
Methods and Functions [pdf]
Folds [pdf]
Option Types [pdf]
Functional Programming
Functional Programming
- Chs 8,9,15,16,23 Assignment 3
(due Apr 24)
4 Mon

Wed
Apr 22

Apr 24
Examples: Map, Filter, and Fold [pdf]
Iteration: Loops and Recursion [pdf]
Tail Recursion [pdf]
Scala Classes [pdf]
- - Chs 17,18 Assignment 4
(due May 08)
5 Mon
Wed
Apr 29
May 01
Algebraic Data Types [pdf]
Midterm Exam (May 01)
Algebraic Data Types
Chs 7 Chs 6, 10, 15 -
6 Mon
Wed

May 06
May 08

Scope and Lifetime [pdf]
L-Values [pdf]
Argument Passing [pdf]
Runtime Storage
Argument Passing
Chs 8 Chs 21,24,26 Assignment 5
(due May 15)
7 Mon
Wed
May 13
May 15
Closures [pdf]
Nested Classes [pdf]
Closures
Chs 9 Chs 12,20,29 Assignment 6
(due May 22)
8 Mon
Wed

May 20
May 22

Dynamic Dispatch and Inheritance
Parametric Polymorphism
Subtyping
OOP
Subtyping
Chs 10-13 Chs 11,19 Assignment 7
(due May 29)
9 Mon
Wed
May 27
May 29
No Class (Memorial Day)
JavaScript
JavaScript
- - Assignment 8
(due Jun 05)
10 Mon
Wed
Jun 03
Jun 05
JavaScript OOP
Recap Exercises
- - - -
11 Mon
Wed
Jun 10
Jun 12
Section 602 Final Exam (Jun 10 2:30pm-4:45pm)
Section 601 Final Exam (Jun 12 8:30am-10:45am)
- - - -


Weekly checklist:

Slides use reveal.js: