Date | Description |
---|---|
September 24 |
Overview & Racket intro slides lec1.rkt code |
September 26 |
Racket intro; Lists Scheme basics (notes) lec2.rkt code |
September 29 |
Lists and functions lec3.rkt code |
October 1 |
Lists, functions, let Recursion patterns (notes) lec4.rkt code |
October 3 | let, let*; iteration patterns; tail recursion; function parameters lec5.rkt code |
October 6 | Higher-order functions, lambda lec6.rkt code |
October 8 | simultaneous recursion, letrec, etc. lec7.rkt code |
October 10 | Lambdas and closures lec8.rkt code |
October 13 |
Environments and execution. Whiteboard pix: 1 2 3 |
October 15 |
Environments and closures. Whiteboard pix: 1 2 |
October 17 | Lazy evaluation, streams, and memos slides notes lazy.rkt code |
October 20 |
Promises, streams, and memos Whiteboard pix: 1 |
October 22 |
Racket structs, implementing programmings, interpreters, hw5 slides code |
October 24 | Interpreters, hw5 (concl.) additional code |
October 27 | Interpreters/MUPL wrapup |
October 29 | MUPL/hw5; Ruby intro slides; Sample code: Rat.rb, silly.rb |
October 31 | Ruby intro (cont.) terminal output |
November 5 | Ruby containers, blocks, and procs slides terminal output |
November 7 | Ruby: duck typing, inheritance, mixins, and modules slides; Sample code: Points.rb |
November 10 | Ruby inheritance and mixins inherit.rb |
November 12 | Parsers, scanners, grammars, and derivations slides |
November 14 | Regular expressions and scanners |
November 17 | Scanners (concl.) |
November 19 | Grammars and parsing slides |
November 21 | class canceled |
November 24 | LL grammars and top-down parsing; grammar hacking slides |
November 26 | Grammars and parsing (concl.) |
December 1 | Memory management: reference counting overview lecture notes |
December 3 | Memory management (cont.): garbage collection |
December 5 | Garbage collection (concl.); Course wrapup |