Date | Description |
---|---|
September 24 | Introduction, Racket intro |
September 26 | Racket intro; Lists lec2.rkt code Scheme basics (notes) |
September 28 | Lists and functions lec3.rkt code |
October 1 | Lists, functions, tail recursion lec4.rkt code Recursion patterns (notes) |
October 3 | Iteration patterns, function parameters lec5.rkt code |
October 5 | Higher-order functions, lambda lec6.rkt code |
October 8 | Lambdas, closures, nested scopes lec7.rkt code |
October 10 | Lambdas and closures lec8.rkt code |
October 12 | Environments and execution. Whiteboard pix: environments closures |
October 15 | Environments and closures. Whiteboard pix: nested let curried plus |
October 17 | Examples with closures as parameters |
October 19 | Lazy evaluation, streams, and memos slides notes code |
October 22 | Racket structs, implementing programmings, interpreters slides |
October 24 | Interpreters (concl.), HW5 |
October 26 | HW5 wrapup, Memory management |
October 29 | Reference counting, GC overview |
October 31 | Mark/sweep garbage collection |
November 2 | Compacting and generational collectors |
November 7 | Ruby intro slides Rat.rb |
November 9 | Ruby containers, blocks, and procs slides demo |
November 14 | Ruby: duck typing, inheritance, mixins, modules duck slides inheritance slides points.rb inherit.rb |
November 16 | Ruby wrapup; Parsers, scanners, grammars intro |
November 19 | Grammars, derivations, regular expressions slides |
November 21 | Regular expressions and scanners (concl) |
November 26 | Parsers, context-free grammars, ambiguity slides |
November 28 | LL grammars and top-down parsing slides |
November 30 | Parsing & grammar hacking |
December 3 | Multiple inheritance etc. slides |
December 5 | Late binding and dynamic dispatch slides objects.rkt |
December 7 | Wrapup and review |