Conceptos Base
El núcleo agnóstico del lenguaje (Cap. 1–14), enseñado en pseudocódigo antes de cualquier lenguaje concreto.
Introducción
Resolución de problemas, fundamentos de computación, estructura de programas y convenciones de pseudocódigo.
02Fundamentos
Flujo de control, variables, tipos, operadores, E/S básica y fundamentos de depuración.
03Condicionales
Operadores lógicos, sentencias if / if-else / if-else-if y el operador ternario.
04Bucles
Bucles while, for, do-while y foreach; anidamiento, bucles infinitos y equivalencia de bucles.
05Funciones
Definir y usar funciones; paso por valor/referencia, sobrecarga, argumentos variables, valores por defecto.
06Manejo de Errores
Programación defensiva versus estrategias de manejo de errores basadas en excepciones.
07Arrays, Colecciones y Memoria Dinámica
Arrays, memoria estática vs dinámica, copias superficiales/profundas, arrays multidimensionales, colecciones.
08Cadenas
Operaciones básicas con cadenas, comparaciones y tokenización.
09Entrada/Salida de Archivos
Procesamiento de archivos — rutas, manejo de errores, buffering y archivos binarios vs texto.
10Encapsulamiento y Objetos
Objetos, visibilidad de datos, accesores/mutadores, constructores, composición, principios de diseño.
11Recursión
Escribir funciones recursivas, recursión de cola, evitar la recursión y memoización.
12Búsqueda y Ordenamiento
Búsqueda lineal/binaria, ordenamiento por selección/inserción/quicksort/mergesort, comparadores y estabilidad.