Cómo usar este material¶
Esta página explica cómo se trabaja con el material del curso: qué se espera de cada tipo de bloque, qué convenciones siguen los ejemplos, cuándo hace falta una clave de API o una GPU, y qué hacer cuando algo falla.
No es la teoría del curso: es la guía para saber leer y trabajar el material. Lo que se aprende está en los capítulos.
Los cuatro tipos de bloque¶
El material mezcla cuatro cosas, y no son intercambiables. Leer el rótulo antes de empezar evita la confusión más común del curso.
| Rótulo | Qué es | Qué se espera de ti |
|---|---|---|
| Lección | Explicación de un concepto, con su vocabulario. | Leer y entender. No hay que entregar nada. |
| Ejemplo | Código mínimo que demuestra una sola idea, con su salida esperada. | Ejecutarlo y comparar tu salida con la esperada. |
| Práctica (guiada o de transferencia) | Un problema con los pasos indicados, para aplicar lo aprendido en un caso nuevo. | Hacerla y comprobar el resultado. Prepara el producto evaluable. |
| Producto evaluable | Un entregable con criterios de aceptación claros. | Entregarlo. Es lo que se evalúa. |
La diferencia entre leer y ejecutar
Leer un ejemplo da la impresión de entenderlo. Ejecutarlo es lo que comprueba que lo entiendes. Si tu salida no coincide con la esperada, no sigas: el siguiente ejemplo ya estará construido sobre una base que no funciona, y el error se propaga. Para eso están las secciones de errores frecuentes de cada capítulo.
Qué hacer si tu salida difiere
- Cambia algún decimal o el formato: puede ser la versión de una
librería. Comprueba la de tu entorno (
uv run python -c "import pandas; print(pandas.__version__)"). - Cambia el resultado entero: probablemente has usado datos distintos o te has saltado un paso anterior.
- Aparece un error: busca el mensaje en la sección de errores frecuentes del capítulo.
- Sigue sin cuadrar: ejecuta de nuevo desde el principio. Un paso que modificaste antes puede seguir afectando al resultado.
Convenciones de nombres¶
Algunos títulos y bloques llevan una etiqueta que indica su papel:
| Etiqueta | Significado |
|---|---|
| Núcleo | El recorrido principal del capítulo. |
| Ampliación | Profundiza en lo anterior o añade una variante útil. |
| Ejercicio | Para practicar por tu cuenta y comprobar que lo has entendido. |
| Referencia | Tablas de comandos, opciones o equivalencias para consultar. |
| Infraestructura | Montaje o comprobación del entorno; no es teoría. |
Núcleo y ampliación
Todo el grupo trabaja todos los capítulos, ampliaciones incluidas: una ampliación no es un contenido que se pueda saltar, sino una parte que se estudia después del núcleo y que no bloquea el producto evaluable. Si vas con el tiempo justo, asegura primero el núcleo y la práctica, y vuelve después a las ampliaciones.
Semillas y reproducibilidad¶
Todo lo que usa números aleatorios lleva una semilla fija (random_state
en el ejemplo, una constante SEMILLA en el capítulo). Eso hace que un
resultado sea siempre el mismo.
Qué hacer: no cambies la semilla si quieres comparar tu salida con la esperada. Cámbiala solo si el ejercicio te pide explorar cómo varía un resultado; en ese caso, anota qué cambia y qué se mantiene.
Por qué importa: sin semilla, dos ejecuciones dan números distintos y ya no se puede hablar de «la salida correcta». Es la diferencia entre un ejemplo reproducible, que cualquiera puede comprobar, y uno que hay que creerse.
Cuándo hace falta algo externo¶
No todo se puede ejecutar en un portátil de aula. Antes de un capítulo, comprueba si pide algo de esta tabla:
| Recurso | Dónde aparece | Qué necesitas |
|---|---|---|
| Clave de API | Programación de IA, 3.1 y siguientes (los capítulos que llaman a un LLM) | Una cuenta en el proveedor. La clave va siempre en .env, nunca en el código ni en un cuaderno. |
| GPU | Programación de IA, 3.5 y 3.9, y las partes de ML con modelos grandes | Solo para entrenar o servir en local. Los apuntes incluyen la alternativa en CPU. |
| Docker | Programación de IA, 2.8 y 2.10 | Necesario. Se instala en ese momento y el capítulo lo explica desde cero. |
| PostgreSQL | Programación de IA, 2.3 y 2.10 | Lo levanta Docker. No hace falta instalarlo en tu sistema. |
| Descarga de modelos | Programación de IA, 3.5 | Varios GB. Hazla con buena conexión y con tiempo, antes de la sesión. |
En la Unidad 1 de los dos módulos no necesitas nada de esta tabla: basta con el entorno de trabajo.
La clave de API no se comparte ni se sube
Una clave de API funciona como una contraseña ligada a tu cuenta: quien la
tenga puede usar el servicio y el gasto se te cobra a ti. Guárdala en un
fichero .env (ignorado por Git) y léela desde el programa; el capítulo
que la necesita explica cómo. Si escribes la clave en un cuaderno o la
copias en un mensaje, cámbiala enseguida: en cuanto sale de tu equipo,
está comprometida.
Sin recursos, el capítulo no se puede hacer
Si un capítulo necesita algo que no tienes, no es un fallo tuyo. Avisa antes de la sesión y se resuelve con una alternativa o con trabajo en parejas. La explicación del capítulo sigue siendo válida aunque no llegues a ejecutarla.
Cuando algo falla¶
Sigue este orden, de menos a más costoso:
- Lee el error entero, incluido el tipo y la línea. Python suele decir en la última frase qué espera encontrar.
- Comprueba la carpeta y el entorno: que estás en la raíz del proyecto y
que ejecutas con
uv run. Ejecutar con otro Python es la causa más común de «funcionaba y hoy no». - Busca el mensaje en la tabla de errores frecuentes del capítulo.
- Ejecuta de nuevo desde el principio: un paso anterior que cambiaste puede seguir afectando al resultado.
- Si sigue fallando, anota el error completo (mensaje y traza) y dilo. Sin el texto exacto es mucho más lento resolverlo.
Documentar el problema es parte del trabajo
En un módulo de programación, parte de lo que se entrega es saber explicar qué falló y por qué. Si guardas la traza del error y explicas la causa, has resuelto dos cosas a la vez.
Cómo y cuándo preguntar¶
- Antes de la sesión: si un capítulo pide una clave, una GPU o una descarga grande, avisa con antelación. Esto sí o sí tiene solución.
- Durante la práctica: si llevas más de 15 minutos con el mismo error, pregunta. No es pérdida de tiempo: saber pedir ayuda también se aprende.
- Entre sesiones: lleva el error escrito y qué esperabas que pasara.
Una pregunta bien hecha incluye: qué esperabas, qué obtuviste y el mensaje completo. Con eso se responde en un minuto; sin eso, en diez.
Lo que no hace falta saber¶
Para empezar no necesitas:
- saber programar: la Unidad 1 de Programación de IA empieza desde cero;
- saber Docker;
- saber bases de datos;
- conocer nada de IA.
Cada herramienta se explica cuando aparece por primera vez y dentro de un caso concreto. Si algo no está explicado y lo necesitas, es un fallo del material: dímelo.