Wie kann ich mit ChatGPT das Programmieren lernen, wenn ich von vorne anfangen muss?

Erkundung von ChatGPT während meiner 15-jährigen Programmierreise – Mehr als nur Kopieren und Einfügen

Programmieren ist seit meinem zehnten Lebensjahr ein Teil meines Lebens. Von der Optimierung des Codes und CSS für mein Friendster-Profil in den frühen Tagen des Internets über die spannende Erforschung von SQL-Injections bis hin zum Bau eines dreibeinigen Roboters zum Spaß und zuletzt dem Eintauchen in die Python-Programmierung war meine Programmierreise abwechslungsreich und unterhaltsam!

Folgendes habe ich aus verschiedenen Programmieransätzen gelernt.

Foto von Arnold Francisca auf Unsplash

Die Art und Weise, wie ich Programmieren lerne, ist immer die gleiche; Wie die Leute sagen, ist es meistens nur Kopieren und Einfügen. 😅

Wenn es darum geht, etwas in der Programmierwelt zu bauen, ist hier eine Aufschlüsselung meines Ansatzes:

  1. Wählen Sie das entsprechende Framework oder die entsprechende Bibliothek aus.
  2. Lernen Sie aus früheren Projekten
  3. Teilen Sie es in Schritte auf
    Teilen Sie Ihr Projekt in umsetzbare Schritte auf, um die Entwicklung weniger stressig zu gestalten.
  4. Suchen Sie bei Google nach jedem Teil.
    Konsultieren Sie für jeden Schritt Google/Bing/DuckDuckGo/die Suchmaschine Ihrer Wahl, um Einblicke, Anleitungen und mögliche Lösungen zu erhalten.
  5. Beginnen Sie mit der Programmierung
    Versuchen Sie, jeden Schritt systematisch durchzuführen.

Allerdings können auch in gut durchdachtem Code Fehler auftreten. Hier ist meine Strategie zur Fehlerbehebung:

1. Überprüfen Sie die Framework-Dokumentation: Lesen Sie immer die Dokumentation!

2. Suche bei Google und Stack Overflow : Suche bei Google und Stack Overflow. Beispiele für Suchbegriffe wären:

site:stackoverflow.com [Programmiersprache] [Bibliothek] Fehler [Fehlermeldung]

site:stackoverflow.com Python-Fehler ImportError: pandas -Modul nicht gefunden

- Stack Overflow-LösungenWenn das Problem bereits auf Stack Overflow besteht, suche ich nach den Kommentaren und Lösungen mit den meisten Upvotes und finde oft eine schnelle und zuverlässige Antwort. Diese Plattform ist eine wichtige Referenz für Entwickler zur Lösung Python-Fehler Gerüchte und Pandas Bibliothek.
- vertraue meiner IntuitionWenn Stack Overflow keine Antwort hat, vertraue ich meinem Instinkt und suche bei Google nach vertrauenswürdigen Quellen. GeeksForGeeks, Kaggle, W3School und Towards Daten Wissenschaft Für DS-Sachen 😉

3. Kopieren Sie die Codelösung und fügen Sie sie ein.

4. Verifizierung und Test : Im letzten Schritt wird der geänderte Code gründlich geprüft und getestet, um sicherzustellen, dass er wie vorgesehen funktioniert. Dadurch wird gewährleistet, dass der Code ordnungsgemäß verifiziert und getestet wurde.

 

Sie haben das technische Problem erfolgreich gelöst!

Ist das nicht wunderschön?

 

Aber machen wir das in Wirklichkeit immer noch?!

Mir ist in letzter Zeit eine Veränderung im Lernverhalten von Programmieranfängern aufgefallen. Ich unterrichte seit etwa drei Jahren professionell Programmierung und bin dabei in Coding-Bootcamps, als Gastdozent an Universitäten und in Firmenschulungen tätig. Die Art und Weise, wie Programmierer an das Programmieren herangehen, hat sich leicht verändert, mit einem stärkeren Fokus auf KI-Tools in der Programmierung.

