Hoe kan ik programmeren leren met ChatGPT als ik opnieuw moet beginnen?

ChatGPT verkennen in mijn 15-jarige codeerreis - Verder gaan dan alleen kopiëren en plakken

Programmeren maakt al deel uit van mijn leven sinds ik 10 jaar oud was. Van het aanpassen van de code en CSS voor mijn Friendster-profiel in de begindagen van het internet, tot het uitproberen van SQL-injecties omdat het leuk was, het bouwen van een driepotige robot voor de lol en meer recent het verdiepen in Python-programmering: mijn programmeeravontuur is divers en leuk!

Dit is wat ik heb geleerd van verschillende programmeerbenaderingen.

Foto door Arnold Francisca op Unsplash

De manier waarop ik programmeren leer is altijd hetzelfde; Zoals men zegt, het is meestal gewoon kopiëren en plakken. 😅

Als het gaat om het bouwen van iets in de programmeerwereld, is dit mijn aanpak:

  1. Selecteer het juiste framework of de juiste bibliotheek.
  2. Leer van eerdere projecten
  3. Verdeel het in stappen
    Verdeel uw project in uitvoerbare stappen, zodat de ontwikkeling minder stressvol wordt.
  4. Zoek elk onderdeel op Google.
    Raadpleeg voor elke stap Google/Bing/DuckDuckGo/welke zoekmachine u ook verkiest voor inzichten, begeleiding en mogelijke oplossingen.
  5. Begin met programmeren
    Probeer elke stap systematisch uit te voeren.

Toch kunnen zelfs goed doordachte code fouten bevatten. Dit is mijn strategie voor probleemoplossing:

1. Controleer de Framework-documentatie: Lees altijd de documentatie!

2. Zoek op Google en Stack Overflow: Zoek op Google en Stack Overflow. Een voorbeeld van trefwoorden is:

site:stackoverflow.com [programmeertaal] [bibliotheek] Fout [foutmelding]

site:stackoverflow.com Python-fout ImportError: pandas Module niet gevonden

Stack Overflow-oplossingenAls het probleem zich al voordoet op Stack Overflow, zoek ik naar de reacties en oplossingen met de meeste upvotes. Vaak vind ik dan een snel en betrouwbaar antwoord. Dit platform is een belangrijke referentie voor ontwikkelaars om problemen op te lossen Python-fouten Bibliotheek van geruchten en panda's.
vertrouw op mijn intuïtieAls Stack Overflow geen antwoord heeft, vertrouw ik op mijn instinct en zoek ik op Google naar betrouwbare bronnen; GeeksForGeeks, Kaggle, W3School en Towards data Science Voor DS-spullen 😉

3. Kopieer en plak de codeoplossing.

4. Verificatie en testenDe laatste stap bestaat uit het zorgvuldig onderzoeken en testen van de aangepaste code om er zeker van te zijn dat deze werkt zoals bedoeld. Hiermee wordt gegarandeerd dat er geen codeverificatie plaatsvindt en dat de code goed wordt getest.

 

Het technische probleem is succesvol opgelost!

Is dat niet prachtig?

 

Maar doen we dit in werkelijkheid nog steeds?!

Ik heb de laatste tijd een verandering opgemerkt in de manier waarop nieuwe programmeurs programmeren benaderen. Ik geef nu al ongeveer 3 jaar professioneel les in coderen, waarbij ik afwisselend programmeerbootcamps, gastcolleges op universiteiten en bedrijfstrainingen geef. De manier waarop programmeurs leren programmeren is enigszins veranderd, met een focus op Kunstmatige intelligentietools in programmeren.

Normaal gesproken adviseer ik nieuwe gebruikers om de ouderwetse methode van zoeken en Googlen te gebruiken, maar uiteindelijk gebruiken mensen toch ChatGPT. Hun excuus is

 

“ChatGPT (voor programmeerdoeleinden) is alsof je een extra klasgenoot hebt: iemand die met je praat als een normaal persoon.”

Het is erg nuttig, vooral als je nog steeds probeert dingen te begrijpen uit onderzoeksresultaten en documenten – om te ontwikkelen wat wordt genoemd “Programmeursintuïtie'.

Begrijp me niet verkeerd, ik ben voorstander van de basisprincipes. Bladeren, documenten lezen en vragen stellen in de community: dit zijn wat mij betreft krachtige stappen. Enkel op ChatGPT vertrouwen is misschien wat overdreven. Zeker, hij kan een korte samenvatting van de antwoorden voorbereiden, maar Traditionele bladermethoden geven je de vrijheid om te kiezen en te experimenteren, wat cruciaal is in de wereld van programmeren.

