Date | Topic | Assignment |
---|---|---|
Aug. 23 | Introduction | |
Aug. 25 | Introduction (2) | |
Aug. 30 | Programming Language Syntax(1)
Regular Expressions, Context-Free 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, Recursive-Decent 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, lambda-calculus |
|
Nov. 8 | FP Foundations, Scheme(2)
Lambda-calculus |
|
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) |