Comment puis-je apprendre la programmation avec ChatGPT si je dois recommencer ?

Explorer ChatGPT au cours de mes 15 années de développement de code : aller au-delà du simple copier-coller

La programmation fait partie de ma vie depuis l’âge de 10 ans. De la modification du code et du CSS de mon profil Friendster au début d'Internet, à l'exploration des injections SQL pour le plaisir, à la construction d'un robot à trois pattes pour le plaisir et, plus récemment, à la plongée dans la programmation Python, mon parcours de programmation a été diversifié et amusant !

Voici ce que j’ai appris de différentes approches de programmation.

Photo d'Arnold Francisca sur Unsplash

La façon dont j'apprends la programmation est toujours la même ; Comme on dit, il s’agit principalement de copier-coller. 😅

Lorsqu'il s'agit de créer quelque chose dans le monde de la programmation, voici une description de mon approche :

  1. Sélectionnez le framework ou la bibliothèque appropriée.
  2. Apprendre des projets précédents
  3. Décomposez-le en étapes
    Décomposez votre projet en étapes réalisables, rendant le développement moins stressant.
  4. Recherchez chaque partie sur Google.
    Pour chaque étape, consultez Google/Bing/DuckDuckGo/quel que soit le moteur de recherche que vous préférez pour obtenir des informations, des conseils et des solutions potentielles.
  5. Commencer la programmation
    Essayez d’effectuer chaque étape de manière systématique.

Cependant, même un code bien pensé peut rencontrer des erreurs. Voici ma stratégie de dépannage :

1. Vérifiez la documentation du framework : Lisez toujours la documentation !

2. Recherchez sur Google et Stack Overflow:Recherchez sur Google et Stack Overflow. Un exemple de mots-clés serait :