Maar ik moet eerlijk zijn: ChatGPT is ontzettend snel met het geven van antwoorden, vooral als je nog steeds probeert uit te vinden wat er wel en niet klopt in de zoekresultaten en documenten. ChatGPT is een krachtig hulpmiddel om het leren te versnellen en oplossingen te ontdekken voor complexe programmeringsproblemen.

Ik besef dat deze verschuiving naar het gebruik van ChatGPT als studiepartner niet alleen plaatsvindt in de programmeerwereld. ChatGPT heeft een revolutie teweeggebracht in de manier waarop mensen leren. Ik gebruik zelfs ChatGPT om mijn grammatica voor dit bericht te corrigeren, sorry Grammarly.

 

Het weigeren om ChatGPT te gebruiken is hetzelfde als het weigeren om zoekmachines te gebruiken in het begin van de jaren 2000.. Hoewel ChatGPT vooroordelen en fouten kan bevatten, vergelijkbaar met zoekmachines die onbetrouwbare informatie of oplichting bevatten. Wanneer ChatGPT op de juiste manier wordt gebruikt, kan het het leerproces versnellen.

Laten we ons nu eens een realistisch scenario voorstellen waarin ChatGPT je kan helpen door als je programmeermaatje te fungeren bij het debuggen.

 

Scenario: Python-script debuggen

Stel je voor dat je aan een Python-script voor een project werkt en je stuit op een onverwachte fout die je niet kunt oplossen. Dit is een veelvoorkomend probleem in softwareontwikkeling en vereist geavanceerde debugvaardigheden.

Zo heb ik vroeger leren debuggen, in het tijdperk vóór ChatGPT. Deze klassieke methoden zijn nog steeds van groot nut om de basisbeginselen van foutopsporing te begrijpen.

Bladermethode:

  1. Documentatie:

Begin met het controleren van de Python-documentatie voor de module of functie die de fout veroorzaakt. De Python-documentatie is een essentieel naslagwerk om te begrijpen hoe verschillende modules werken en hoe u ze correct gebruikt. Het helpt u de oorzaken van fouten te identificeren en deze efficiënt te verhelpen.

 

Bijvoorbeeld:
- Bezoek https://scikit-learn.org/stable/modules/ Voor Scikit Learn-documentatie.

2. Zoek op Google en Stack Overflow:

Als de documentatie geen oplossing biedt, kunt u terecht bij Google en Stack Overflow. Zoek in verschillende forumthreads en discussies naar een soortgelijk probleem en los het op. Deze bronnen zijn waardevol voor het oplossen van problemen op het gebied van machine learning.

3. Vertrouw op je intuïtie:

Als het probleem uniek is of niet goed gedocumenteerd, vertrouw dan op uw instinct! U kunt op Google artikelen en bronnen bekijken die u in het verleden betrouwbaar vond, en proberen vergelijkbare oplossingen voor uw probleem toe te passen. Deze aanpak verbetert uw technische probleemoplossende vaardigheden.

Zoals u in het bovenstaande zoekresultaat kunt zien, komen de resultaten van W3school (een betrouwbare leersite voor programmeren, ideaal om te spieken) en de andere twee resultaten zijn afkomstig van de officiële Pandas-documentatie. Je ziet dat zoekmachines gebruikers aanraden om de officiële documentatie te raadplegen. 😉

Hier leest u hoe u ChatGPT kunt gebruiken bij het oplossen van problemen.

 

Een nieuwe aanpak met ChatGPT:

  1. Interactie met ChatGPT in gesprekken:

In plaats van alleen maar door documenten en forums te bladeren, kunt u met ChatGPT live communiceren. Geef een korte beschrijving van de fout en stel uw vraag. U kunt bijvoorbeeld ChatGPT gebruiken om onmiddellijke hulp te krijgen bij het begrijpen en oplossen van veelvoorkomende programmeerfouten.

 

"Ik heb een probleem met mijn [programmeertaal] script, waarbij [foutbeschrijving]... Kunt u mij helpen de mogelijke oorzaken van deze fout te begrijpen en een mogelijke oplossing voorstellen?"

2. Concepten verduidelijken met behulp van ChatGPT:

Als de fout betrekking heeft op een concept dat u niet begrijpt, kunt u ChatGPT vragen dat concept uit te leggen. Bijvoorbeeld,

 