Normalerweise rate ich neuen Gesichtern, bei der altmodischen Methode zu bleiben und nach Antworten zu suchen, aber die Leute verwenden am Ende immer noch ChatGPT. Ihre Entschuldigung ist

 

„ChatGPT (für Programmierzwecke) zu haben, ist wie einen zusätzlichen Klassenkameraden zu haben – er spricht mit Ihnen wie mit einem normalen Menschen.“

Es ist äußerst nützlich, insbesondere wenn man noch versucht, Dinge aus Forschungsergebnissen und Dokumentationen zu verstehen – um das zu entwickeln, was man „ Programmierer-Intuition “ nennt.

Versteht mich nicht falsch, ich bin absolut für die Grundlagen. Stöbern, Dokumentation lesen und Fragen in der Community stellen – das sind meiner Meinung nach wichtige Schritte. Sich ausschließlich auf ChatGPT zu verlassen, ist vielleicht etwas zu einfach. Klar, es kann Antworten schnell zusammenfassen, aber traditionelle Suchmethoden geben einem die Freiheit, auszuwählen und zu experimentieren, was in der Programmierwelt entscheidend ist.

Aber ich muss Anerkennung zollen, wo Anerkennung angebracht ist – ChatGPT liefert extrem schnell Antworten, insbesondere wenn Sie noch versuchen herauszufinden, was in Suchergebnissen und Dokumenten richtig und was falsch ist. ChatGPT ist ein leistungsstarkes Tool zum Beschleunigen des Lernens und Entdecken von Lösungen für komplexe Programmierprobleme.

Mir ist bewusst, dass dieser Trend hin zur Verwendung von ChatGPT als Lernpartner nicht nur im Bereich der Programmierung stattfindet. ChatGPT hat die Art und Weise, wie Menschen lernen, revolutioniert. Ich verwende sogar ChatGPT, um meine Grammatik für diesen Beitrag zu korrigieren, entschuldige, Grammarly.

 

Die Ablehnung von ChatGPT ist vergleichbar mit der Ablehnung von Suchmaschinen Anfang der 2000er Jahre . Zwar kann ChatGPT, ähnlich wie Suchmaschinen mit unzuverlässigen Informationen oder Betrugsmaschen, Verzerrungen und Fehler aufweisen, doch bei sachgemäßer Anwendung kann es den Lernprozess beschleunigen.

Stellen wir uns nun ein Szenario aus dem echten Leben vor, in dem ChatGPT Ihnen als Programmier-Kumpel beim Debuggen helfen könnte.

 

Szenario: Python-Skript-Debugging

Stellen Sie sich vor, Sie arbeiten an einem Python-Skript für ein Projekt und stoßen auf einen unerwarteten Fehler, den Sie nicht beheben können. Dies ist ein häufiges Problem bei der Softwareentwicklung und erfordert fortgeschrittene Debugging-Kenntnisse.

So habe ich damals – in der Zeit vor ChatGPT – das Debuggen gelernt. Diese klassischen Methoden sind immer noch von großem Wert, um die Grundlagen des Debuggens zu verstehen.

Browsing-Methodik:

  1. Dokumentation:

Überprüfen Sie zunächst die Python-Dokumentation auf das Modul oder die Funktion, die den Fehler verursacht. Die Python-Dokumentation ist eine wichtige Referenz, um zu verstehen, wie verschiedene Module funktionieren und wie man sie richtig verwendet. Sie hilft Ihnen, die Ursachen von Fehlern zu erkennen und diese effizient zu beheben.

 

Beispielsweise:
- Besuchen https://scikit-learn.org/stable/modules/ Für die Scikit Learn-Dokumentation.

2. Durchsuchen Sie Google und Stack Overflow:

Wenn die Dokumentation keine Lösung bietet, können Sie sich an Google und Stack Overflow wenden. Durchsuchen Sie verschiedene Forenthreads und Diskussionen, um ein ähnliches Problem zu finden und zu beheben. Diese Ressourcen sind für die Fehlerbehebung im Bereich des maschinellen Lernens wertvoll.

3. Vertrauen Sie Ihrer Intuition:

