Piensa por ti mismo si quieres que la IA te enseñe a codificar

Piensa por ti mismo si quieres que la IA te enseñe a codificar

Nodo de origen: 3087147

Feature Aprender a programar es quizás ahora más fácil que nunca con la IA, aunque las herramientas que sugieren o generan código fuente deben usarse con prudencia. 

La programación requiere paciencia y perseverancia, especialmente al inicio del proceso de aprendizaje, cuando nada tiene mucho sentido. Las reglas para escribir código parecen confusas. Hay todo tipo de signos de puntuación y símbolos que deben utilizarse con cuidado. Faltar dos puntos o una coma, o alterar la sangría puede provocar errores, según el idioma utilizado. Con el tiempo, con suficiente práctica, encaja en su lugar.

Como la mayoría de los principiantes que aprenden a codificar en línea, comencé viendo tutoriales y resolviendo problemas en conjuntos de ejercicios de programación. Cuando me quedaba atascado en un problema, era muy tentador recurrir a ChatGPT, que fácilmente me ayudaba a encontrar la solución correcta. Este tipo de asistentes son buenos para generar código simple y algunos de ellos incluso pueden brindarte una respuesta completa tal como la estás describiendo.

Me di cuenta de esto cuando luchaba con la implementación de una función en particular y desactivé la función de autocompletar de GitHub Copilot en Visual Studio Code para evitar hacer trampa.

No te limites a copiar y pegar

David Malan, profesor de informática de la Universidad de Harvard que imparte CS50, un popular curso de introducción a la informática (que se puede tomar de forma gratuita en línea), estuvo de acuerdo en que la IA a veces puede ser demasiado útil. 

Para disuadir a los estudiantes de utilizar herramientas como ChatGPT de OpenAI o Bard de Google para completar sus tareas, los profesores les ofrecieron una alternativa: un pato de goma virtual. El pato CS50 es un chatbot de codificación impulsado por GPT-4, pero tiene barreras de seguridad para evitar que los estudiantes trampa.

Depuración con patitos de goma, como ya sabrá, es una cosa en el desarrollo de software: si estás atascado en algún código, hablar sobre el problema con algún juguete u otro objeto inanimado puede ayudarte a encontrar la solución por ti mismo. Es bastante efectivo.

El depurador de patos CS50 es un homenaje a eso: el bot ha sido preparado para ser amigable y solidario, solo responde a consultas relacionadas con el curso y no proporciona respuestas a problemas de tarea, dijo Malan. El registro

“Nuestra política al inicio del curso es que los estudiantes no pueden utilizar software de terceros como ChatGPT y Copilot; simplemente tienden a ser demasiado útiles y están demasiado dispuestos a ofrecer a los estudiantes soluciones directas en lugar de guiarlos hacia ellas, como lo haría un buen profesor. Pero a los estudiantes se les permite y se les anima a utilizar el propio software basado en inteligencia artificial de CS50, que cuenta con esas barreras pedagógicas”, dijo.

El pato CS50 se presentó el año pasado y la respuesta ha sido mayoritariamente positiva. Tener un tutor virtual disponible significa que los estudiantes pueden pedir ayuda en cualquier momento que quieran. Pero como todos los modelos de IA, puede cometer errores y no siempre es preciso. Las pruebas iniciales mostraron que podía responder correctamente alrededor del 88 por ciento de las preguntas relacionadas con el plan de estudios. 

El robot de codificación también es útil para los profesores; les da más tiempo para ayudar a los estudiantes en otras áreas más allá de la tarea. En un trabajo de investigación [(PDF)] Al analizar el impacto del depurador de patos, los profesores de Harvard dijeron que su experimento de creación de un asistente virtual de codificación de IA había dado sus frutos. Creen que “la IA generativa [puede] reforzar el aprendizaje de los estudiantes, no simplemente interrumpirlo”, y están buscando formas de aplicar la tecnología en otras materias.

Ahorrar tiempo con menos búsqueda en Google

Por si sirve de algo, mi formación académica es en física y periodismo científico, y no en informática. Comencé a aprender a codificar justo antes de que despegara la última generación de chatbots. Anteriormente, intentaba comprender conceptos de software o corregir errores, como mucha gente, leyendo publicaciones de blogs o buscando ejemplos de código similar en sitios como Stack Overflow. La IA me permite atajar este proceso.

