PRIMERA PARTE
U1 - INTRODUCCIÓN, SINTÁXIS Y GRAMÁTICA
- Manejo de terminal
- Compilacion y ejecución
- Sintaxis y gramática
- Tipos de datos
- Definicion de variables y constantes
Librerias:
<stdio.h>
Funciones:
main, while, printf, sizeof, typedef, if, while, for, const
U2 - CONDICIONES, ARREGLOS Y CADENAS
- Condicionales (if, while, for)
- Operadores de condicion (asignacion, aritmeticos, otros)
- Funciones y operadores Booleanos
- Vectores y Matrices
- Cadenas como arreglos de chars
- Entrada y salida de datos (stdin, stdout, stderr)
Librerias:
<stdbool.h>, <string.h>, <stdlib.h>, <math.h>, <ctype.h>
Funciones:
strlen, strcpy, strcat, strcmp, getchar, fgets, putchar, puts, atoi, atof
SEGUNDA PARTE
U3 - PUNTEROS
- Alcance de variables
- Punteros
- Niveles de punteros
- Devolucion por el nombre y por la interfaz
- Aritmetica de punteros
- Punteros genericos
U4 - ESTRUCTURAS, TABLAS DE BUSQUEDA, MANEJO DE BITS
- Enumerativos
- Estructuras
- Padding
- Tablas de busqueda
- Manejo de bits
- Tipos de dato asegurado (int8_t)
- Enumerativos con manejo de bits
Librerias:
<stddef.h>, <stdint.h>
Funciones:
stderr, NULL, int8_t, uint16t
U5 - MEMORIA DINAMICA, DEBUGGING
- Stack y Heap
- Memoria dinámica
- Arreglos dinámicos
- Matrices dinámicas
- Depuración (Debugging)
- GDB (GNU Debugger)
- Valgrind
Librerias:
<assert.h>
Funciones:
malloc, free, realloc, memcpy, assert, NDEBUG, gdb, valgrind
TERCERA PARTE
U6 - PUNTEROS A FUNCIONES
- Punteros a funciones
- Arreglos de punteros a funciones
- Punteros a funciones con tablas de busqueda
- Argumentos de la linea de comandos (CLA)
U7 - TIPO DE DATO ABSTRACTO (TDA), MODULARIZACIÓN
- Contratos
- Modularización
- Tipo de dato abstracto (TDA)
- Invariante de representación
- Modularización
- Constructores, destructores, getters, setters, primitivas
- Automatización del proceso de compilación (makfile)
Funciones:
qsort, static, extern
U8 - BUSQUEDA Y ARCHIVOS
- Algoritmo de búsqueda binaria
- Archivos (unicode, UTF-8, FILE, otros)
bsearch, fopen, fclose, fgetc, fputc, fputs, fprintf, fread, fwrite
CUARTA PARTE
U9 - LISTAS ENLAZADAS, PILAS Y COLAS
- TDA lista con vector dinamico
- Listas enlazadas
- Iterador de listas
- Pilas
- Colas
- Arreglos circulares
calloc, sprintf, strdup
U10 - RECURSIÓN Y ALGORITMOS DE ORDENAMIENTO
- Recursividad
- Algoritmos recursivos
- Algoritmos de ordenamiento 1 (Seleccion, insercción)
- Algoritmos de ordenamiento 2 (mergesort, quicksort)