Wenn das Problem einzigartig oder nicht gut dokumentiert ist, vertrauen Sie Ihrem Instinkt! Sie können bei Google Artikel und Quellen durchsuchen, die Sie in der Vergangenheit als vertrauenswürdig eingestuft haben, und versuchen, ähnliche Lösungen auf Ihr Problem anzuwenden. Dieser Ansatz verbessert Ihre technischen Fähigkeiten zur Problemlösung.

Sie können sehen, dass die Ergebnisse im obigen Suchergebnis von W3school stammen – (vertrauenswürdige Website zum Erlernen des Programmierens, ideal zum Schummeln) und die anderen beiden Ergebnisse die offizielle Pandas-Dokumentation sind. Sie können sehen, dass Suchmaschinen den Benutzern vorschlagen, einen Blick auf die offizielle Dokumentation zu werfen. 😉

So können Sie ChatGPT zur Fehlerbehebung verwenden.

 

Ein neuer Ansatz mit ChatGPT:

  1. Interagieren Sie mit ChatGPT in Gesprächen:

Anstatt nur Dokumente und Foren zu durchsuchen, können Sie mit ChatGPT in einem Live-Gespräch interagieren. Geben Sie eine kurze Beschreibung des Fehlers ein und stellen Sie Ihre Frage. Sie können beispielsweise ChatGPT verwenden, um sofortige Hilfe beim Verstehen und Debuggen häufiger Programmierfehler zu erhalten.

 

„Ich habe ein Problem mit meinem [Programmiersprache]-Skript, bei dem [Fehlerbeschreibung] auftritt. Können Sie mir helfen, die möglichen Ursachen dieses Fehlers zu verstehen und eine mögliche Lösung vorschlagen?“

2. Konzepte mit ChatGPT klären:

Wenn der Fehler mit einem Konzept zusammenhängt, das Sie nicht verstehen, können Sie ChatGPT bitten, dieses Konzept zu erklären. Zum Beispiel,

 

„Erklären Sie, wie [konkretes Konzept] in [Programmiersprache] funktioniert? Ich denke, das könnte mit dem Fehler zusammenhängen, den ich erhalte. Der Fehler lautet: [Fehler].“

3. Fragen Sie nach Empfehlungen zur Fehlerbehebung:

Sie können ChatGPT um allgemeine Ratschläge zur Fehlerbehebung bei Python-Programmen bitten. Zum Beispiel,

 

„Welche gängigen Strategien gibt es, um mit [Problem] umzugehen? Gibt es Empfehlungen für Tools oder Techniken?“

Mögliche Vorteile:

  • Benutzerdefinierte Richtlinien: ChatGPT kann Ihnen eine personalisierte Anleitung basierend auf den spezifischen Details, die Sie zum Fehler angeben, und Ihrem Verständnis des Problems bieten. Diese Funktion baut auf den Fähigkeiten des großen Sprachmodells (LLM) von ChatGPT auf, um maßgeschneiderte Unterstützung zu bieten.
  • Begriffsklärung: Sie können Erklärungen und Erläuterungen zu Konzepten direkt von ChatGPT anfordern und dabei die Funktionen seines großen Sprachmodells (LLM) nutzen.
  • Effiziente Fehlerbehebung: ChatGPT bietet möglicherweise präzise und relevante Tipps zur Fehlerbehebung, die den Debugging-Prozess vereinfachen können.

Mögliche Einschränkungen:

Lassen Sie uns nun über die Nachteile sprechen, die sich ergeben, wenn man sich zu 100 % auf ChatGPT verlässt. Mir sind diese Probleme bei der Nutzung von ChatGPT durch meine Schüler häufig aufgefallen. In der Zeit nach ChatGPT kopierten und fügten meine Studenten die einzeilige Fehlermeldung aus ihrer Befehlszeilenschnittstelle ein, obwohl der Fehler 100 Zeilen lang war und sich auf einige Module und Abhängigkeiten bezog. Manchmal kann es funktionieren, ChatGPT zu bitten, eine Problemumgehung durch Angabe eines einzeiligen Fehlercodes zu erklären. Schlimmer noch: Es kann ein oder zwei Stunden manuelle Debugging-Arbeit in Anspruch nehmen.