site:stackoverflow.com [langage de programmation] [bibliothèque] Erreur [message d'erreur]

site:stackoverflow.com Erreur Python ImportError: pandas Module non trouvé

Solutions Stack OverflowSi le problème existe déjà sur Stack Overflow, je recherche les commentaires et les solutions les plus votés et je trouve souvent une réponse rapide et fiable. Cette plateforme est une référence importante pour les développeurs pour résoudre Erreurs Python Rumeur et la bibliothèque de Panda.
fais confiance à mon intuitionLorsque Stack Overflow n’a pas de réponse, je fais confiance à mon instinct pour rechercher des sources fiables sur Google ; GeeksForGeeks, Kaggle, W3School et Vers Sciences des données Pour les trucs DS 😉

3. Copiez et collez la solution de code.

4. Vérification et testsL’étape finale consiste à examiner et à tester soigneusement le code modifié pour garantir qu’il fonctionne comme prévu. Cela garantit qu'il n'y a pas de vérification de code et que le code est testé correctement.

 

Vous avez résolu avec succès le problème technique !

N'est-ce pas magnifique ?

 

Mais en réalité, est-ce qu'on continue vraiment à faire ça ?!

J’ai récemment remarqué un changement dans la façon dont les nouveaux programmeurs abordent la programmation. J'enseigne le codage de manière professionnelle depuis environ 3 ans maintenant, en alternant entre des bootcamps de codage, des conférences invitées dans des universités et des formations en entreprise. La façon dont les programmeurs abordent l’apprentissage de la programmation a un peu changé, en mettant l’accent sur Outils d'intelligence artificielle en programmation.

Je conseille généralement aux nouveaux venus de s'en tenir à la méthode traditionnelle de navigation et de recherche de réponses sur Google, mais les gens finissent toujours par utiliser ChatGPT. Leur excuse est

 

« Avoir ChatGPT (à des fins de programmation), c'est comme avoir un camarade de classe supplémentaire : il vous parle comme à une personne normale. »

C'est très utile, surtout lorsque vous essayez encore de comprendre les choses à partir des résultats de recherche et des documents - pour développer ce qu'on appelle «L'intuition du programmeur" .

Maintenant, ne vous méprenez pas, je soutiens les bases. Parcourir, lire des documents et poser des questions dans la communauté sont des étapes importantes, à mon avis. Se fier uniquement à ChatGPT peut être un peu excessif. Bien sûr, il peut préparer un résumé rapide des réponses, mais Les méthodes de navigation traditionnelles vous donnent la liberté de choisir et d’expérimenter, ce qui est crucial dans le monde de la programmation.

Mais je dois rendre à César ce qui appartient à César : ChatGPT est extrêmement rapide à fournir des réponses, surtout lorsque vous essayez encore de comprendre ce qui est bien et ce qui ne l'est pas dans les résultats de recherche et les documents. ChatGPT est un outil puissant pour accélérer l’apprentissage et découvrir des solutions à des problèmes de programmation complexes.

Je me rends compte que ce passage à l’utilisation de ChatGPT comme partenaire d’étude ne se produit pas uniquement dans le domaine de la programmation. ChatGPT a révolutionné la façon dont les gens apprennent. J'utilise même ChatGPT pour corriger ma grammaire pour ce post, désolé Grammarly.

 

Refuser d’utiliser ChatGPT, c’est comme refuser d’utiliser les moteurs de recherche au début des années 2000.. Bien que ChatGPT puisse comporter des biais et des erreurs, à l'instar des moteurs de recherche qui contiennent des informations peu fiables ou des escroqueries. Lorsqu'il est utilisé de manière appropriée, ChatGPT peut accélérer le processus d'apprentissage.

Maintenant, imaginons un scénario réel dans lequel ChatGPT pourrait vous aider en étant votre partenaire de programmation pour vous aider à déboguer.

 

Scénario : débogage de script Python

Imaginez que vous travaillez sur un script Python pour un projet et que vous rencontrez une erreur inattendue que vous ne pouvez pas résoudre. Il s’agit d’un problème courant dans le développement de logiciels et nécessite des compétences de débogage avancées.

Voici comment j'ai appris à déboguer à l'époque, à l'époque d'avant ChatGPT. Ces méthodes classiques sont toujours d’une grande valeur pour comprendre les bases du débogage.

Méthodologie de navigation :

  1. Documentation:

Commencez par vérifier la documentation Python du module ou de la fonction à l’origine de l’erreur. La documentation Python est une référence essentielle pour comprendre le fonctionnement des différents modules et comment les utiliser correctement, vous aidant à identifier les causes des erreurs et à les corriger efficacement.

 

Par exemple:
- Visite https://scikit-learn.org/stable/modules/ Pour la documentation de Scikit Learn.

2. Recherchez sur Google et Stack Overflow :

Si la documentation ne fournit pas de solution, vous pouvez vous tourner vers Google et Stack Overflow. Parcourez divers fils de discussion et discussions de forum pour trouver un problème similaire et le résoudre. Ces ressources sont précieuses pour le dépannage dans le domaine de l’apprentissage automatique.

3. Faites confiance à votre intuition :

Si le problème est unique ou peu documenté, faites confiance à votre instinct ! Vous pouvez explorer des articles et des sources sur Google que vous avez trouvés fiables dans le passé et essayer d'adapter des solutions similaires à votre problème. Cette approche améliore vos compétences en résolution de problèmes techniques.

Vous pouvez voir que dans le résultat de recherche ci-dessus, les résultats proviennent de W3school – (site d’apprentissage du codage de confiance, idéal pour tricher) et les deux autres résultats sont la documentation officielle de Pandas. Vous pouvez voir que les moteurs de recherche suggèrent aux utilisateurs de consulter la documentation officielle. 😉

Voici comment vous pouvez utiliser ChatGPT pour vous aider à résoudre un problème.

 

Une nouvelle approche avec ChatGPT :

  1. Interagissez avec ChatGPT dans les conversations :

Au lieu de simplement parcourir des documents et des forums, vous pouvez interagir avec ChatGPT dans une conversation en direct. Fournissez une brève description de l’erreur et posez votre question. Par exemple, vous pouvez utiliser ChatGPT pour obtenir une aide instantanée pour comprendre et déboguer les erreurs de programmation courantes.

 

« J'ai un problème avec mon script [langage de programmation] où [description de l'erreur]. Pouvez-vous m'aider à comprendre les causes possibles de cette erreur et me suggérer une solution ? »

2. Clarification des concepts à l'aide de ChatGPT :

Si l'erreur est liée à un concept que vous avez du mal à comprendre, vous pouvez demander à ChatGPT de vous expliquer ce concept. Par exemple,

 

