Schedule

Tentative Schedule, subject to change

#
Date
Topic
Text
Notes
Homeworks
Due
To do, Comments
1 8/31 Logistics, Introduction to PLs   00, 01 HW1   read: The 100 Year Language
browse: compilers, IDE, virtual machine, bytecode, PL Timeline, APL
view: how language fans see each other
see also: Teach yourself..., Worse is Better
2 9/5
Intro to PLs (cont), History of PLs
ch 1, 2 01, 02     read: Steele essay
view: Steele interview
3 9/7
Syntax
ch 3 03     read: sammet
see also: WP article, programming paradigms
4 9/12
Syntax
ch 3 03   HW1 due 9/11@11:59pm) read: operator precedence, BNF, BNF examples, EBNF, ebnf.pdf, CFG, parsing, Chomsky hierarchy
see also: BNF and EBNF: What are they and how do they work
note:Sep. 12 (Wed.): last day to add, or to drop w/o a 'W'
5 9/14
Syntax
ch 3 03 HW2    
6 9/19
Semantics
ch 3 04-viz 05     read: semantics, attribute grammar, operational semantics, denotational semantics, axiomatic semantics, Verification, proofs.pdf,
7 9/21
Semantics
ch 2 05   HW2
due 9/20
 
8 9/26 Lexical and Syntactic Analysis
Intro
ch 4 06     read: Regular expressions, regular grammars
9 9/28 Lexical and Syntactic Analysis
& Finite Automata
ch 4 07 HW3   read: compact guide to lex and yacc
try: flex example
10 10/3 Parsing ch 4 08     read: parsing, top-down, recursive descent, ll(k)
11 10/5 Parsing ch 4 08
09BUP
  HW3
due 10/4
read: bottom-up, lr(k)
12 10/10 Parsing,
MT review
ch 4 09BUP
     
13 10/12 Parsing ch 4 10yacc
     
14 10/17 Midterm          
15 10/19 Parsing ch 4 10yacc
11SDT
     
16 10/24 OOP ch 15 OOP1 HW4    
17 10/26 Functional programming, scheme ch 15 scheme1     do: download PLT Scheme (now called Racket), and/or try mzscheme on gl
read: Scheme Guide:1–Intro
seeAlso: Teach yourself scheme
18 10/31 scheme ch 15 scheme1   HW4
due 10/30
read:Guide:2–Essentials, using scheme on gl
view: xkcd
19 11/2 more scheme ch 15 scheme2     read: Guide:3–Datatypes, Guide:4–Exprs, scope, closure
20 11/7 FP in scheme ch 15 functional prog. in scheme HW5    
21 11/9 tail recursion   tail recursion      
22 11/14 environments   environments   HW5
due 11/13
 
23 11/16 currying   curry HW6    
24 11/21 scheme catch-up          
  11/23 THANKSGIVING!          
25 11/28 Perl I   perl HW7 HW6
due 11/27
 
26 11/30 Perl II   perl      
27 12/5 Perl III   perl HW8 HW7
due 12/04
 
28 12/7 Prolog ch 16 Prolog overview      
29 12/12 Prolog,
Finals review
ch 16 Prolog overview,
Final
  HW8 due
12/12@11:59pm