4.8.4.3 Sistemas de tipos básicos (6 horas) [Habilidades ABET1,ABET6,ABETa,ABETb,ABETi]

Referencias Bibliográficas: [,,] Temas
  1. Sistemas de tipos en lenguajes de programación.
  2. Modelos de declaración (enlace, visibilidad, alcance y tiempo de vida).
  3. Resumen de la verificación de tipos.

Objetivos de Aprendizaje (Learning Outcomes)

  1. Tanto para tipo primitivo y un tipo compuesto, describir de manera informal los valores que tiene dicho tipo [Familiarizarse]
  2. Para un lenguaje con sistema de tipos estático, describir las operaciones que están prohibidas de forma estática, como pasar el tipo incorrecto de valor a una función o método [Familiarizarse]
  3. Describir ejemplos de errores de programa detectadas por un sistema de tipos [Familiarizarse]
  4. Para múltiples lenguajes de programación, identificar propiedades de un programa con verificación estática y propiedades de un programa con verificación dinámica [Usar]
  5. Dar un ejemplo de un programa que no verifique tipos en un lenguaje particular y sin embargo no tenga error cuando es ejecutado [Familiarizarse]
  6. Usar tipos y mensajes de error de tipos para escribir y depurar programas [Usar]
  7. Explicar como las reglas de tipificación definen el conjunto de operaciones que legales para un tipo [Familiarizarse]
  8. Escribir las reglas de tipo que rigen el uso de un particular tipo compuesto [Usar]
  9. Explicar por qué indecidibilidad requiere sistemas de tipo para conservadoramente aproximar el comportamiento de un programa [Familiarizarse]
  10. Definir y usar piezas de programas (tales como, funciones, clases, métodos) que usan tipos genéricos, incluyendo para colecciones [Usar]
  11. Discutir las diferencias entre, genéricos (generics), subtipo y sobrecarga [Familiarizarse]
  12. Explicar múltiples beneficios y limitaciones de tipificación estática en escritura, mantenimiento y depuración de un software [Familiarizarse]

Generado por Ernesto Cuadros-Vargas , Sociedad Peruana de Computación-Peru, basado en el modelo de la Computing Curricula de IEEE-CS/ACM