1. Contenidos
1.1 ¿Qué es la Inteligencia Artificial?
La inteligencia artificial, o IA, es un área de la informática que desarrolla sistemas capaces de realizar tareas que normalmente asociamos con la inteligencia humana: interpretar información, reconocer patrones, responder preguntas, generar texto, clasificar datos, tomar decisiones o ayudar a resolver problemas.
En programación, la IA puede utilizarse como un asistente de trabajo. Puede ayudar a explicar código, proponer soluciones, detectar errores o generar ejemplos. Sin embargo, no sustituye al programador, porque el programador sigue siendo responsable de entender, revisar, probar y justificar el código.
Idea clave: Usar IA no significa dejar de pensar. Significa contar con una herramienta de apoyo que puede acelerar algunas tareas, pero que también puede equivocarse.
1.2 IA tradicional, machine learning e IA generativa
No todas las herramientas de inteligencia artificial funcionan igual. Para empezar, conviene diferenciar tres conceptos:
- IA tradicional: sistemas programados con reglas concretas. Por ejemplo, un programa que decide si una solicitud se acepta o se rechaza aplicando condiciones previamente definidas.
- Machine learning: sistemas que aprenden patrones a partir de datos. Por ejemplo, un filtro que aprende a detectar correos no deseados observando muchos ejemplos anteriores.
- IA generativa: sistemas capaces de generar contenido nuevo, como texto, código, imágenes, resúmenes o explicaciones.
Las herramientas que vamos a utilizar en programación pertenecen principalmente al grupo de la IA generativa. Funcionan con modelos capaces de recibir una petición escrita y generar una respuesta en lenguaje natural o en código.
| Tipo | Idea principal | Ejemplo |
| IA tradicional | Aplica reglas definidas por personas | Si la edad es menor de 18, no permite el acceso |
| Machine learning | Aprende patrones a partir de datos | Detectar si un correo parece spam |
| IA generativa | Genera contenido nuevo a partir de una petición | Crear una función Java a partir de una descripción |
1.3 La IA como asistente de programación
En el desarrollo de aplicaciones, la IA puede ayudarnos en muchas fases del trabajo. No solo sirve para escribir código, también puede ayudar a entender un problema, revisar una solución o preparar documentación.
Algunos usos habituales son:
- Explicar código: convertir un fragmento difícil en una explicación más sencilla.
- Generar código: crear una función, una clase, una consulta SQL o una estructura HTML.
- Corregir errores: interpretar mensajes de error y proponer posibles causas.
- Refactorizar: mejorar la organización del código sin cambiar su comportamiento.
- Documentar: crear comentarios, descripciones de métodos o archivos README.
- Crear pruebas: proponer casos normales, casos límite y casos erróneos para comprobar el funcionamiento de un programa.
Importante: La IA puede ayudar a avanzar más rápido, pero cada respuesta debe comprobarse. Un código generado automáticamente puede compilar, pero seguir estando mal planteado.
1.4 Ejemplo sencillo de uso
Imagina que queremos crear una función en Java para saber si una persona es mayor de edad. Podríamos pedir ayuda a una IA con una petición como esta:
Crea una función en Java que reciba una edad como Integer y devuelva true si la persona es mayor de edad y false en caso contrario. Explica el código línea por línea.
Una posible respuesta podría ser:
public static Boolean esMayorEdad(Integer edad){
return edad >= 18;
}
El código parece correcto para un caso sencillo, pero el programador debe revisarlo. Por ejemplo, debería plantearse preguntas como:
- ¿Qué ocurre si la edad es
null?
- ¿Tiene sentido aceptar edades negativas?
- ¿La función debería mostrar un mensaje o solo devolver un resultado?
- ¿El nombre de la función es claro?
Una versión algo más segura podría ser:
public static Boolean esMayorEdad(Integer edad){
if(edad == null || edad < 0){
return false;
}
return edad >= 18;
}
Conclusión: La primera respuesta de la IA puede ser útil, pero normalmente necesita revisión, adaptación y pruebas.
1.5 Qué puede aportar la IA al aprendizaje de programación
Para un alumno que empieza a programar, la IA puede ser especialmente útil como herramienta de aprendizaje. Puede explicar un concepto con otras palabras, crear ejemplos más simples, comparar soluciones o ayudar a entender un error.
Algunos usos recomendables son:
- Pedir una explicación más sencilla de un concepto.
- Pedir un ejemplo similar al visto en clase.
- Pedir pistas antes de pedir la solución completa.
- Pedir que revise un código escrito por el propio alumno.
- Pedir que genere casos de prueba para comprobar una función.
- Pedir que explique por qué se produce un error.
En cambio, no es recomendable usar la IA simplemente para copiar una solución y entregarla sin entenderla. Esa forma de uso impide aprender y puede llevar a entregar código incorrecto.
1.6 Riesgos básicos al usar IA
Las herramientas de IA son potentes, pero tienen limitaciones. Algunas respuestas pueden parecer muy convincentes aunque sean incorrectas. Por eso es necesario conocer sus riesgos principales.
- Errores técnicos: la IA puede generar código que no compila o que no hace exactamente lo que se pedía.
- Errores lógicos: el código puede funcionar en algunos casos, pero fallar en otros.
- Alucinaciones: la IA puede inventar funciones, librerías, comandos o explicaciones falsas.
- Dependencia excesiva: si se usa para todo, el alumno puede dejar de practicar el razonamiento propio.
- Privacidad: no se deben introducir contraseñas, claves API, datos personales ni código privado sin autorización.
- Plagio: entregar código generado sin comprenderlo ni reconocer el uso de la herramienta puede ser un problema académico.
Regla práctica: Nunca entregues código generado por IA si no eres capaz de explicarlo, probarlo y modificarlo.
1.7 El programador sigue siendo responsable
La IA puede actuar como copiloto, tutor o asistente, pero no es la autora responsable de una aplicación. La responsabilidad final siempre pertenece a la persona que desarrolla el software.
Antes de aceptar una respuesta generada por IA, un programador debe:
- Leer el código completo.
- Comprobar que responde al problema planteado.
- Ejecutarlo y probarlo con varios casos.
- Revisar si contiene errores o partes innecesarias.
- Adaptarlo al estilo y normas del proyecto.
- Ser capaz de explicar cómo funciona.
Por tanto, el objetivo no es que la IA programe por nosotros, sino aprender a utilizarla para programar mejor.
2. Ejercicios
Ejercicio 1: Identifica usos de IA en programación
Enunciado: Indica para cada situación si la IA puede ser útil y explica por qué.
| Situación | ¿Puede ayudar la IA? | Justificación |
No entiendo qué hace un bucle for | | |
| Quiero que la IA me haga todo el proyecto sin leerlo | | |
| Tengo un error de compilación y no entiendo el mensaje | | |
| Necesito ideas de casos de prueba para una función | | |
| Voy a pegar una contraseña para que la IA revise una conexión | | |
Ejercicio 2: Revisa una respuesta generada por IA
Enunciado: Una IA ha generado el siguiente código para calcular el precio final de un producto aplicando un descuento:
public static Double calcularPrecioFinal(Double precio, Double descuento){
return precio - descuento;
}
Tareas:
- Explica qué hace realmente el código.
- Indica qué problemas puede tener.
- Propón al menos tres casos de prueba.
- Mejora el código para que el descuento se interprete como un porcentaje.
- Explica por qué no debemos aceptar directamente la primera respuesta de una IA.
Ejercicio 3: Buenas y malas peticiones
Enunciado: Compara estas dos peticiones realizadas a una IA:
Hazme el ejercicio.
Estoy aprendiendo Java en primero de Desarrollo de Aplicaciones. Necesito crear una función que reciba un número Integer y devuelva true si es par. No quiero la solución completa al principio: dame primero una pista y después un ejemplo explicado paso a paso.
Tareas:
- ¿Cuál de las dos peticiones es más útil?
- ¿Qué información aporta la segunda petición?
- ¿Por qué la primera petición puede producir una respuesta peor?
- Escribe una petición mejorada para pedir ayuda con un error en Java.
Reto
Elabora un pequeño decálogo de uso responsable de la IA en programación. Debe contener 10 normas breves que un alumno debería cumplir antes de entregar un ejercicio en el que ha usado inteligencia artificial.