ChatGPT hat eine Einschränkung: Es kann den Kontext Ihres Codes nicht sehen. Natürlich können Sie Ihrem Code jederzeit Kontext hinzufügen. Bei komplexerem Code ist es jedoch möglicherweise nicht möglich, ChatGPT jede einzelne Zeile Code zu übermitteln. Da ChatGPT nur einen kleinen Teil Ihres Codes sieht, erschließt es den restlichen Code entweder anhand seiner eigenen Wissensbasis oder interpretiert ihn einfach.

Hier sind die möglichen Einschränkungen bei der Verwendung von ChatGPT:

  • Fehlende dynamische Interaktion in Echtzeit: ChatGPT bietet zwar wertvolle Einblicke, es fehlt jedoch die Echtzeit-Interaktion und der dynamische Austausch, die Foren oder Diskussionsthreads bieten können. Auf StackOverflow schlagen Ihnen möglicherweise 10 verschiedene Personen 3 verschiedene Lösungen vor, die Sie entweder durch Selbermachen (Do it yourself, try it) oder durch Anschauen der Anzahl der Upvotes vergleichen können.
  • Auf Vorwissen aufbauen: Die Qualität der Antwort von ChatGPT hängt von den Informationen ab, mit denen es trainiert wurde, und es ist möglicherweise nicht über die neuesten Framework-Updates oder die spezifischen Details Ihres Projekts informiert.
  • Kann die Fehlerbehebung zusätzlich in Anspruch nehmen: ChatGPT verfügt nicht über den Kontext für Ihren vollständigen Code, daher kann dies zu mehr Zeit für das Debuggen führen.
  • Eingeschränktes Verständnis des Konzepts: Traditionelle Browsing-Methoden geben Ihnen die Freiheit, auszuwählen und ein wenig zu experimentieren, was in der Welt der Programmierung entscheidend ist. Wenn Sie wissen, wie Sie die richtige Quelle auswählen, lernen Sie möglicherweise mehr, wenn Sie selbst browsen, als wenn Sie sich auf ein generisches ChatGPT-Modell verlassen.
    Sofern Sie nicht ein trainiertes Sprachmodell fragen, das auf Programmierkonzepte und -technologie spezialisiert ist, Forschungsarbeiten zu Programmierthemen, populäre Vorlesungen über Deep Learning von Andrew Ng oder einen Tweet von Yann Le Cunn auf X (früher Twitter) lesen, wird ChatGPT eine weitgehend allgemeine Antwort geben.

Dieses Szenario zeigt, wie ChatGPT ein wertvolles Tool in Ihrem Programmier-Toolkit sein kann, insbesondere für persönliche Anleitungen und konzeptionelle Klärung. Denken Sie daran, die Unterstützung von ChatGPT mit Navigationsmethoden abzuwägen und fragen Sie die Community unter Berücksichtigung der Stärken und Grenzen.

Das Endergebnis

Empfohlen für Programmierer: Wichtige Tools und Ressourcen

 

Wenn Sie das Autocomplete-Modell wirklich nutzen möchten, anstatt sich ausschließlich auf ChatGPT zu verlassen, versuchen Sie es mit VS Code-Erweiterungen für Code-Autocomplete-Aufgaben wie CodeGPT – einer GPT4-Erweiterung für VS Code – oder GitHub Copilot oder den KI-Autocomplete-Tools in Google Colab. Diese Tools steigern die Produktivität von Entwicklern deutlich.

Wie Sie im Screenshot oben sehen können, gibt Google Colab dem Benutzer automatisch Vorschläge für den nächsten Code.

Eine weitere Alternative ist GitHub Copilot. Mit GitHub Copilot erhalten Sie KI-gestützte Vorschläge in Echtzeit. GitHub Copilot schlägt Codevervollständigungen vor, während Entwickler schreiben, und übersetzt Eingabeaufforderungen in Codierungsvorschläge basierend auf dem Projektkontext und den Methodenkonventionen. Laut dieser GitHub-Version läuft Copilot Chat nun auf OpenAI GPT-4 (einem ähnlichen Modell wie ChatGPT).

