v46200f8

Curso

Semana 01 - Repaso y Conceptos Fundamentales

Primera semana: introducción al curso, repaso de C básico, herramientas de desarrollo y primer laboratorio.

Semana 02 - Módulos y Organización del Código

Modularización de código: headers vs implementación, compilación separada y automatización con Makefiles.

Semana 03 - Introducción a Punteros

Conceptos básicos de punteros, aritmética de punteros, relación con arrays y paso por referencia a funciones.

Semana 04 - Estructuras y Memoria Dinámica

Gestión manual de memoria con malloc/free, estructuras (struct) básicas y combinación para crear arrays dinámicos complejos.

Semana 05 - Análisis de Algoritmos

Introducción al análisis de eficiencia: conceptos fundamentales, notación Big-O, metodología de análisis y casos de uso.

Semana 06 - Algoritmos de Búsqueda y Ordenación

Algoritmos fundamentales: búsqueda lineal vs binaria, ordenación básica (burbuja/selección/inserción) y avanzada (Quick/Merge/Heap Sort), análisis comparativo y criterios de selección.

Semana 07 - Recursión

Conceptos de recursión, casos base y recursivos, análisis de complejidad recursiva.

Semana 08 - TADs y Listas Enlazadas

Introducción a los Tipos Abstractos de Datos (TAD) y implementación práctica con listas enlazadas simples y dobles.

Semana 09 - Variantes de Listas Enlazadas

Exploración de dos mejoras fundamentales para listas enlazadas: puntero al último y listas doblemente enlazadas.

Semana 10 - Introducción a Pilas (Stacks)

Conceptos fundamentales de pilas: principio LIFO, operaciones básicas, implementación con arrays y listas enlazadas, y aplicaciones prácticas.

Semana 11 - Introducción a Colas (Queues)

Conceptos fundamentales de colas: principio FIFO, operaciones básicas, implementación con arrays circulares y listas enlazadas, y aplicaciones prácticas.

Semana 12 - Introducción a Árboles y BST

Conceptos fundamentales de árboles: estructura jerárquica, terminología básica, implementación con punteros, recorridos fundamentales y árboles binarios de búsqueda.

Semana 13 - Balanceo de Árboles BST y AVL

Técnicas de balanceo: rotaciones básicas, árboles AVL con balanceo automático, implementación en C y casos de rotación.

Semana 14 - Árboles Generales y K-arios

Conceptos fundamentales de árboles generales: representaciones múltiples, implementación con listas de hijos, recorridos especializados y aplicaciones prácticas.

Semana 15 - Introducción a Heaps (Montículos)

Conceptos fundamentales de heaps: propiedades de heap, representación con arrays, operaciones de inserción y extracción, y aplicaciones prácticas.

Semana 16 - Introducción a Hash Maps

Conceptos fundamentales de hash maps: función hash, resolución de colisiones, implementación con encadenamiento, y aplicaciones prácticas.

Enums en C - Tipos de Datos Enumerados

Guía sobre los tipos enumerados (enum) en C: definición, declaración, usos, ejemplos prácticos y consideraciones.

new y delete en C++

Gestión de memoria dinámica en C++: new, delete, new[] y delete[]

Referencias en C++

Explicación de cómo las referencias en C++ son alias de variables