🤖 Inteligencia Artificial y Programación

La IA está cambiando cómo programamos. No es tu enemiga, es una herramienta. Pero como toda herramienta, hay que saber usarla bien.

⚠️
En la competición: En CodeWars y otras competiciones oficiales NO se permite usar IA. Pero durante el aprendizaje, usarla bien puede acelerar muchísimo tu progreso.

🎯 La IA como tutor personal

La IA puede ser como tener un profesor particular 24/7. Pero hay formas correctas e incorrectas de usarla:

✅ SÍ: Úsala para entender

  • Pedir que explique un concepto que no entiendes
  • Preguntar por qué tu código no funciona (después de intentarlo tú)
  • Pedir que te explique paso a paso una solución que ya viste
  • Generar ejercicios de práctica adaptados a tu nivel

❌ NO: No la uses como atajo

  • Pedir que resuelva ejercicios sin intentarlos primero
  • Copiar código sin entenderlo
  • Usarla en exámenes o competiciones (es trampa)
  • Depender de ella para todo (no aprenderás)

💬 Cómo preguntar a la IA (Prompts efectivos)

La calidad de la respuesta depende de cómo preguntes. Aquí van ejemplos:

Cuando no entiendes un concepto

❌ Mal prompt
Explícame los diccionarios
✅ Buen prompt
Soy estudiante de secundaria aprendiendo Python.
Explícame qué son los diccionarios con ejemplos simples.
Compáralos con las listas para que entienda cuándo usar cada uno.

Cuando tu código no funciona

❌ Mal prompt
Mi código no funciona, arréglalo
✅ Buen prompt
Este código debería contar las vocales de un texto, pero
siempre devuelve 0. ¿Puedes explicarme qué está mal?

texto = input()
vocales = 0
for c in texto:
    if c in "aeiou":
        vocales + 1
print(vocales)

No me des la solución directa, dame pistas para encontrar el error.

Cuando quieres practicar

✅ Buen prompt
Genera 5 ejercicios de programación de nivel básico sobre strings
en Python. Similares a los que aparecen en competiciones como
CodeWars. Dame solo los enunciados, sin soluciones.
Cuando los resuelva te los paso para que los corrijas.

Cuando quieres entender una solución

✅ Buen prompt
Explícame línea por línea qué hace este código. Soy principiante:

frecuencias = {}
for letra in texto:
    frecuencias[letra] = frecuencias.get(letra, 0) + 1

Especialmente no entiendo qué hace .get(letra, 0)

🧠 El método Feynman con IA

Richard Feynman, premio Nobel de Física, tenía un método para aprender:

  1. Estudia el concepto
  2. Intenta explicarlo con palabras simples
  3. Identifica los huecos en tu explicación
  4. Vuelve a estudiar esas partes
💡
Truco: Después de aprender algo, pide a la IA que te haga preguntas sobre el tema. Si no puedes responderlas, sabes qué necesitas repasar.
Ejemplo de prompt
Acabo de estudiar cómo funcionan los bucles for en Python.
Hazme 5 preguntas para verificar si lo entendí bien.
Empieza por las fáciles y ve subiendo la dificultad.

🔧 Herramientas de IA para programar

Herramienta Para qué sirve Nivel
ChatGPT / Claude Explicaciones, debugging, ejercicios Todos
GitHub Copilot Autocompletado de código en el editor Intermedio+
Perplexity Buscar documentación y ejemplos Todos
Phind Respuestas técnicas con fuentes Intermedio+

⚡ IA en el mundo real

Los programadores profesionales usan IA constantemente. Pero la usan como asistente, no como sustituto:

  • Para escribir tests: "Genera tests unitarios para esta función"
  • Para documentar: "Añade docstrings a estas funciones"
  • Para refactorizar: "Sugiere mejoras para este código"
  • Para aprender tecnologías nuevas: "Explícame cómo funciona X con ejemplos"
🎯
La clave: La IA no te quita trabajo, te permite hacer más. Pero necesitas entender lo que hace. Un programador que no entiende su código no es un programador, es un copista.

🚨 Limitaciones de la IA

La IA no es perfecta. Ten en cuenta:

🛑
  • Puede equivocarse: Especialmente en lógica compleja o casos edge
  • No verifica: Puede dar código que "parece" correcto pero falla
  • Puede inventar: A veces crea funciones que no existen
  • No conoce tu contexto: No sabe qué has aprendido antes

Regla de oro: Siempre prueba el código que te da la IA. Nunca asumas que funciona sin comprobarlo.

📚 Ejercicio práctico

Usa este prompt para practicar de forma efectiva:

Prompt para sesión de práctica
Voy a practicar programación en Python para una competición.
Mi nivel es [básico/intermedio/avanzado].

1. Dame un problema de dificultad apropiada
2. Dame 10 minutos para resolverlo (no me ayudes todavía)
3. Cuando te pase mi solución:
   - Dime si es correcta
   - Si hay errores, dame pistas, no la solución
   - Si es correcta, sugiere cómo mejorarla
4. Al final, muéstrame la solución óptima y explícala

¿Empezamos?
🎓
Recuerda: La IA es como una calculadora muy potente. Te ayuda a ir más rápido, pero si no sabes matemáticas, la calculadora no te sirve de nada. Primero aprende los fundamentos, luego usa la IA para potenciarlos.