5.6.5.3 Sistemas de tipos básicos (6 horas)

Resultados de la carrera Outcomes: 6
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 (Familiarity)]
  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 (Familiarity)]
  3. Describir ejemplos de errores de programa detectadas por un sistema de tipos [Familiarizarse (Familiarity)]
  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 (Usage)]
  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 (Familiarity)]
  6. Usar tipos y mensajes de error de tipos para escribir y depurar programas [Usar (Usage)]
  7. Explicar como las reglas de tipificación definen el conjunto de operaciones que legales para un tipo [Familiarizarse (Familiarity)]
  8. Escribir las reglas de tipo que rigen el uso de un particular tipo compuesto [Usar (Usage)]
  9. Explicar por qué indecidibilidad requiere sistemas de tipo para conservadoramente aproximar el comportamiento de un programa [Familiarizarse (Familiarity)]
  10. Definir y usar piezas de programas (tales como, funciones, clases, métodos) que usan tipos genéricos, incluyendo para colecciones [Usar (Usage)]
  11. Discutir las diferencias entre, genéricos (generics), subtipo y sobrecarga [Familiarizarse (Familiarity)]
  12. Explicar múltiples beneficios y limitaciones de tipificación estática en escritura, mantenimiento y depuración de un software [Familiarizarse (Familiarity)]
Bibliografía: [Stroustrup, 2013a,M.Josuttis, 2019,Deitel, 2017]

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