Pensez par vous-même si vous voulez que l’IA vous apprenne à coder

Pensez par vous-même si vous voulez que l’IA vous apprenne à coder

Nœud source: 3087147

Fonctionnalité Apprendre à programmer est peut-être plus facile que jamais avec l’IA, même si les outils qui suggèrent ou génèrent du code source doivent être utilisés à bon escient. 

La programmation demande de la patience et de la persévérance, surtout au début du processus d’apprentissage, lorsque rien n’a beaucoup de sens. Les règles d'écriture du code semblent déroutantes. Il existe toutes sortes de signes de ponctuation et de symboles qui doivent être utilisés avec précaution. L'absence d'un deux-points ou d'une virgule, ou une erreur dans l'indentation peut entraîner des erreurs, selon la langue utilisée. Au fil du temps, avec suffisamment de pratique, il se met en place.

Comme la plupart des débutants apprenant à coder en ligne, j’ai commencé par regarder des tutoriels et résoudre des problèmes dans des séries d’exercices de programmation. Lorsque je restais bloqué sur un problème, il était très tentant de me tourner vers ChatGPT, qui m'aiderait facilement à trouver la bonne solution. Ces types d'assistants sont doués pour générer du code simple, et certains d'entre eux peuvent même vous donner une réponse complète au moment même où vous la décrivez.

Je m'en suis rendu compte en luttant avec l'implémentation d'une fonction particulière et j'ai désactivé la fonctionnalité de saisie semi-automatique de GitHub Copilot dans Visual Studio Code pour m'empêcher de tricher.

Ne vous contentez pas de copier et coller

David Malan, professeur d'informatique à l'Université Harvard, enseigne le CS50, un cours d'introduction à l'informatique populaire (qui peut être suivi gratuitement). en ligne), a convenu que l’IA peut parfois être un peu trop utile. 

Pour dissuader les étudiants d'utiliser des outils comme ChatGPT d'OpenAI ou Bard de Google pour réaliser leurs devoirs, les enseignants leur ont proposé une alternative : un canard en caoutchouc virtuel. Le canard CS50 est un chatbot de codage alimenté par GPT-4 mais doté de garde-corps pour empêcher les étudiants de tricherie.

Débogage du canard en caoutchouc, comme vous le savez peut-être, est une chose dans le développement de logiciels : si vous êtes bloqué sur un code, parler du problème avec un jouet ou un autre objet inanimé peut vous aider à trouver la solution par vous-même. C'est assez efficace.

Le débogueur de canard CS50 est un hommage à cela : le robot a été conçu pour être convivial et solidaire, il répond uniquement aux requêtes liées au cours et ne fournit pas de réponses aux problèmes de devoirs, a déclaré Malan. Le registre

« Notre politique au début du cours est que les étudiants ne peuvent pas utiliser de logiciels tiers comme ChatGPT et Copilot ; ils ont simplement tendance à être trop utiles, trop disposés à fournir des solutions aux élèves plutôt que de les guider vers celles-ci, comme le ferait un bon enseignant. Mais les étudiants sont autorisés et encouragés à utiliser le logiciel basé sur l'IA du CS50, qui met en place ces garde-fous pédagogiques », a-t-il déclaré.

Le canard CS50 a été introduit l’année dernière et les retours ont été majoritairement positifs. Avoir un tuteur virtuel à portée de main signifie que les étudiants peuvent demander de l'aide à tout moment. Mais comme tous les modèles d’IA, il peut commettre des erreurs et n’est pas toujours précis. Les premiers tests ont montré qu’il était capable de répondre correctement à environ 88 pour cent des questions liées au programme. 

Le robot de codage est également utile pour les instructeurs ; cela leur donne plus de temps pour aider les étudiants dans d’autres domaines que les devoirs. Dans un document de recherche [PDF] analysant l'impact du débogueur Duck, des enseignants de Harvard ont déclaré que leur expérience de création d'un assistant virtuel de codage d'IA avait porté ses fruits. Ils pensent que « l’IA générative [peut] renforcer l’apprentissage des élèves, pas seulement le perturber », et étudient les moyens d’appliquer la technologie à d’autres matières.

Gagner du temps en recherchant moins sur Google

Pour ce que ça vaut, ma formation universitaire est en physique et en journalisme scientifique, et non en informatique. J'ai commencé à apprendre à coder juste avant le décollage de la dernière génération de chatbots. Auparavant, j'essayais de comprendre les concepts logiciels ou de corriger des bugs, comme beaucoup de gens, en lisant des articles de blog ou en recherchant des exemples de code similaire sur des sites comme Stack Overflow. L'IA me permet de raccourcir ce processus.

