Schedule

Week Day Date Lecture Topic / Slides Worksheets Reading (CPL) Reading (PS) Assignment
1 Thu Sep 07 Overview
C: Statements versus Expressions
C: Strict versus Nonstrict
C: Undefined Behavior
Scheme
Java and C
Scheme
simple.scm
scheme.com
repl.it
Chs 1,3 Chs 1-4 Assignment 1
(due Sep 14)
2 Thu Sep 14 Safety
Dynamic/Static Types
Scala Pragmatics
Scala Introduction
Scala
Chs 5,6 Chs 5,7 Assignment 2
(due Sep 21)
3 Thu Sep 21 Functions on Lists
Methods and Functions
Folds
Option Types
Functional Programming
- Chs 8,9,15,16,23 Assignment 3
(due Sep 28)
4 Thu Sep 28 Scheme Loops
Tail Recursion
Scala Classes
- - Chs 17,18 Assignment 4
(due Oct 05)
5 Thu Oct 05 Algebraic Data Types
Scope and Lifetime
Algebraic Data Types
Chs 7 Chs 6, 10, 15 -
6 Thu Oct 12 Midterm Exam
L-Values
Argument Passing
Runtime Storage
Argument Passing
Chs 8 Chs 21,24,26 Assignment 5
(due Oct 19)
7 Thu Oct 19 Nested Classes
Closures
Closures
Chs 9 Chs 12,20,29 Assignment 6
(due Oct 26)
8 Thu Oct 26 Dynamic Dispatch and Inheritance
Parametric Polymorphism
Subtyping
OOP
Subtyping
Chs 10-13 Chs 11,19 Assignment 7
(due Nov 02)
9 Thu Nov 02 JavaScript
JavaScript OOP
JavaScript
- - Assignment 8
(due Nov 09)
10 Thu Nov 09 C++ and Vtables
Recap Exercises
- - - -
11 Thu Nov 16 Final Exam - - - -


Weekly checklist:

Slides use reveal.js: