Laboratorios entregados y examenes resueltos de la materia.
- Repaso de programación básica en lenguaje C
- Repaso de compilación de programas
- Uso de editor de texto para trabajar
- Repaso de arreglos y estructuras en C.
- Repaso de uso de las librerías assert.h, stdio.h, stdbool.h
- Lectura y comprensión de código
- Familiarizarse con vocabulario informático: directorio, archivo, array, path, etc
- Reforzar cómo compilar programas con gcc
- Tener manejo de las instrucciones básicas del lenguaje de programación C
- Comenzar a manejar archivos como fuente de datos
- Tener manejo de standard input y standard output.
- Tener nociones del manejo de parámetros a través de la función principal main()
- Trabajar con módulos en C
- Introducir las cadenas en C
- Repaso de typedef
- Implementar el algoritmo de ordenación por inserción (insertion-sort)
- Implementar el algoritmo de ordenación rápida (quick-sort)
- Comparar desempeño de los algoritmos selection-sort, insertion-sort y quick-sort en distintos ejemplos
- Lectura y comprensión del código entregado por la cátedra
- Trabajar con implementaciones opacas de funciones leyendo su documentación
- Abstraer la noción de orden
- Usar procedimientos en C
- Uso de funciones locales en módulos en C
- Ejercitar la resolución de problemas
- Uso de arreglos multidimensionales y tipos enum
- Uso de arreglos con elementos de tipo struct
- Uso de redirección de stdout por línea de comandos
- Lectura robusta de archivos
- Comenzar a trabajar con punteros en C
- Simular variables de salida con punteros
- Comprender uso de punteros para mayor desempeño
- Administración de memoria dinámica (malloc(), calloc(), free())
- Llevar a lenguaje C los conceptos de TAD estudiados en el Teórico-Práctico
- Comprender conceptos de encapsulamiento vs acoplamiento
- Comprender concepto de implementación opaca
- Trabajar con cadenas en C como char*
- Introducir redirección de entrada estándar
- Implementa el TAD Pila con distintas representaciones
- Concepto y verificación de invariantes de representación
- Creación de arreglos dinámicos
- Funciones calloc() y realloc()
- Usar valgrind para detectar problemas de manejo de memoria
- Usar gdb para ayudar a solucionar bugs de programación
- Implementar el TAD ABB con sus operaciones elementales
- Familiarizarse con una interfaz de usuario básica TUI
- Definir la invariante de representación de un ABB
- Manejo de Strings en C
- Implementar un TAD String
- Implementar un TAD Diccionario
- Utilizar valgrind para eliminar memory leaks
- Utilizar gdb para erradicar bugs en los programas