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