« Pourriez-vous expliquer comment [concept spécifique] fonctionne dans [langage de programmation] ? Je pense que cela pourrait être lié à l'erreur que je reçois. L'erreur est : [erreur] »

3. Demandez des recommandations de dépannage :

Vous pouvez demander à ChatGPT des conseils généraux sur le dépannage des programmes Python. Par exemple,

 

« Quelles sont les stratégies courantes pour gérer [le problème] ? Avez-vous des recommandations d'outils ou de techniques ? »

Avantages potentiels :

  • Directives personnalisées : ChatGPT peut fournir des conseils personnalisés en fonction des détails spécifiques que vous fournissez sur l'erreur et de votre compréhension du problème. Cette fonctionnalité s'appuie sur les capacités du grand modèle de langage (LLM) de ChatGPT pour fournir une assistance personnalisée.
  • Clarification des concepts : Vous pouvez demander des explications et des clarifications de concepts directement auprès de ChatGPT, en tirant parti des capacités de son grand modèle de langage (LLM).
  • Dépanner efficacement : ChatGPT peut fournir des conseils de dépannage concis et pertinents, qui peuvent simplifier le processus de débogage.

Limitations potentielles :

Parlons maintenant des inconvénients de s’appuyer à 100 % sur ChatGPT. J'ai souvent remarqué ces problèmes dans le parcours de mes étudiants utilisant ChatGPT. À l’ère post-ChatGPT, mes étudiants copiaient et collaient le message d’erreur d’une ligne à partir de leur interface de ligne de commande, même si l’erreur faisait 100 lignes de long et était liée à quelques modules et dépendances. Parfois, demander à ChatGPT d'expliquer une solution de contournement en fournissant un code d'erreur sur une seule ligne peut fonctionner, ou pire, cela peut ajouter une heure ou deux de travail de débogage manuel.

ChatGPT présente la limitation de ne pas pouvoir voir le contexte de votre code. Bien sûr, vous pouvez toujours donner un contexte à votre code. Dans un code plus complexe, vous ne pourrez peut-être pas donner chaque ligne de code à ChatGPT. Le fait que ChatGPT ne voit qu'une petite partie de votre code, ChatGPT soit On suppose Le reste du code est basé sur sa base de connaissances ou hallucinant.

Voici les limitations potentielles de l’utilisation de ChatGPT :

  • Manque d'interaction dynamique en temps réel : Bien que ChatGPT fournisse des informations précieuses, il lui manque l'interaction en temps réel et l'échange dynamique que les forums ou les fils de discussion peuvent offrir. Sur StackOverflow, vous pourriez avoir 10 personnes différentes suggérant 3 solutions différentes que vous pouvez comparer soit par DIY (faites-le vous-même, essayez-le) soit en voyant le nombre de votes positifs.
  • S'appuyer sur des connaissances préalables : La qualité de la réponse de ChatGPT dépend des informations sur lesquelles il a été formé, et il se peut qu'il ne soit pas au courant des dernières mises à jour du framework ou des détails spécifiques de votre projet.
  • Peut ajouter du temps supplémentaire pour le débogage : ChatGPT n'a pas de contexte pour votre code complet, ce qui peut entraîner plus de temps pour le débogage.
  • Compréhension limitée du concept : Les méthodes de navigation traditionnelles vous offrent la liberté de choisir et d'expérimenter, ce qui est crucial dans le monde de la programmation. Si vous savez choisir la bonne source, vous apprendrez peut-être davantage en naviguant par vous-même plutôt qu'en vous fiant à un modèle ChatGPT générique.
    À moins que vous ne demandiez à un modèle de langage formé spécialisé dans les concepts et la technologie de programmation, des articles de recherche sur des sujets de programmation, des conférences populaires sur l'apprentissage en profondeur par Andrew Ng ou un tweet de Yann Le Cunn sur X (anciennement Twitter), ChatGPT donnera une réponse largement générique.

Ce scénario montre comment ChatGPT peut être un outil précieux dans votre boîte à outils de programmation, en particulier pour des conseils personnalisés et une clarification conceptuelle. N'oubliez pas d'équilibrer l'assistance de ChatGPT avec les méthodes de navigation et de demander à la communauté, en tenant compte de ses points forts et de ses limites.

La ligne du bas