En lugar de examinar mucha información para encontrar las soluciones que mejor se adapten a mi problema, ahora puedo recurrir a un modelo de lenguaje grande para obtener ayuda directa. Estoy aprendiendo para poder comprender mejor las tecnologías que otros utilizan; Estos asistentes digitales me ponen al día más rápido que leer detenidamente varios artículos sobre, por ejemplo, cortes versus matrices, u hojear los proyectos de software de otras personas.

Sin embargo, el código escrito por máquina no siempre es útil y puede bajar la calidad de un código base. Si copiaba y pegaba la salida de un asistente de IA en mi fuente, a menudo introducía nuevos errores porque no encajaba con el resto de mi programa. Intentar corregir estos errores puede resultar complicado, especialmente si no comprende lo que se ha generado. Como novato, no siempre estaba claro si los errores se debían a que el código era simplemente incorrecto o si se estaba utilizando en el contexto incorrecto.

“Creo que si alguien quisiera aprender a codificar [utilizando la actual] cosecha de herramientas de inteligencia artificial, debería abordarlo con dos objetivos: tomarse el tiempo necesario para aprender a codificar lo suficiente como para saber qué está generando la herramienta. [Y] adoptar el papel de 'revisor de código' y estudiar cómo identificar y mejorar el código incorrecto”, Zed Shaw, desarrollador de software y autor de Aprende Python de la manera difícil, Dijo El registro

Los programadores deberían poder detectar errores en el código creado por máquinas y no deberían confiar completamente en los robots. "El hecho de que ChatGPT brinde soluciones más rápidamente envueltas en frases tranquilizadoras como 'Creo que esto debería resolver tu problema..." hace que apaguemos nuestro pensamiento crítico y no cuestionemos sus soluciones con tanto cuidado como deberíamos", dijo Charles Severance, profesor de informática en la Escuela de Información de la Universidad de Michigan, que ha liberado Cursos gratuitos de codificación en línea.

“Siempre asuma que ChatGPT es un programador menos capacitado que usted. La única forma segura de utilizar herramientas de inteligencia artificial es cuando se está seguro de que la solución que producen es correcta”, añadió. 

Necesitas saber lo que estás haciendo

Para utilizar estas herramientas de forma eficaz, debe comprender su problema y explicarlo claramente en su mensaje. La calidad del código devuelto en el resultado depende de la forma en que formule sus preguntas en la entrada, dijo Inbal Shani, director de producto de GitHub. El registro.

Los usuarios deben interactuar con Copiloto de GitHub como si estuvieran hablando con un colega, sugirió. “Cuantos más detalles le des al asistente que está sentado a tu lado sobre cuál es tu intención, hacia dónde te diriges para el problema que intentas resolver, mejor respuesta obtendrás porque la IA obtiene más contexto. Sabe cómo hacer una búsqueda más detallada para encontrar el código correcto o recomendarle la infraestructura de prueba adecuada”, dijo. 

Los lenguajes de programación que utilizamos se han alineado más con el lenguaje humano; Las herramientas de chat son solo el siguiente paso en esta evolución.

Phillip Compeau, profesor asistente de enseñanza en la Universidad Carnegie Mellon, quien creó el Rosalind y Programación para enamorados tutorial, para personas interesadas en biología computacional, estuvo de acuerdo.

Cuando enseña a estudiantes que están empezando a codificar, los anima a mantenerse alejados de la IA. Pero a los estudiantes más avanzados que conocen los conceptos básicos, les enseña cómo utilizar la tecnología para ser más productivos y eficientes en su trabajo.

“Una de las cosas que les muestro a los estudiantes es que la mejor manera de obtener una respuesta limpia y correcta de una herramienta de inteligencia artificial que genera código es si puedes especificar clara y correctamente exactamente lo que la computadora debe hacer. Esa es la definición misma de programar una computadora y, con el tiempo, los lenguajes de programación que utilizamos se han alineado más con el lenguaje humano; Las herramientas de chat son solo el siguiente paso en esta evolución”, dijo. El registro

Averiguar qué quiere que haga su programa, cómo debería funcionar y dónde salió mal es crucial en la codificación. Los alumnos sólo pueden desarrollar estas habilidades básicas con el tiempo con una práctica constante. No puedes saltarte este proceso confiando en la IA si quieres ser un desarrollador de software competente. Pero si lo usas sabiamente, puedes mejorar rápidamente y convertirte en un buen programador, y tal vez incluso sea divertido. ®

Sello de tiempo:

Mas de El registro