Date | Topic | Reading | Extras |
8-26 | Introduction and Preliminaries | Ch. 1 | |
8-31 | Language History 1 (1) | Ch. 2.1-2.9 | Assn 1 due |
9-2 | Language History 2 (1) | Ch. 2.10-2.19 | |
9-7 | Describing Syntax (1) | Ch. 3.1-3.3 | Assn 2 due |
9-9 | Describing Semantics (1) | Ch. 3.4-3.5 | |
9-14 | Lexical and Syntax Analysis (1) | Ch. 4 | Assn 3 due |
9-16 | Variables and Types (2) | Ch. 5.1-5.7 | Assn 4 due |
9-21 | Scoping Rules (2) | Ch. 5.8-5.12 | |
9-23 | Basic Types (2) | Ch. 6.1-6.5 | Assn 5 due |
9-28 | Other (Non-Object) Types (2) | Ch. 6.6-6.9 | |
9-30 | Expressions and Assignments (2) | Ch. 7 | Assn 6 due |
10-5 | Control Structures (3) | Ch. 8 | Project Ideas & Assn 7 due |
10-7 | Basics of Subprograms (3) | Ch. 9.1-9.5 | Assn 8 due |
10-12 | No Class | ||
10-14 | No Class | ||
10-19 | More Advanced Subprograms (3) | Ch. 9.6-9.11 | |
10-21 | Implementing Subprograms (3) | Ch. 10 | Assn 9 due |
10-26 | Abstract Data Types (3) | Ch. 11.1-11.4 | Assn 10 due |
10-28 | Parametric ADTs and Encapsulation (4) | Ch. 11.5-11.7 | Project Outline |
11-2 | Object-Oriented Programming (4) | Ch. 12.1-12.5 | Assn 11 due |
11-4 | OO in more Languages (4) | Ch. 12.6-12.10 | |
11-9 | DPS | ||
11-11 | Concurrency Basics (4) | Ch. 13.1-13.4 | Assn 12 due |
11-16 | More Advanced Concurrency (4) | Ch. 13.5-13.8 | |
11-18 | Exceptions (plus Ada and C++) (5) | Ch. 14.1-14.3 | Assn 13 due |
11-23 | Events and Exception in Java (5) | Ch. 14.4-14.6 | |
11-25 | Thanksgiving | ||
11-30 | Functional Programming (5) | Ch. 15 | Project Draft & Assn 14 due |
12-2 | Basics of Logic Programming (5) | Ch. 16.1-16.4 | Assn 15 due |
12-7 | Prolog and Course Review (5) | Ch. 16.5-16.8 |