Tentative Schedule, subject to change

#
date
topic
text
notes
Homeworks
Opt.
to do, comments
1
1/26
Logistics, Introduction to PLs
 
 
read: The 100 Year Language, compilers, IDE, virtual machine, bytecode, PL Timeline, APL
view: how language fans see each other
seeAlso: Teach yourself..., Worse is Better
2
1/31
Intro to PLs (cont), History Part 1
ch 1, 2
 
 
read: The 100 Year Language, compilers, IDE, virtual machine, bytecode, PL Timeline, APL
view: how language fans see each other
seeAlso: Teach yourself..., Worse is Better
3
2/2
Syntax
ch 3
 
 

read: sammet, Steele essay, WP article, programming paradigms
view: Steele interview

4
2/7
Syntax
ch 3
 
HW1
5
2/9
Syntax
ch 3
 

read: operator precedence, BNF, BNF examples, EBNF, ebnf.pdf, CFG, parsing, Chomsky hierarchy
seeAlso: BNF and EBNF: What are they and how do they work
note: Feb. 8 (Wed.): last day to add, or to drop w/o a 'W'

5b
2/9
Python 1
--
 
 
read: Python,
explore: python.org
6
2/14
Semantics
ch 4
 

read: semantics, attribute grammar, operational semantics, denotational semantics, axiomatic semantics, Verification, proofs.pdf,
seeAlso:

6b 2/14 Python 2 -- Python 2     view: Python for Programmers (+slides)
7
2/16
Lexical and Syntactic Analysis
ch 4
 
 
read: Regular expressions, regular grammars
7b 2/16 Python 3 --     read: Python for Java programmers, Python idioms, PEP8
8
2/21
Lexical and Syntactic Analysis
ch 4
read: compact guide to lex and yacc
8b 2/21 Python 4 --      
9
2/23
Parsing
ch 4
HW2
try: flex example
9b 2/23 Python 5 --     WF examples
10
2/28
Parsing
ch 4

read: parsing, top-down, recursive descent, bottom-up, ll(k), lr(k)
note: last day to change from graded to audit

10b 2/28 Python 6 --      
11
3/1
Parsing
ch 4
 
read:
12
3/6
Functional programming,scheme
ch 15
 

do: download PLT scheme, and/or try mzscheme on gl
read: on using DrScheme , Guide:1
seeAlso: Teach yourself scheme

13
3/8
scheme
ch 15
 
HW3

read: on using DrScheme , Guide:1, Guide:2, using scheme on gl
view: xkcd

14
3/13
scheme
ch 15
 HW4
 
read: Guide:3, Guide:4, scope, closure
15
3/15
scheme
ch 15
read: currying, Haskell,
run: cfg1.ss, cfg2.ss, cfg.ss, fib.ss
view: xkcd
--
3/20
Spring Break
 
 


--
3/22
Spring Break
 
 


16
3/27
mid term
 
 

study: everything
note: finin out

17
3/29
more scheme
ch 15
read:
note: finin out
18
4/3
FP in scheme
ch 15
 
view: DrScheme v4 tour
read: functional programming, lambda calculus,
19
4/5
tail recursion
   
read: tail recursion, lazy evaluation, delay,variable
explore:
view:
20
4/10
Perl and R

 


Read: Perl, R, R tutorial
code: MyHash.r
note: finin out

21
4/12
environments
HW5 
 
read: Currying,
22
4/17
Streams

streams

 
23
4/19
Continuations

scheme in scheme 1

 
HW5
read: control, continuation, call/cc, call/cc2
note: 4/16 (Mon): last day to drop with 'W'

24
4/24
FP in Python
read: Google Python Style Guide, iter tutorial, iterators, generators
25
4/26
Scheme in Scheme
ch 5
HW6

read: SICP 4.1, MCE, spelling
study: mcscheme
watch: growing a language

26
5/1
Perl I
 
27
5/3
Perl II
28
5/8
Prolog
ch 16

Prolog overview

 
try:
29
5/10
Prolog, Review
ch 16

Prolog overview,
Final

 
HW7
try:
--
5/17 (Thu)
Final Exam: 6:00-8:00