Leg eens uit hoe [specifiek concept] werkt in [programmeertaal]? Ik denk dat het te maken heeft met de fout die ik krijg. De fout is: [fout]

3. Vraag om aanbevelingen voor probleemoplossing:

U kunt ChatGPT om algemeen advies vragen over het oplossen van problemen met Python-programma's. Bijvoorbeeld,

 

Wat zijn enkele veelgebruikte strategieën om met [het probleem] om te gaan? Heeft u aanbevelingen voor hulpmiddelen of technieken?

Mogelijke voordelen:

  • Aangepaste richtlijnen: ChatGPT kan u gepersonaliseerde begeleiding bieden op basis van de specifieke details die u over de fout verstrekt en uw begrip van het probleem. Deze functie bouwt voort op de mogelijkheden van ChatGPT's grote taalmodel (LLM) om op maat gemaakte ondersteuning te bieden.
  • Verduidelijking van begrippen: U kunt rechtstreeks bij ChatGPT uitleg en verduidelijkingen van concepten opvragen, waarbij u gebruikmaakt van de mogelijkheden van het grote taalmodel (LLM).
  • Problemen efficiënt oplossen: ChatGPT kan beknopte, relevante tips voor probleemoplossing bieden, waardoor het debugproces kan worden vereenvoudigd.

Mogelijke beperkingen:

Laten we het nu hebben over de nadelen als je 100% op ChatGPT vertrouwt. Ik heb deze problemen vaak opgemerkt bij mijn studenten die ChatGPT gebruiken. In het post-ChatGPT-tijdperk kopieerden en plakten mijn studenten de foutmelding van één regel uit hun opdrachtregelinterface, ook al was de fout 100 regels lang en had deze betrekking op slechts een paar modules en afhankelijkheden. Soms kan het helpen om ChatGPT te vragen een tijdelijke oplossing uit te leggen door een foutcode van één regel te verstrekken. Nog erger is dat het een uur of twee aan handmatig debuggen kan kosten.

ChatGPT heeft als beperking dat je de context van je code niet kunt zien. Natuurlijk kunt u altijd context aan uw code toevoegen. Bij complexere code kunt u mogelijk niet elke regel code aan ChatGPT doorgeven. Het feit dat ChatGPT slechts een klein deel van uw code ziet, zorgt ervoor dat ChatGPT ook Er wordt aangenomen De rest van de code is gebaseerd op zijn kennisbank of hallucinerend.

Dit zijn de mogelijke beperkingen van het gebruik van ChatGPT:

  • Gebrek aan dynamische interactie in realtime: Hoewel ChatGPT waardevolle inzichten biedt, mist het de realtime-interactie en dynamische uitwisseling die forums of discussiethreads wel kunnen bieden. Op StackOverflow kunnen 10 verschillende mensen 3 verschillende oplossingen voorstellen, die je kunt vergelijken door zelf iets te doen, het zelf te proberen of door het aantal upvotes te bekijken.
  • Vertrouwen op voorkennis: De kwaliteit van de respons van ChatGPT is afhankelijk van de informatie waarmee het is getraind. Het is mogelijk dat ChatGPT niet op de hoogte is van de nieuwste framework-updates of de specifieke details van uw project.
  • Kan extra tijd voor debuggen opleveren: ChatGPT heeft geen context voor uw volledige code. Hierdoor kan het meer tijd kosten om de code te debuggen.
  • Beperkt begrip van het concept: Traditionele zoekmethoden geven je de vrijheid om te kiezen en een beetje te experimenteren, wat cruciaal is in de wereld van programmeren. Als je weet hoe je de juiste bron kiest, kun je meer leren door zelf te zoeken in plaats van te vertrouwen op een generiek ChatGPT-model.
    Tenzij u een getraind taalmodel vraagt ​​dat gespecialiseerd is in programmeerconcepten en -technologie, onderzoekspapers over programmeeronderwerpen, populaire lezingen over deep learning door Andrew Ng of een tweet van Yann Le Cunn op X (voorheen Twitter), zal ChatGPT een grotendeels generiek antwoord geven.

Dit scenario laat zien hoe ChatGPT een waardevol hulpmiddel kan zijn in uw programmeergereedschapskist, vooral voor persoonlijke begeleiding en conceptuele verduidelijking. Houd er rekening mee dat u de ondersteuning van ChatGPT moet afwegen tegen de navigatiemethoden en vraag het aan de community. Hierbij moet u rekening houden met de sterke en zwakke punten van ChatGPT.

het komt neer op

