CSE 413 Autumn 2016
Lecture Topics

Subscribe to this calendar (google, iCal, etc.)

Probable schedule. Expect some changes as the quarter progresses.

DateDescription
September 28 Overview & Racket intro
slides demo transcript
September 30 Racket intro; Lists
Racket basics (notes) code
October 3 Lists and functions
code
October 5 Lists, functions, let, let*
code
October 7 tail recursion; function parameters; higher-order functions (map, filter)
code
October 10 Functions as values, lambdas
code
October 12 Higher-order functions; intro to environments and execution
code
October 14 Closures and environments
code
October 17 Closures and environments (trace)

Board pix: defs env more env
October 19 More examples closures, environments
October 21 Lazy evaluation, streams, and memos
slides notes lazy.rkt code
October 24 Promises, streams, and memos
October 26 Racket structs, implementing interpreters
slides code
October 28 Interpreters, hw5
more code
October 31 MUPL/hw5 (concl.); Ruby intro
slides
November 2 Ruby intro (cont.);
code: silly.rb, Rat.rb terminal output
November 4 Ruby intro (concl.); containers, blocks, and procs
slides terminal output
November 9 Ruby: duck typing, inheritance, mixins, and modules
slides; code: Points.rb inherit.rb
November 14 Parsers, scanners, grammars, and derivations
slides
November 16 Regular expressions and scanners
November 18 Scanners (concl.)
November 21 Scanners (concl.) Grammars and parsing
slides
November 23 Grammars, ambiguity
November 28 LL grammars and top-down parsing; grammar hacking
slides
November 30 Grammars and parsing (concl.)
December 2 Memory management: reference counting
overview   lecture notes
December 5 Memory management (cont.): garbage collection
December 7 Garbage collection (concl.)
December 9 Course wrapup