Proyectos e implementacion de bibliotecas de la materia Programacion (2009). Realizados en el Primer / Segundo Cuatrimestre 2022.
- Introducción a la abstracción de datos y ocultamiento de información.
- Funciones de búsqueda, conversión, ordenamiento, etc.
- Manejo de arrays con notación y aritmética de punteros.
- Recursividad.
- Funciones de las bibliotecas string.h, ctype.h, math.h, stdlib.h, stdio.h, etc.
- Arrays bidimensionales.
- Arrays de punteros.
- Punteros a funciones.
- Funciones de biblioteca qsort, bsearch y lsearch.
- Archivos binarios y de texto, su creación, modos de acceso, posicionamiento, cierre, eliminación, y funciones relacionadas.
- Creación de tipos de datos, uniones, enumeraciones, macroreemplazos.
- Generación de arrays en tiempo de ejecución.
- Argumentos variables.
- Asignación dinámica de memoria vs. asignación estática de memoria.
- Primitivas para el manejo de Pilas, compatibilidad de primitivas entre la implementación estática y dinámica de Pilas.
- Su relación con la recursividad.
- Asignación dinámica de memoria vs. asignación estática de memoria.
- Primitivas para el manejo de Colas, compatibilidad entre la implementación estática y dinámica de Colas.
- Su relación con el "bufer" de teclado.
- Primitivas para el manejo de Listas.
- Creación, inserción, ordenamiento, búsqueda, eliminación, etc., con asignación dinámica de memoria.
- Listas circulares, su importancia en la implementación de colas y su parecido y diferencia con la implementación de pilas.
- Listas doblemente enlazadas.
- Árbol binario, creación, recorridas EnOrden, PreOrden y PosOrden.
- Árbol binario de búsqueda, su relación con la búsqueda binaria en arrays.
- Determinación de altura, y otras funciones.
- Árboles AVL y balanceados, determinación.
- Modificaciones menores con respecto al Lenguaje C.
- Comentarios, punteros constantes, sobrecarga de funciones, parámetros por defecto, parámetros por alias (referencia).
- Asignación y liberación dinámica de memoria, operadores new y delete.
- Flujos de entrada/salida, manipuladores.
- Programación Estructurada frente a la POO.
- Arquitectura y evolución del diseño de software.
- Clases, objetos, métodos y mensajes.
- Lenguajes que soportan la POO y su evolución.
- Clases, objetos, métodos de la clase (funciones miembro), funciones amigas.
- Especificación inline y const.
- Constructores y destructores, su ejecución automática.
- Puntero this.
- Sobrecarga de operadores.
- Arrays, punteros y objetos.
- Introducción a herencia simple y herencia múltiple.
- Clases derivadas.
- Diagramas de Jerarquía.
- Control de acceso a la clase base.
- Especificador protected.
- Manejo de excepciones, throw, catch, try.
- Especificación de excepciones.
- Funciones estándar assert, terminate y unexpected.
- Escritura, compilación y ejecución de programas sencillos desde la línea de comando.
- Uso de un Entorno de Desarrollo Integrado para la generación de aplicaciones de consola e interactivas.
- Tipos de datos, operadores, precedencia de operadores, clases predefinidas en el lenguaje (String y otras).