Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
teaching:cc5104 [2011/10/08 20:17] – etanter | teaching:cc5104 [2014/05/30 11:48] (current) – etanter | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ====== CC71Y - Lenguajes de Programación II ====== |
**Objetivo general** | **Objetivo general** | ||
El curso entrega los elementos técnicos y formales necesarios para entender la problematica de garantizar que los programas cumplen con sus objetivos, limitando efectos indeseados, lo más temprano posible. Se estudian las nociones de programas válidos, errores y excepciones, | El curso entrega los elementos técnicos y formales necesarios para entender la problematica de garantizar que los programas cumplen con sus objetivos, limitando efectos indeseados, lo más temprano posible. Se estudian las nociones de programas válidos, errores y excepciones, | ||
+ | |||
+ | **Nota:** | ||
+ | La nueva edición del curso tendrá dos enfoques adicionales: | ||
+ | * **tipos graduales**: | ||
+ | * introducción a la **programación certificada** en Coq: definir programas junto con una demostración de su correctitud. | ||
+ | |||
+ | |||
//Este curso es parte de los grupos de cursos recomendados para las lineas de especialización en Ciencia de la Computación y en Ingeniería de Software.// | //Este curso es parte de los grupos de cursos recomendados para las lineas de especialización en Ciencia de la Computación y en Ingeniería de Software.// | ||
Line 16: | Line 23: | ||
* simples extensiones (formas derivadas, pares, tuplas, records, sumas, variantes, etc.) | * simples extensiones (formas derivadas, pares, tuplas, records, sumas, variantes, etc.) | ||
* extensiones avanzadas: recursión, referencias, | * extensiones avanzadas: recursión, referencias, | ||
- | * conexión con lógica constructiva (o " | ||
- | * polimorfismo de subtipos, coerciones | ||
- | * tipear objetos (object calculus, Featherweight Java) | ||
* polimorfismo paramétrico (" | * polimorfismo paramétrico (" | ||
* inferencia de tipos | * inferencia de tipos | ||
- | | + | |
- | | + | |
+ | | ||
+ | * tipos dependientes | ||
- | Además de la base teorica, el curso insistirá sobre la construcción de artefactos | + | Además de la base teorica, el curso insistirá sobre la construcción de artefactos. |
** Material de referencia** | ** Material de referencia** | ||
* **(principalmente)** Types and Programming Languages (TAPL), Benjamin Pierce | * **(principalmente)** Types and Programming Languages (TAPL), Benjamin Pierce | ||
+ | * Software Foundations (SF), B. Pierce et al. | ||
+ | * Certified Programming with Dependent Types (CPDT), Adam Chlipala | ||
* Programming Languages: Application and Interpretation (PLAI), Shriram Krishnamurthi | * Programming Languages: Application and Interpretation (PLAI), Shriram Krishnamurthi | ||
* Practical Foundations for Programming Languages (PFPL), Robert Harper | * Practical Foundations for Programming Languages (PFPL), Robert Harper | ||
- | * Type Systems (TS), Luca Cardelli | ||
- | |||
- | ** Horario ** | ||
- | |||
- | Para el 2011/2, el horario es: 1.5/ | ||
** Evaluación ** | ** Evaluación ** | ||
Mini-controles y tareas. No hay examen. | Mini-controles y tareas. No hay examen. | ||
+ | |||
+ | ** Horario ** | ||
+ | |||
+ | TBA | ||
+ |