Schedule
The following schedule is tentative, and we reserve the right to change it if bad weather or other unforeseen events make it impracticable. CPL stands for Concepts of Programming Languages, and the numbers refer to chapters and sections in this text. The letters in parentheses stand for (R)eading, (B)asic, and (P)rogramming modules. Module details, such as materials, videos, tests, due dates, etc., will be provided either on this website or on Canvas.
Week | Date | Module(s) | CPL |
---|---|---|---|
1 | Jan 7 | 01: Intro and Ruby 1 (R/P) | 1 |
2 | Jan 14 | 02: Ruby 2 (P) | |
3 | Jan 21 | 03: Haskell 1 (P) | 15 |
4 | Jan 28 | 04: Haskell 2 (P) | |
5 | Feb 4 | 05: Prolog 1 (P) | 16 |
6 | Feb 11 | 06: Prolog 2 (P) | |
7 | Feb 18 | 07: Syntax (B) | 3 |
08: Parsing (R) | 4 | ||
8 | Feb 25 | 09: Names and Bindings (R) | 5 |
10: Scope and Lifetime (B) | |||
Mar 4 | Spring Break | ||
9 | Mar 11 | 11: Data Types (R) | 6 |
12: Type Checking (B) | |||
10 | Mar 18 | 13: Expressions (B) | 7 |
14: Control Structures (R) | 8 | ||
11 | Mar 25 | 15: Parameters (B) | 9 |
16: Subprogram Invocation (R) | |||
12 | Apr 1 | 17: Activations and Environments (B) | 10 |
13 | Apr 8 | 18: Abstraction and OOP (B) | 11, 12 |
14 | Apr 15 | 19: Concurrency and Error Handling (B) | 13, 14 |
15 | Apr 22 | 20: History (R) | 2 |
Review |