Juan Diego Andrés PRADA··RAMÍREZ Entrar
Lección 24 de 42 IA solo como tutora de errores

Semana 3 — Laboratorio: Caza de Bugs con la IA como Tutora

Regla: IA SOLO COMO TUTORA. Le pides PISTAS y EXPLICACIONES. Jamás el código resuelto. Tú haces la corrección final, a mano.

Herramienta: Google Colab + Google AI Studio / Gemini.

Abajo hay un programa intencionalmente roto. No tiene errores rojos: corre perfecto pero da resultados equivocados. Son bugs de lógica, los más traicioneros. Tu misión: encontrarlos y arreglarlos, usando la IA solo para entender el concepto.


Paso 1 — Copia el programa roto a Colab

Pega esto tal cual en una celda y córrelo. Verás que funciona... pero los números no cuadran.

# ANALIZADOR DE NOTAS (versión rota )
# Cuenta aprobados, calcula el promedio y busca la nota más alta.

notas = [3.0, 4.5, 2.0, 3.0, 1.5, 5.0]

# --- Contar aprobados (aprobar = nota mayor o igual a 3.0) ---
aprobados = 0
for nota in notas:
 if nota > 3.0:
 aprobados = aprobados + 1
print("Aprobados:", aprobados)

# --- Promedio ---
suma = 0
for nota in notas:
 suma = suma + nota
promedio = suma / 5
print("Promedio:", promedio)

# --- Nota más alta ---
mas_alta = 0
for nota in notas:
 if nota > mas_alta:
 mas_alta = nota
print("Nota más alta:", mas_alta)

Paso 2 — Audita ANTES de preguntar a la IA

Antes de tocar la IA, haz una prueba de escritorio (como en la semana 1) y responde en papel:

  • A mano, ¿cuántos aprobados debería haber? (recuerda: aprobar es 3.0 o más)
  • ¿El programa dio ese número, o uno diferente?
  • ¿El promedio se ve raro? ¿Por cuántos números se está dividiendo realmente?

Hay 3 bugs de lógica escondidos. Intenta detectar al menos uno tú solo, sin IA. Ese músculo es el que entrenamos.


Paso 3 — Usa la IA como TUTORA (no como solución)

Ahora sí, abre la IA. Pero recuerda la regla de oro. Usa prompts así (en inglés, para practicar y porque responde mejor):

Prompt correcto (pide concepto, no solución):

You are a Python tutor for beginners. I have a program that runs without
errors but gives wrong results. DO NOT fix the code and DO NOT give me the
solution. Instead, explain the CONCEPT of a "logic bug" and give me ONE hint
about what to check when a counter gives a smaller number than expected.

Prompt PROHIBIDO esta semana:

Fix this code and give me the correct version. ← NO. Esto es trampa.

Tu tarea con cada bug:

  1. Pide a la IA una pista o que te explique el concepto (ej: "¿qué diferencia hay entre > y >=?").
  2. Con esa pista, identificas el error.
  3. corriges la línea en Colab, a mano.
  4. Anota: "Bug encontrado: ___. Concepto: ___. Lo arreglé cambiando ___."

Las pistas de los 3 bugs (sin spoilear)

  • Bug 1 (aprobados): alguien que sacó exactamente 3.0 sí aprobó. ¿El programa los está contando? Piensa en > vs >=.
  • Bug 2 (promedio): ¿la lista tiene 5 o 6 notas? ¿Entre cuántas está dividiendo el código? ¿Qué pasa si mañana agregas otra nota?
  • Bug 3 (nota más alta): funciona aquí... pero ¿qué pasaría si TODAS las notas fueran negativas, o si empezaras buscando desde un punto mal elegido? Piensa en con qué valor arranca mas_alta.

El Bug 3 corre bien con estos datos pero está mal diseñado. Un buen auditor detecta el peligro antes de que explote. ¿Puedes ver por qué arrancar en 0 es frágil?


Entregable y evaluación

Entrega tu notebook corregido + una pequeña bitácora (en la misma celda, como comentarios) con, por cada bug: qué era, el concepto detrás, y cómo lo arreglaste.

Criterio Qué miramos
Diseño lógico ¿Entendiste el concepto del bug, no solo la línea?
Auditoría ¿Detectaste los 3 (o al menos los explicaste)?
Uso de IA ¿Tu historial de prompts pide PISTAS, no soluciones?
Explicación ¿Puedes explicar cada arreglo con tus palabras?

El facilitador puede pedirte tu historial de prompts. Pedir la solución = no se aprobó el reto, aunque el código quede bien. Aquí se premia cómo piensas, no el copy-paste.


Reto async (bono en casa)

Escribe TÚ un programa corto con UN bug de lógica escondido a propósito. Tráelo el miércoles y reta a un compañero a cazarlo (¡él solo puede usar la IA para pistas!). Diseñar un buen bug demuestra que entendiste de verdad.

Tu progreso se guarda en este navegador. Inicia sesión para guardarlo en tu cuenta y verlo desde cualquier dispositivo.