** 2010/2 Planning ** | **semana** | dia | **materia** | **referencias/material** | **evaluaciones** | | semana 1 | 1 | intro\\ programación en Scheme | | | | | 2 | Scheme | | | | semana 2 | 1 |modelar lenguajes\\ interpretar expresiones aritmeticas|PLAI 1-2 | | | | 2 |substitución | PLAI 3 | | | semana 3 | 1 |definición substitución\\ regimen lazy/eager\\ de bruijn\\ intro funciones (BNF, fundef)|PLAI 3\\ PLAI 4.1 | | | | 2 |fin funciones\\ substitución diferida, primer intento|PLAI 4\\ PLAI 5.1| publi T1 | | semana 4 | 1 |scope estatico vs. dinámico\\ substitución diferida con scope estático\\ tipos de funciones\\ funciones de primera clase con substitucion explicita\\ with como azucar sintactico| PLAI 5\\ PLAI 6.1-3 | | | | 2 | //auxiliar extra// | | control 1\\ entrega T1 | | semana 5 | 1 | //clase suspendida (facultad)// | | | | | 2 | scope dinamico, ejemplos | | | | semana 6 | 1 | scope estatico con ambientes: closures\\ intro Haskell | | | | | 2 | intro Haskell\\ implementación eval perezosa | | publi T2 | | semana 7 | 1 | mas ejemplos Haskell / bash | | | | | 2 | call-by-name / call-by-need\\ memoization/caching | | | | semana 8 | 1 | entender recursion\\ implementar recursion | | | | | 2 | recursion/tail calls \\ estado mutable | | entrega T2 | | semana 9 | 1 | representacion procedural | | | | | 2 | //auxiliar extra// | | control 2 | | semana 10 | 1 | mutación con box, store, interprete (up to app) | | publi T3 | | | 2 | fin estado / macros | | | | semana 11 | 1 | macros | | | | | 2 | fin macros (syntax-case) \\ oop1: objetos simples | | entrega T3 / publi T4 | | semana 12 | 1 | oop2: fin objetos simples \\ adt vs. oop | | | | | 2 | oop3: self\\ forwarding vs. delegation | OOPLAI 2\\ OOPLAI 4.1-4.3 | | | semana 13 | 1 | oop4: programar con prototipos\\ modularidad\\ scope lexico vs. delegación | OOPLAI 4 | | | | 2 | oop5 | | entrega T4 / publi T5 | | semana 14 | 1 | gc | | | | | 2 | gc | | control 3 | | semana 15 | 1 | oop6 | | | | | 2 | oop7 | | entrega T5 |