Computer Science I
Un libro abierto de CS1 que enseña conceptos antes que sintaxis — un núcleo agnóstico, y luego las mismas ideas reconstruidas en C, Java y PHP.
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.
El Lenguaje de Programación C
Parte I — conceptos de CS1 en C, con énfasis en punteros, memoria manual, structs y códigos de error.
Programming LanguageEl Lenguaje de Programación Java
Parte II — conceptos de CS1 en Java, con énfasis en objetos, excepciones, equals/hashCode y lambdas.
Programming LanguageEl Lenguaje de Programación PHP
Parte III — conceptos de CS1 en PHP, con énfasis en malabarismo de tipos, arrays asociativos y E/S orientada a web.