Programación en Lenguaje Ada

Asignatura no presencial de libre elección

Grupo de Computadores y Tiempo Real
Facultad de Ciencias, Universidad de Cantabria


Para acceder al material del curso usar el Servidor Moodle

1. Profesores

2. Programa

Tema 1. Introducción a los computadores y su programación.
Arquitectura básica de un computador.El software del sistema. Lenguajes de alto nivel. El proceso de compilación.

Tema 2. Elementos básicos del lenguaje.
Introducción. Estructura de un programa. Variables, constantes y tipos simples. Expresiones. Instrucciones de control. Tipos de datos.Subprogramas y paso de parámetros. Reglas de visibilidad. Entrada/salida simple.

Tema 3. Modularidad y programación orientada a objetos.
Diseño modular y orientado a objetos. Concepto de clase y objeto. Paquetes. Compilación separada. Reglas de visibilidad. Tipos de paquetes.

Tema 4. Estructuras de datos dinámicas.
Relaciones entre datos. Punteros. Estructuras de datos dinámicas. Punteros a objetos estáticos.

Tema 5. Tratamiento de errores.
Excepciones. Excepciones predefinidas. Declaración de excepciones propias. Elevar y tratar excepciones. Manejadores. Funcionamiento de las excepciones. Formas más habituales de tratar excepciones. El paquete Ada.Exceptions.

Tema 6. Abstracción de tipos mediante unidades genéricas.
Abstracción de tipos. Paquetes genéricos. Subprogramas genéricos. Tipos como parámetros genéricos. Subprogramas como parámetros genéricos. Punteros a subprogramas.

Tema 7. Entrada/salida con ficheros.
Introducción. Ficheros. Entrada/salida de texto. Entrada/salida secuencial. Entrada/salida directa. Entrada/salida de streams.

Tema 8. Herencia y polimorfismo.
Programación orientada a objetos. Tipos etiquetados. Herencia. Tipos abstractos y privados. Polimorfismo. Programación incremental.

Tema 9. Programación concurrente y de tiempo real.
Concurrencia. Sincronización de espera. Sincronización de datos. Programación de tiempo real. Representación del hardware. Interrupciones. Gestión del tiempo. Prioridades.

Tema 10. Contenedores de Ada.
Introducción. Vectores. Listas. Mapas. Conjuntos. Ordenación.