Zephyrnet-Logo

Überlegen Sie selbst, ob Sie möchten, dass KI Ihnen das Programmieren beibringt

Datum:

Merkmal Das Erlernen des Programmierens ist mit KI vielleicht jetzt einfacher denn je, obwohl die Tools, die Ihnen Quellcode vorschlagen oder generieren, mit Bedacht eingesetzt werden müssen. 

Das Programmieren erfordert Geduld und Beharrlichkeit, insbesondere zu Beginn des Lernprozesses, wenn nichts viel Sinn ergibt. Die Regeln zum Schreiben von Code scheinen verwirrend. Es gibt alle Arten von Satzzeichen und Symbolen, die sorgfältig verwendet werden müssen. Das Fehlen eines Doppelpunkts oder Kommas oder eine fehlerhafte Einrückung kann je nach verwendeter Sprache zu Fehlern führen. Mit der Zeit und mit genügend Übung rastet es tatsächlich ein.

Wie die meisten Anfänger, die das Programmieren online lernen, begann ich damit, mir Tutorials anzusehen und Probleme in Reihe von Programmierübungen zu lösen. Wenn ich bei einem Problem nicht weiterkam, war es sehr verlockend, mich an ChatGPT zu wenden, das mir leicht dabei helfen würde, die richtige Lösung zu finden. Diese Arten von Assistenten sind gut darin, einfachen Code zu generieren, und einige von ihnen können Ihnen sogar eine vollständige Antwort geben, genau so, wie Sie sie beschreiben.

Das wurde mir klar, als ich mich mit der Implementierung einer bestimmten Funktion beschäftigte, und habe die Autovervollständigungsfunktion von GitHub Copilot in Visual Studio Code deaktiviert, um nicht zu schummeln.

Nicht einfach kopieren und einfügen

David Malan, Informatikprofessor an der Harvard University, unterrichtet CS50, einen beliebten Einführungskurs in die Informatik (der kostenlos belegt werden kann). Online), stimmte zu, dass KI manchmal etwas zu hilfreich sein kann. 

Um Schüler davon abzuhalten, zur Erledigung ihrer Aufgaben Tools wie ChatGPT von OpenAI oder Bard von Google zu verwenden, boten ihnen die Lehrer eine Alternative an: eine virtuelle Gummiente. Die CS50-Ente ist ein Codierungs-Chatbot, der auf GPT-4 basiert, aber über Leitplanken verfügt, um Schüler daran zu hindern Betrug.

Wie Sie vielleicht wissen, ist das Debuggen von Gummi-Enten ist eine Sache in der Softwareentwicklung: Wenn Sie bei einem Code nicht weiterkommen, kann es Ihnen helfen, die Lösung selbst zu finden, wenn Sie über das Problem mit einem Spielzeug oder einem anderen unbelebten Objekt sprechen. Es ist ziemlich effektiv.

Der CS50-Duck-Debugger ist eine Hommage daran: Der Bot sei darauf ausgelegt, freundlich und unterstützend zu sein, er antworte nur auf Fragen, die sich auf den Kurs beziehen, und gebe keine Antworten auf Hausaufgabenprobleme, sagte Malan Das Register

„Unsere Richtlinie zu Beginn des Kurses besagt, dass Studenten keine Software von Drittanbietern wie ChatGPT und Copilot verwenden dürfen; Sie neigen einfach dazu, zu hilfsbereit zu sein und allzu bereit, den Schülern direkt Lösungen anzubieten, anstatt sie zu ihnen zu führen, wie es ein guter Lehrer tun würde. Den Schülern ist es jedoch gestattet und sie werden ermutigt, die eigene KI-basierte Software von CS50 zu verwenden, die über diese pädagogischen Leitplanken verfügt“, sagte er.

Die CS50-Ente wurde letztes Jahr vorgestellt und das Feedback war überwiegend positiv. Wenn Schüler einen virtuellen Tutor zur Hand haben, können sie jederzeit um Hilfe bitten. Aber wie alle KI-Modelle kann es Fehler machen und ist nicht immer genau. Erste Tests ergaben, dass rund 88 Prozent der Fragen zum Lehrplan richtig beantwortet werden konnten. 

Auch für Dozenten ist der Coding-Bot nützlich; Dadurch haben sie mehr Zeit, den Schülern über die Hausaufgaben hinaus auch in anderen Bereichen zu helfen. In einer Forschungsarbeit [PDF] analysierten die Auswirkungen des Duck-Debuggers und sagten, dass sich ihr Experiment zum Aufbau eines virtuellen KI-Codierungsassistenten ausgezahlt habe. Sie glauben, dass „generative KI das Lernen der Schüler fördern und nicht nur stören kann“ und suchen nach Möglichkeiten, die Technologie in anderen Fächern anzuwenden.

Sparen Sie Zeit, indem Sie weniger googeln

Mein akademischer Hintergrund liegt in der Physik und im Wissenschaftsjournalismus und nicht in der Informatik. Ich habe angefangen, das Programmieren zu lernen, kurz bevor die neueste Generation von Chatbots auf den Markt kam. Früher habe ich, wie viele andere auch, versucht, Softwarekonzepte zu verstehen oder Fehler zu beheben, indem ich Blogbeiträge gelesen oder auf Websites wie Stack Overflow nach Beispielen für ähnlichen Code gesucht habe. KI ermöglicht es mir, diesen Prozess zu verkürzen.

