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, quizzes, due dates, etc., will be provided either on this website or on Canvas.
Week | Date | Module(s) | CPL |
---|---|---|---|
1 | Jan 18 | 01: Intro and Ruby 1 (R/P) | 1 |
2 | Jan 24 | 02: Syntax (B) | 3 |
03: Parsing (R) | 4 | ||
3 | Jan 31 | 04: Ruby 2 (P) | |
(intro to M5/M6 on Thu) | |||
4 | Feb 7 | 05: Scope and Lifetime (B) | 5 |
06: Names and Bindings (R) | |||
(miss Tue, Feb 8 due to SA day) | |||
5 | Feb 14 | 07: Type Checking (B) | 6 |
08: Data Types (R) | |||
6 | Feb 21 | 09: Haskell 1 (P) | 15 |
7 | Feb 28 | 10: Expressions (B) | 7 |
11: Control Structures (R) | 8 | ||
8 | Mar 7 | 12: Haskell 2 (P) | |
9 | Mar 21 | 13: Parameters (B) | 9 |
14: Subprogram Invocation (R) | |||
10 | Mar 28 | 15: Prolog 1 (P) | 16 |
11 | Apr 4 | 16: Activations and Environments (B) | 10 |
12 | Apr 11 | 17: Prolog 2 (P) | |
13 | Apr 18 | 18: Abstraction and OOP (B) | 11, 12 |
14 | Apr 25 | 19: Concurrency and Error Handling (B) | 13, 14 |
15 | May 2 | 20: History (R) | 2 |
Review |