Ich habe CodeGPT aktiv als VSCode-Erweiterung verwendet, bevor ich herausfand, dass Github Copilot kostenlos verfügbar ist, wenn man sich für Tutorials interessiert. CodeGPT Co wurde bisher 2 Million Mal im VSCode Extension Marketplace heruntergeladen. CodeGPT ermöglicht eine nahtlose Integration mit der ChatGPT-API, Google PaLM XNUMX und Meta Llama.
Sie können Codevorschläge über Kommentare erhalten.So geht's:

  • Schreiben Sie einen Kommentar und fordern Sie einen bestimmten Code an.
  • Klicken cmd + shift + i
  • Benutze den Code 😎

Sie können auch über die Erweiterung im Menü eine Konversation starten und zu den Programmiergesprächen navigieren 💬

Wenn ich an meinen Weg als Programmierer zurückdenke, ist die wertvolle Lektion, die ich gelernt habe, dass es keine allgemeingültige Lernmethode gibt. Es ist wichtig, eine Vielzahl von Lernmethoden zu nutzen und traditionelle Praktiken wie das Browsen und die Interaktion mit der Community mit den innovativen Möglichkeiten von Tools wie ChatGPT und Tools zur automatischen Codevervollständigung zu kombinieren.

 

Was zu tun:

  • Profitieren Sie von personalisierten Lernressourcen: Machen Sie das Beste aus den Lernmaterialempfehlungen von ChatGPT und verwenden Sie es als wichtiges Hilfsmittel auf Ihrem Lernweg.
  • Zusammenarbeiten, um Probleme zu lösen: Verwenden Sie ChatGPT als Kooperationspartner, als würden Sie mit Ihren Freunden programmieren, und verbessern Sie so Ihre Fähigkeit, Programmierherausforderungen effektiv zu bewältigen.

Was Sie vermeiden sollten:

  • Übermäßiges Vertrauen in ChatGPT: Verlassen Sie sich nicht ausschließlich auf ChatGPT und verfolgen Sie einen ausgewogenen Ansatz zur Entwicklung unabhängiger Problemlösungsfähigkeiten. ChatGPT ist zwar ein leistungsstarkes Tool zum Verstehen von Codestrukturen und zum Generieren von Ideen, aber wenn Sie sich ausschließlich darauf verlassen, kann dies Ihre Entwicklung analytischer und kritischer Denkfähigkeiten behindern, die für die Entwicklung eines kompetenten Entwicklers unerlässlich sind.
  • Vernachlässigung der direkten Interaktion mit der Programmier-Community: Obwohl ChatGPT wertvolle Einblicke bietet, sollten Sie die Vorteile der direkten Interaktion und des Feedbacks von Programmier-Communitys nicht vernachlässigen. Dies trägt auch zum Aufbau eines guten Rufs in der Community bei. Durch die Interaktion mit anderen Programmierern haben Sie die Möglichkeit, von deren Erfahrungen zu lernen, Wissen auszutauschen und unterschiedliche Perspektiven auf die Herausforderungen zu gewinnen, vor denen Sie stehen.
  • Ignorieren Sie die praktische Programmierpraxis: Gleichen Sie die ChatGPT-Anleitung mit praktischer Programmierung aus, um theoretisches Wissen durch praktische Anwendung zu erweitern. Die praktische Anwendung ist der Schlüssel zur Umsetzung theoretischer Konzepte in praxisnahe Fähigkeiten. Versuchen Sie, selbst Code zu schreiben, mit verschiedenen Lösungen zu experimentieren und Fehler zu beheben. Dies wird Ihnen helfen, Ihr Verständnis der Konzepte zu festigen und Ihre Problemlösungsfähigkeiten zu entwickeln.

Erzählen Sie mir in den Kommentaren, wie Sie ChatGPT als Hilfe beim Programmieren verwenden!
Viel Spaß beim Programmieren!

 

Kommentarfunktion ist geschlossen.