Schedule


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