Tentative Schedule, subject to change
# |
day |
date |
topic |
notes |
out |
due |
to do, comments |
1 |
Wed |
1/27 |
Introduction |
|
|
|
read: The 100 Year Language
view: how language fans see each other
|
2 |
Mon |
2/1 |
Introduction |
|
|
|
read: sammet, Steele essay, WP article, programming paradigms
view: Steele interview
seeAlso: Teach yourself... |
3 |
Wed |
2/3 |
History |
|
|
|
read: compilers, IDE, virtual machine, bytecode, PL Timeline, APL
seeAlso: Worse is Better
|
4 |
Mon |
2/8 |
UMBC closed |
|
|
|
seeAlso: snow
note: Last day to add class 2/9
|
5 |
Wed |
2/10 |
UMBC closed |
|
|
|
read: operator precedence, BNF, BNF examples, EBNF, ebnf.pdf
seeAlso:
BNF and EBNF: What are they and how do they work?
|
6 |
Mon |
2/15 |
Syntax |
|
|
|
read: CFG, parsing, Chomsky hierarchy,
seeAlso:
|
7 |
Wed |
2/17 |
Syntax, Semantics |
|
|
|
read: semantics, attribute grammar, operational semantics, denotational semantics, axiomatic semantics, Verification, proofs.pdf, |
8 |
Mon |
2/22 |
Semantics, Lexical scanning |
|
|
HW2 |
read: Regular expressions, regular grammars
note: 2/23 is last Day to drop w/o 'W'
|
9 |
Wed |
2/24 |
Lexical scanning, |
|
|
|
try: flex example |
10 |
Mon |
3/1 |
Parsing |
|
|
|
read: compact guide to lex and yacc
|
11 |
Wed |
3/3 |
Pasing |
|
|
|
read: parsing, top-down, recursive descent, bottom-up, ll(k), lr(k)
|
12 |
Mon |
3/8 |
scheme |
|
|
HW3 |
do: download PLT scheme, and/or try mzscheme on gl
read: PLT Scheme, FP, What made Lisp different, Lisp FAQ, Scheme
seeAlso: Teach yourself scheme
|
13 |
Wed |
3/10 |
scheme |
|
|
|
read: Guide:1, Guide:2,
read: on using DrScheme
view: xkcd
watch: growing a language
|
-- |
Mon |
3/15 |
spring break |
|
|
|
spring break |
-- |
Wed |
3/17 |
spring break |
|
|
|
spring break |
14 |
Mon |
3/22 |
scheme |
|
|
|
read: Casting spels in Lisp,
view: xkcd
read: Guide:3, Guide:4,
|
15 |
Wed |
3/23 |
scheme |
|
|
hw4 |
read: variable, scope, closure, |
16 |
Mon |
3/29 |
scheme closures |
|
|
|
read: tail recursion, lazy evaluation, delay, currying, Haskell
view: DrScheme v4 tour
run:
cfg1.ss, cfg2.ss, cfg.ss, fib.ss
|
17 |
Wed |
3/31 |
scheme contol |
|
|
hw5 |
read: crontol, continuation, call/cc, call/cc2, |
18 |
Mon |
4/5 |
mid term exam |
|
|
|
|
19 |
Wed |
4/7 |
Scheme closures |
|
|
|
|
20 |
Mon |
4/12 |
Scheme
continuations |
|
|
|
read: Python,
explore: python.org
view: Python for Programmers (+ slides)
read: Python for Lisp programmers, Python idioms, PEP8,
view: xkcd,
|
21 |
Wed |
4/14 |
Python |
Python 1
Python 2 |
hw6 |
|
note: last day to withdraw
read: Python datastructures, control,
view: Advanced Python (+ slides), xkcd
ex: wf?.py
|
22 |
Mon |
4/19 |
Python |
|
|
|
read: comprehensions, PEP202, classes, modules, stdlib |
23 |
Wed |
4/21 |
Python |
|
|
|
read: Python regular expressions, regular expressions, piglatin, tfidf
study: pig.py
|
24 |
Mon |
4/26 |
Python OOP |
|
|
|
guest lecture, Google Python Style Guide |
-- |
Wed |
4/28 |
Scheme in Scheme |
scheme in scheme |
|
|
read: SICP 4.1, MCE, spelling,
study: mce2.ss, jmc-lisp.ss,
|
25 |
Mon |
5/3 |
Scheme in Scheme |
|
|
|
read:
study: mcscheme
|
26 |
Wed |
5/5 |
SIP |
|
|
|
read: recursive descent parser, CPS, lexical analysis, intern, weak reference,
try: mycons.ss, fact.py, pyscheme1.6, pyscheme1.7, |
27 |
Mon |
5/10 |
SIP |
|
|
|
read: ltu, clojure, tramp |
28 |
Wed |
5/12 |
types, the rest |
|
|
|
read: GVR, type system,
view: 50 by 50 , py3k ,
|
-- |
Mon |
5/17 |
final exam 3:30-5:30 |
|
|
|
study: old exams, answers, 2010 final, 2010 answers |
|