Aanbevolen voor programmeurs: essentiële tools en bronnen

 

Als u echt wilt profiteren van het autocomplete-model, kunt u in plaats van alleen ChatGPT VScode-extensies gebruiken voor code-autocomplete-taken zoals CodeGPT — GPT4-extensie voor VScode، أو GitHub-copilootof AI-autoaanvulhulpmiddelen in Google Colab. Deze hulpmiddelen verhogen de productiviteit van ontwikkelaars aanzienlijk.

Zoals je op de schermafbeelding hierboven kunt zien, geeft Google Colab de gebruiker automatisch suggesties voor de volgende code.

Een ander alternatief is Github Copilot. Met GitHub Copilot krijgt u realtime suggesties op basis van AI. GitHub Copilot stelt codeaanvulling voor terwijl ontwikkelaars schrijven en zet deze prompts om in codevoorstellen op basis van de projectcontext en stijlconventies. Volgens deze Vrijgave van GithubCopilot Chat wordt nu aangestuurd door OpenAI's GPT-4 (een soortgelijk model dat wordt gebruikt door ChatGPT).

Ik gebruikte CodeGPT actief als VSCode-extensie voordat ik ontdekte dat Github Copilot gratis beschikbaar was als je van tutorials houdt. CodeGPT Co is tot nu toe 2 miljoen keer gedownload in de VSCode Extension Marketplace. CodeGPT zorgt voor naadloze integratie met de ChatGPT API, Google PaLM XNUMX en Meta Llama.
Via opmerkingen kunt u codesuggesties krijgen.Zo doe je dat:

  • Schrijf een reactie waarin u om een ​​specifieke code vraagt.
  • Klik cmd + shift + i
  • Gebruik de code 😎

Je kunt ook een gesprek beginnen. Via de extensie in het menu en ga naar de codeergesprekken 💬

Als ik terugkijk op mijn programmeeravontuur, is de waardevolle les die ik heb geleerd dat er geen universele manier van leren bestaat. Het is essentieel om een ​​verscheidenheid aan leermethoden te omarmen en traditionele praktijken, zoals browsen en interactie met de community, te combineren met de innovatieve mogelijkheden van hulpmiddelen als ChatGPT en hulpmiddelen voor het automatisch aanvullen van code.

 

Wat moeten we doen:

  • Profiteer van gepersonaliseerde leermiddelen: Haal het maximale uit de leermateriaalaanbevelingen van ChatGPT en gebruik deze als een belangrijk hulpmiddel tijdens uw leerproces.
  • Samenwerken om problemen op te lossen: Gebruik ChatGPT als een samenwerkingspartner, net zoals u met uw vrienden codeert. Zo kunt u programmeeruitdagingen effectiever aanpakken.

Wat u moet vermijden:

  • Te veel vertrouwen op ChatGPT: Zorg ervoor dat u niet volledig op ChatGPT vertrouwt en kies voor een evenwichtige aanpak bij het ontwikkelen van onafhankelijke probleemoplossende vaardigheden. Hoewel ChatGPT een krachtig hulpmiddel is voor het begrijpen van codestructuren en het genereren van ideeën, kan het enkel vertrouwen op ChatGPT uw ontwikkeling van analytische en kritisch denkvaardigheden belemmeren. Deze vaardigheden zijn essentieel om een ​​competente ontwikkelaar te worden.
  • Het verwaarlozen van directe interactie met de programmeergemeenschap: Hoewel ChatGPT waardevolle inzichten biedt, moet u de voordelen van directe interactie en feedback van programmeercommunity's niet negeren. Dit draagt ​​ook bij aan het opbouwen van een goede reputatie in de gemeenschap. Door met andere programmeurs samen te werken, krijgt u de kans om van hun ervaringen te leren, kennis uit te wisselen en andere perspectieven te krijgen op de uitdagingen waarmee u wordt geconfronteerd.
  • Negeer praktische programmeeroefeningen: Combineer ChatGPT-begeleiding met praktische programmering om theoretische kennis te verbeteren met praktische toepassingen. Praktische toepassing is de sleutel om theoretische concepten om te zetten in vaardigheden voor in de praktijk. Probeer zelf code te schrijven, experimenteer met verschillende oplossingen en probeer te debuggen. Hiermee vergroot u uw begrip van concepten en ontwikkelt u uw probleemoplossende vaardigheden.

Vertel me in de reacties hoe jij ChatGPT gebruikt om te programmeren!
Veel plezier met coderen!

 

Reacties zijn gesloten.