Au lieu de parcourir de nombreuses informations pour trouver les solutions qui correspondent le mieux à mon problème, je peux désormais me tourner vers un grand modèle de langage pour obtenir une aide directe. J'apprends pour mieux comprendre les technologies que les autres utilisent ; ces assistants numériques me permettent de me mettre au courant plus rapidement que de parcourir plusieurs articles sur, par exemple, les tranches par rapport aux tableaux, ou de feuilleter les projets logiciels d'autres personnes.

Toutefois, le code écrit par machine n'est pas toujours utile et peut abaisser la qualité d'une base de code. Si je copiais et collais la sortie d'un assistant IA dans ma source, cela introduirait souvent de nouvelles erreurs car elle ne correspondait pas au reste de mon programme. Essayer de corriger ces erreurs peut s'avérer délicat, surtout si vous ne comprenez pas ce qui a été généré. En tant que novice, il n'était pas toujours clair si les erreurs étaient dues au fait que le code était tout simplement faux ou s'il était utilisé dans le mauvais contexte.

« Je pense que si quelqu'un voulait apprendre à coder [en utilisant la gamme actuelle] d'outils d'IA, il devrait l'aborder avec deux objectifs : prendre le temps d'apprendre à coder suffisamment pour savoir ce que l'outil génère. [Et] adoptez le rôle de « réviseur de code » et étudiez comment identifier et améliorer le mauvais code », Zed Shaw, développeur de logiciels et auteur de Apprenez Python à la dure, A déclaré Le registre

Les programmeurs devraient être capables de détecter les erreurs dans le code créé par la machine et ne devraient pas faire entièrement confiance aux robots. "Le fait que ChatGPT propose des solutions plus rapidement, enveloppées dans des phrases rassurantes telles que 'Je pense que cela devrait résoudre votre problème…', fait en sorte que nous éteignons notre esprit critique et que nous ne remettons pas en question ses solutions aussi soigneusement que nous le devrions", a déclaré Charles. Severance, professeur d'informatique à la School of Information de l'Université du Michigan, qui a libéré cours de codage gratuits en ligne.

« Pensez toujours que ChatGPT est un programmeur moins compétent que vous. La seule façon sûre d’utiliser les outils d’IA est d’être sûr que la solution qu’ils produisent est correcte », a-t-il ajouté. 

Tu dois savoir ce que tu fais

Pour utiliser ces outils efficacement, vous devez comprendre votre problème et l'expliquer clairement dans votre invite. La qualité du code renvoyé dans la sortie dépend de la façon dont vous formulez vos questions dans l'entrée, a déclaré Inbal Shani, chef de produit chez GitHub. Le registre.

Les utilisateurs doivent interagir avec Copilote GitHub comme s'ils parlaient à un collègue, suggéra-t-elle. « Plus vous donnez de détails à l'assistant qui est assis à côté de vous sur votre intention, où vous allez pour le problème que vous essayez de résoudre, meilleure sera la réponse que vous obtiendrez car l'IA obtient plus de contexte. Il sait comment effectuer une recherche plus détaillée pour trouver le bon morceau de code ou vous recommander la bonne infrastructure de test », a-t-elle déclaré. 

Les langages de programmation que nous utilisons sont devenus plus alignés sur le langage humain ; les outils de chat ne sont que la prochaine étape de cette évolution

Phillip Compeau, professeur adjoint à l'Université Carnegie Mellon, qui a créé le Rosalind plate-forme et Programmation pour les amoureux tutoriel, pour les personnes intéressées par la biologie computationnelle, d'accord.

Lorsqu'il enseigne à des étudiants qui commencent à coder, il les encourage à rester à l'écart de l'IA. Mais pour les étudiants plus avancés qui connaissent les bases, il leur apprend à utiliser la technologie pour être plus productifs et efficaces dans leur travail.

« L’une des choses que je montre aux étudiants est que la meilleure façon d’obtenir une réponse claire et correcte à partir d’un outil d’IA générant du code est d’être capable de spécifier clairement et correctement ce que l’ordinateur doit faire. C'est la définition même de la programmation d'un ordinateur, et au fil du temps, les langages de programmation que nous utilisons se sont davantage alignés sur le langage humain ; les outils de chat ne sont que la prochaine étape de cette évolution », a-t-il déclaré. Le registre

Déterminer ce que vous voulez que votre programme fasse, comment il doit fonctionner et où il a mal tourné est crucial dans le codage. Les apprenants ne peuvent développer ces compétences de base qu’au fil du temps et grâce à une pratique constante. Vous ne pouvez pas ignorer ce processus en vous appuyant sur l'IA si vous voulez être un développeur de logiciels compétent. Mais si vous l'utilisez à bon escient, vous pourrez vous améliorer rapidement et devenir un bon programmeur – et ce sera peut-être même amusant. ®

Horodatage:

Plus de Le registre