Tentative Schedule, subject to change
|
|
|
text |
|
|
|
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 |
|
ch 15 |
|
|
|
read: Guide:3, Guide:4, scope, closure
|
15 |
3/15 |
|
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 |
|
|
|
|
|
study: everything
note: finin out
|
17 |
3/29 |
more scheme |
ch 15 |
|
|
|
read:
note: finin out
|
18 |
4/3 |
|
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 |
|
|
|
|
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 |
|
|
|
|
|