Anstatt viele Informationen zu durchforsten, um Lösungen zu finden, die am besten zu meinem Problem passen, kann ich jetzt auf ein großes Sprachmodell zurückgreifen, um direkte Hilfe zu erhalten. Ich lerne, damit ich die Technologien, die andere verwenden, besser verstehen kann. Mit diesen digitalen Assistenten bin ich schneller auf dem Laufenden, als mehrere Artikel über Slices versus Arrays zu lesen oder in den Softwareprojekten anderer Leute zu blättern.

Maschinengeschriebener Code ist jedoch nicht immer nützlich und kann es auch die Qualität verringern einer Codebasis. Wenn ich die Ausgabe eines KI-Assistenten kopierte und in meine Quelle einfügte, führte dies häufig zu neuen Fehlern, da sie nicht zum Rest meines Programms passte. Der Versuch, diese Fehler zu beheben, kann schwierig sein, insbesondere wenn Sie nicht verstehen, was generiert wurde. Als Neuling war nicht immer klar, ob die Fehler einfach auf einen falschen Code zurückzuführen waren oder ob er im falschen Kontext verwendet wurde.

„Ich denke, wenn jemand lernen möchte, [mit den aktuellen] KI-Tools zu programmieren, sollte er dies mit zwei Zielen angehen: Nehmen Sie sich die Zeit, genug zu programmieren, um zu wissen, was das Tool generiert. [Und] übernehmen Sie die Rolle des „Code-Reviewers“ und untersuchen Sie, wie Sie fehlerhaften Code identifizieren und verbessern können“, Zed Shaw, ein Softwareentwickler und Autor von Lerne Python auf die harte Tour, Sagte Das Register

Programmierer sollten in der Lage sein, Fehler in maschinell erstelltem Code zu erkennen und sollten den Bots nicht völlig vertrauen. Sie sollten auf jeden Fall darauf achten, ob offensichtlich urheberrechtlich geschützter Code in die Ausgabe der Modelle eindringt.

„Die Tatsache, dass ChatGPT Lösungen schneller liefert, verpackt in beruhigenden Sätzen wie ‚Ich denke, das sollte Ihr Problem lösen …‘ führt dazu, dass wir unser kritisches Denken ausschalten und die Lösungen nicht so sorgfältig in Frage stellen, wie wir sollten“, sagte Charles Severance, ein Informatikprofessor an der School of Information der University of Michigan, der dies getan hat freigegeben Kostenlose Online-Codierungskurse.

„Gehen Sie immer davon aus, dass ChatGPT ein weniger erfahrener Programmierer ist als Sie. Der einzige sichere Weg, KI-Tools zu nutzen, besteht darin, sicher zu sein, dass die daraus resultierende Lösung korrekt ist“, fügte er hinzu. 

Sie müssen wissen, was Sie tun

Um diese Tools effektiv nutzen zu können, müssen Sie Ihr Problem verstehen und es in Ihrer Eingabeaufforderung klar erläutern. Die Qualität des in der Ausgabe zurückgegebenen Codes hängt davon ab, wie Sie Ihre Fragen in der Eingabe formulieren, sagte Inbal Shani, Chief Product Officer bei GitHub Das Register.

Benutzer sollten mit interagieren GitHub-Copilot als würden sie mit einem Kollegen reden, schlug sie vor. „Je detaillierter Sie dem Assistenten, der neben Ihnen sitzt, Ihre Absichten und die Frage, wohin Sie mit dem Problem gehen, das Sie lösen möchten, mitteilen, desto bessere Antworten erhalten Sie, da die KI mehr Kontext erhält. Es weiß, wie man eine detailliertere Suche durchführt, um den richtigen Code zu finden oder die richtige Testinfrastruktur für Sie zu empfehlen“, sagte sie. 

Die von uns verwendeten Programmiersprachen haben sich stärker an der menschlichen Sprache orientiert; Chat-Tools sind nur der nächste Schritt in dieser Entwicklung

Phillip Compeau, Assistenzprofessor an der Carnegie Mellon University, der das geschaffen hat Rosalind Plattform und Programmieren für Liebhaber Tutorial für Leute, die sich für Computerbiologie interessieren, einverstanden.

Wenn er Schülern Unterricht gibt, die gerade mit dem Programmieren beginnen, ermutigt er sie, sich von KI fernzuhalten. Aber fortgeschritteneren Studierenden, die die Grundlagen kennen, bringt er ihnen bei, wie sie die Technologie nutzen können, um bei ihrer Arbeit produktiver und effizienter zu sein.

„Eines der Dinge, die ich den Schülern zeige, ist, dass der beste Weg, eine klare, korrekte Antwort von einem KI-Tool zu erhalten, das Code generiert, darin besteht, klar und korrekt genau anzugeben, was der Computer tun muss.“ Das ist genau die Definition der Programmierung eines Computers, und im Laufe der Zeit haben sich die von uns verwendeten Programmiersprachen immer mehr an die menschliche Sprache angeglichen; Chat-Tools sind nur der nächste Schritt in dieser Entwicklung“, sagte er Das Register

Beim Codieren ist es von entscheidender Bedeutung, herauszufinden, was Ihr Programm tun soll, wie es funktionieren soll und wo es schief gelaufen ist. Lernende können diese Kernkompetenzen im Laufe der Zeit nur durch konsequentes Üben ausbauen. Sie können diesen Prozess nicht überspringen, indem Sie sich auf KI verlassen, wenn Sie ein kompetenter Softwareentwickler sein wollen. Aber wenn man es klug einsetzt, kann man sich schnell verbessern und ein guter Programmierer werden – und vielleicht macht es sogar Spaß. ®

spot_img

Neueste Intelligenz

spot_img