Parte 0 — Pensamiento computacional y el método políglota

⬅️ Programa · 📚 Índice · ⏭️ Parte 1

14 clases · rango 001–014 · clases de método · nivel fundamentos · ~21 h (cronograma)

🧭 Aprender a pensar el problema antes de elegir con qué escribirlo.


🧭 De qué trata esta parte

Esta parte existe porque la mayor parte de lo que hace bueno a un programador no está dentro de ningún lenguaje. Modelar un problema, descomponerlo, escribir un algoritmo que se sepa correcto y estimar lo que costará son habilidades que sobreviven a cualquier cambio de tecnología, y son exactamente las que un curso «de Python» o «de Java» da por supuestas mientras enseña sintaxis.

Aquí no se escribe código en ningún lenguaje del núcleo. Se escribe pseudocódigo neutral, se traza a mano y se discute qué significa que dos programas hagan «lo mismo». Ese vocabulario es el que hace posible que a partir de la Parte 3 se pongan diez implementaciones lado a lado y la comparación enseñe algo en vez de ser un desfile de sintaxis.

La parte cierra con el método del propio curso —la ficha de transferencia, el casos.json, el verificador— para que sepas exactamente qué estás leyendo en cada clase posterior y qué garantía tiene cada afirmación.

🎒 Qué necesitas traer

Nada. Es el punto de entrada del programa y no requiere haber programado antes, aunque haber peleado con algún lenguaje hace que varias clases resuenen más.

🎯 Qué sabrás hacer al terminar

Resultados comprobables: si no puedes hacerlos, la parte no está cerrada.

  1. Modelar un problema como entradas, proceso, salidas, reglas y restricciones.
  2. Escribir un algoritmo en pseudocódigo neutral y trazarlo a mano sobre un caso concreto.
  3. Argumentar corrección y terminación en lugar de confiar en que «parece funcionar».
  4. Clasificar cualquier diferencia entre dos lenguajes como sintáctica, semántica o paradigmática.
  5. Estimar el orden de coste de un algoritmo antes de escribirlo.
  6. Leer una clase de código del curso sacándole todo el partido, y saber qué verifica la máquina.

🗺️ El recorrido, clase a clase

Las clases están agrupadas en bloques por la razón que las une. El orden es secuencial: cada una asume la anterior.

🔹 La tesis y la brújula · clases 001–002

Las dos clases que fijan de qué va el curso y con qué criterio se compara. Todo lo demás las usa.

🔹 Modelar el problema · clases 003–006

Antes del algoritmo está el modelo: qué entra, qué sale, qué se descarta y qué casos lo rompen.

🔹 Del papel al algoritmo · clases 007–010

Escribirlo sin lenguaje, comprobarlo a mano, estimar su coste y hacerlo legible.

🔹 El método del curso en la práctica · clases 011–014

Cómo está hecha una clase de código, cómo se verifica y cómo se lee un lenguaje ajeno.

⚠️ Los malentendidos que esta parte corrige

Se suele creer Lo que ocurre en realidad
«Aprender a programar es aprender un lenguaje.» El lenguaje es la última decisión, no la primera: sin modelo ni algoritmo, la sintaxis no te lleva a ninguna parte.
«Los lenguajes son todos iguales, solo cambia la sintaxis.» Falso en el eje semántico y en el paradigmático. Lo que cambia de verdad es qué se puede expresar y qué garantiza el lenguaje.
«El pseudocódigo es una pérdida de tiempo.» Es la única forma de escribir una vez lo que después se traduce diez veces — y de detectar que el problema estaba mal planteado antes de codificarlo.

🧪 Cómo estudiar esta parte

  1. Lee la clase entera antes de opinar. Son clases de razonamiento: el valor está en el argumento completo, no en la definición suelta.
  2. Contesta la pregunta que abre cada clase con tus palabras antes de seguir a la siguiente. Si no puedes, vuelve al párrafo del objetivo.
  3. Aplícalo a un problema tuyo. Estas clases no se verifican con una máquina; se verifican usándolas sobre código real que ya escribiste.
  4. Anota los términos nuevos. Aparecen otra vez, con código delante, a partir de la Parte 3 — y están todos en el glosario.

📚 Fuentes de referencia de esta parte

Cada clase cita estos libros en su sección de referencias. No se reproduce su contenido: la redacción es original.

🔗 Qué abre esta parte

Con el método fijado, la Parte 1 lo aplica al mapa completo de los lenguajes: de dónde viene cada uno y a qué familia pertenece.


⬅️ Programa · 📚 Índice · ⏭️ Parte 1