Date  Topic  Assignment 

Aug. 23  Introduction  
Aug. 25  Introduction (2)  
Aug. 30  Programming Language Syntax(1)
Regular Expressions, ContextFree Grammars, BNF 

Sep. 1  Programming Language Syntax(2)
Derivation, Parse Tree 

Sep. 6  Programming Language Syntax(3)
Finite Automaton 

Sep. 8  Programming Language Syntax(4)
LL(1) Grammar, RecursiveDecent Parsing 

Sep. 13  Programming Language Syntax(5)
LL(1) Parsing, Parsing Table Construction, LR(1) Parsing 
Homework 1 (Due date: 9/20) 
Sep. 15  Name, Scope, and Binding
Variable, storage binding and lifetime 

Sep. 20  Name, Scope, and Binding  
Sep. 22  Introduction to Python
Basic knowledge about Python 
Program assignment 1 (Due date: 10/6, 12:30pm) 
Sep. 27  Expression Evaluation and Control Flow
Operator evaluation order, side effects, overloaded operators, type conversions 

Sep. 29  Semantic Analysis(1)
Evaluation and control flow, static semantics 

Oct. 4  Semantic Analysis(2)
Examples of synthetic attributes and inherent attributes, Decoration of parse trees 
Homework assignment 2 (Due date: 10/13, 12:30pm) 
Oct. 6  Semantic Analysis(3)
Dynamic semantics 
Program assignment 2 (Due date: 10/20, 12:30pm) 
Oct. 11  Midterm Exam  
Oct. 13  Midterm Exam Review  
Oct. 18  Subroutines (1)
Denotational semantics, parameters 

Oct. 20  Subroutines (2)
Subroutine parameters, referencing environment of subroutine parameters, generic subroutines 

Oct. 25  Implementing Subroutines (1)
Activation record 
Homework assignment 3 (Due date: 11/1, 12:30pm) 
Oct. 27  Implementing Subroutines (2)
Dynamic link, and static link 

Nov. 1  Implementing Subroutines (3)
Static link maintainence, deep access, shallow access 

Nov. 3  FP Foundations, Scheme(1)
Functional programming, lambdacalculus 

Nov. 8  FP Foundations, Scheme(2)
Lambdacalculus 

Nov. 10  FP Foundations, Scheme(3)
Scheme 

Nov. 15  FP Foundations, Scheme(4)
Program structures and functions in Scheme 
Homework assignment 4 (Due date: 11/29, 12:30pm)
Program assignment 3 (Due date: 12/01, 12:30pm) 
Nov. 17  Logic Programming Foundations, Prolog(1)
Formal logic 

Nov. 29  Logic Programming Foundations, Prolog(2)
Prolog (1) 
Homework assignment 5 (Due date: 12/06, 12:30pm) 
Dec. 1  Logic Programming Foundations, Prolog(3)
Prolog (2) 