Recommandé pour les programmeurs : outils et ressources essentiels

 

Si vous souhaitez vraiment profiter du modèle de saisie semi-automatique, au lieu d'utiliser simplement ChatGPT, essayez d'utiliser les extensions VScode pour les tâches de saisie semi-automatique de code comme CodeGPT — Extension GPT4 pour VScode, Ou Copilote GitHub, ou des outils de saisie semi-automatique d'IA dans Google Colab. Ces outils améliorent considérablement la productivité des développeurs.

Comme vous pouvez le voir dans la capture d'écran ci-dessus, Google Colab donne automatiquement à l'utilisateur des suggestions pour le code suivant.

Une autre alternative est Github Copilot. Avec GitHub Copilot, vous pouvez obtenir des suggestions basées sur l'IA en temps réel. GitHub Copilot suggère la saisie semi-automatique du code au fur et à mesure que les développeurs écrivent et transforme les invites en suggestions de codage en fonction du contexte du projet et des conventions de style. D'après cela Publication depuis GithubCopilot Chat est désormais alimenté par GPT-4 d'OpenAI (un modèle similaire utilisé par ChatGPT).

J'utilisais activement CodeGPT comme extension VSCode avant de découvrir que Github Copilot était disponible gratuitement si vous aimiez les tutoriels. CodeGPT Co a reçu 2 million de téléchargements jusqu'à présent sur le marché des extensions VSCode. CodeGPT permet une intégration transparente avec l'API ChatGPT, Google PaLM XNUMX et Meta Llama.
Vous pouvez obtenir des suggestions de code via les commentaires.Voici comment :

  • Écrivez un commentaire demandant un code spécifique.
  • Cliquez sur cmd + shift + i
  • Utilisez le code 😎

Vous pouvez également démarrer une conversation. Via l'extension dans le menu et accédez aux conversations de codage 💬

Quand je pense à mon parcours de programmation, la précieuse leçon que j’ai apprise est qu’il n’existe pas de méthode unique pour apprendre. Il est essentiel d’adopter une variété de méthodes d’apprentissage, combinant des pratiques traditionnelles comme la navigation et l’interaction communautaire avec les capacités innovantes d’outils comme ChatGPT et les outils de saisie semi-automatique de code.

 

Que faire:

  • Bénéficiez de ressources d'apprentissage personnalisées: Tirez le meilleur parti des recommandations de matériel d'apprentissage de ChatGPT et utilisez-les comme un outil clé dans votre parcours d'apprentissage.
  • Collaborer pour résoudre les problèmes: Utilisez ChatGPT comme un partenaire collaboratif, tout comme vous codez avec vos amis, améliorant ainsi votre capacité à relever efficacement les défis de programmation.

Choses à éviter :

  • Dépendance excessive à ChatGPT : Évitez de vous fier entièrement à ChatGPT et adoptez une approche équilibrée pour développer des compétences de résolution de problèmes indépendantes. Bien que ChatGPT soit un outil puissant pour comprendre les structures de code et générer des idées, s'appuyer uniquement sur lui peut entraver votre développement de compétences analytiques et de pensée critique, qui sont essentielles pour devenir un développeur compétent.
  • Négliger l’interaction directe avec la communauté de programmation : Bien que ChatGPT fournisse des informations précieuses, ne négligez pas les avantages de l'interaction directe et des commentaires des communautés de programmation. Cela contribue également à bâtir une bonne réputation au sein de la communauté. Interagir avec d’autres programmeurs vous offre l’occasion d’apprendre de leurs expériences, d’échanger des connaissances et d’acquérir des perspectives différentes sur les défis auxquels vous êtes confrontés.
  • Ignorer la pratique de la programmation : Équilibrez les conseils de ChatGPT avec une programmation pratique pour améliorer les connaissances théoriques avec une application pratique. L’application pratique est la clé pour transformer les concepts théoriques en compétences concrètes. Essayez d’écrire du code vous-même, d’expérimenter différentes solutions et de déboguer. Cela vous aidera à consolider votre compréhension des concepts et à développer vos compétences en résolution de problèmes.

Dites-moi dans les commentaires comment vous utilisez ChatGPT pour vous aider dans la programmation !
Bon codage !

 

Les commentaires sont fermés.