Schedule

Week Day Date Lecture Topic / Slides Worksheets Reading (CPL) Reading (PS) Assignment
1 Wed Jan 10 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 Jan 17)
2 Wed Jan 17 Safety
Dynamic/Static Types
Scala Pragmatics
Scala Introduction
Scala
Chs 5,6 Chs 5,7 Assignment 2
(due Jan 24)
3 Wed Jan 24 Functions on Lists
Methods and Functions
Folds
Option Types
Functional Programming
- Chs 14,15,24 Assignment 3
(due Jan 31)
4 Wed Jan 31 Scheme Loops
Tail Recursion
Scala Classes
Algebraic Data Types
Algebraic Data Types - Chs 17,19 Assignment 4
(due Feb 07)
5 Wed Feb 07 Midterm Exam
- Chs 7 - -
6 Wed Feb 14 Scope and Lifetime
L-Values
Argument Passing
Runtime Storage
Argument Passing
Chs 8 Chs 6, 10 Assignment 5
(due Feb 21)
7 Wed Feb 21 Nested Classes
Closures
Closures
Chs 9 Chs 8 Assignment 6
(due Feb 28)
8 Wed Feb 28 Dynamic Dispatch and Inheritance
Parametric Polymorphism
Subtyping
OOP
Subtyping
Chs 10-13 Chs 10,11,18 Assignment 7
(due Mar 06)
9 Wed Mar 06 JavaScript
JavaScript OOP
JavaScript
- - Assignment 8
(due Mar 13)
10 Wed Mar 13 C++ and Vtables
Recap Exercises
- - - -
11 Wed Mar 20 Final Exam - - - -


Weekly checklist:

Slides use reveal.js: