La materia tiene por objetivo que l@s sean capaces de utilizar tecnologías y conceptos de programación que extienden el modelo orientado a objetos clásico.  Además que conozcan tecnologías y conceptos modernos que se utilizan con frecuencia en la industria.

Modos de Cursada: Cuatrimestral Presencial

Horas Semanales: 4 horas

Demanda de tiempo en casa semanal: 4 horas

Sitio web:

  • Aún no disponible

Programa de la materia:

Contenidos Mínimos:

  • Introducción a los sistemas de tipos y chequeo de tipos en un lenguaje de programa-cion con objetos: tipos nominales y estructurales, tipado explícito e implícito. Duck typing. Inferencia de tipos. Esquemas de binding, early / late binding.
  • Variantes del paradigma de objetos. Bloques y closures. Non-local returns. Herencia simple y múltiple; mixins y traits.
  • Programación orientada a objetos basada en prototipos. Introducción a la programación orientada a aspectos. Open classes. Extensiones al paradigma de objetos mediante la introducción de conceptos provenientes del paradigma funcional.
  • Desarrollo de aplicaciones sencillas utilizando las variantes del paradigma de objetos. Construcción de programas multilenguaje y multiparadigma. Implicancias en el diseño, patrones de diseño en las diferentes variantes del paradigma, behavioral completeness.
  • Meta programación, programación reflexiva, introspección, self-modification. Mirrors.
    Lenguajes específicos de dominio (DSL). Clasificación de los DSLs: compilados, interpretados; traductores; embebidos. Creación de DSLs. Programación declarativa.