Je bent geen programmeur, maar je hebt wel een programmawens voor bijvoorbeeld je Raspberry? Laat ChatGPT voor je programmeren! Dat is zo geregeld en je zit zelfs niet eens vast aan een specifieke programmeertaal. En wie weet, wellicht leer je uiteindelijk met de hulp van datzelfde ChatGPT ook zelf programmeren. Die vaardigheid komt tegenwoordig met regelmaat van pas. Onderstaande tip is afkomstig uit mijn boek Geavanceerd ChatGPT, 2e editie, waarin we dieper ingaan op het genereren van code door de slimme assistent.
In mijn genoemde boek laten we ChatGPT programmacode genereren. Hier alvast een eerste voorbeeld van de indrukwekkende mogelijkheden. Waarbij geldt dat code genereren niet beperkt is tot Python; je kunt bijvoorbeeld een Excel-macro laten schrijven, een script om een PowerPoint-presentatie op te stellen en een HTML-pagina laten maken – om maar een paar voorbeelden te noemen. ChatGPT ‘spreekt’ bijvoorbeeld ook JavaScript, SQL, XML en PHP.

Python
In dit voorbeeld beperken we ons tot het schrijven van een Pythonprogramma. Maar waarom zou je dat willen, als ChatGPT zelf al in staat is om Python te schrijven en uit te voeren? Daar kunnen meerdere redenen voor zijn, maar een belangrijke is natuurlijk dat je een door ChatGPT geschreven programma wilt uitbreiden en elders wilt gebruiken. Je kunt vanzelfsprekend de in de achtergrond gegenereerde Python-code kopiëren en opslaan, maar het is dus ook mogelijk een dedicated programma te laten schrijven dat je later kunt hergebruiken; daarvoor moet je dan wel over een separate Python-omgeving beschikken (gratis te downloaden op python.org). Ofwel: laat ChatGPT voor je programmeren en gebruik de code waar je wilt.
De opdracht: QuickSort in Python
Laten we eenvoudig beginnen. QuickSort is een algoritme dat veel wordt gebruikt om datasets te sorteren. Ik zou kunnen uitleggen hoe het werkt, maar daar hebben we ChatGPT natuurlijk voor. De prompt voor ChatGPT is eenvoudig.
⌨️ Kun je een Python-programma geven dat het QuickSort-algoritme implementeert?
🤖 Natuurlijk! Hieronder is een Python-programma dat het QuickSort-algoritme implementeert:

Uitleg
- Basisgeval: Als de lijst arr minder dan of gelijk aan 1 element bevat, is de lijst al gesorteerd, dus retourneert de functie gewoon de lijst.
- Pivot-selectie: De pivot wordt geselecteerd als het middelste element van de lijst.
- Partitioneren: De lijst wordt in drie delen gesplitst:
-left: bevat elementen die kleiner zijn dan de pivot.
-middle: bevat elementen die gelijk zijn aan de pivot.
-right: bevat elementen die groter zijn dan de pivot. - Recursieve aanroep: QuickSort wordt recursief aangeroepen voor zowel de left als de right delen van de lijst.
- Combineren: De gesorteerde left, middle en right worden gecombineerd en geretourneerd als de volledig gesorteerde lijst.
Dit programma bevat ook een eenvoudig voorbeeldgebruik waarbij een ongesorteerde array wordt gesorteerd met behulp van het QuickSort-algoritme.
Je ziet het: je gooit er een kwartje in en niet alleen wordt de code gegenereerd, maar je krijgt ook nog uitleg hoe de code (en daarmee QuickSort) werkt. Is de uitleg niet duidelijk genoeg, vraag er dan om.
Uitproberen
Wil je weten of de code buiten ChatGPT om werkt, kopieer deze dan in een tekstbestand (dus in Kladblok of Notities, niet in Word of Pages) met de extensie .py, bijvoorbeeld quicksort.py. Zorg dat je een werkende Python-omgeving hebt en typ in een terminalvenster:
py [pad]quicksort.py
Hierin is [pad] eventueel het pad naar het opgeslagen Python-bestand.
De Python-omgeving wordt gestart, het programma wordt gelezen en de code wordt uitgevoerd. Het werkt! Kortom: laat ChatGPT voor je programmeren en win een hoop tijd.

Geavanceerd ChatGPT, 2e editie
Deze blogpost betreffende Geavanceerde data-analyse met ChatGPT is afkomstig uit het boek Geavanceerd ChatGPT. In deze nieuwste editie van Geavanceerd ChatGPT duikt Bob van Duuren opnieuw in de wereld van gevorderde ChatGPT-technologieën, deze keer met updates die de laatste ontwikkelingen en functies omvatten. Deze editie is speciaal ontworpen voor ervaren gebruikers (in spe) die verder willen gaan dan de basis en die optimaal gebruik willen maken van ChatGPT’s groeiende mogelijkheden. Met een focus op de (betaalde) Plus-versie verkent de auteur de nieuwste mogelijkheden, waaronder geavanceerde data-analyse, aangepaste instructies en het opzetten van eigen GPT’s die de functionaliteit van ChatGPT aanzienlijk uitbreiden. Daarnaast is er uitgebreid aandacht voor het genereren van beeldmateriaal met ChatGPT, middels de ingebouwde DALL-E-functionaliteit.
Deze editie legt een sterke nadruk op geavanceerde promptingtechnieken, waarbij wordt uitgelegd hoe nauwkeurigere en completere antwoorden kunnen worden verkregen door het verfijnen van je prompts.
Daarnaast wordt er dieper ingegaan op methodes om de uitvoer van ChatGPT te sturen en het programma te trainen voor gepersonaliseerde reacties, evenals het gebruik van ChatGPT voor het ontwikkelen van programma’s in diverse computertalen, simpelweg door instructies in duidelijk Nederlands te geven. Tot slot geven de opgenomen interviews met experts op het gebied van ethiek, privacy, auteursrecht, AI, marketing en klantenservice meer inzicht in de meest recente discussies en overwegingen rondom de inzet van AI-technologieën zoals ChatGPT.
Bij dit boek zit een gratis chatbot die getraind is met de complete inhoud van het boek en die in staat is om vragen over het boek en over ChatGPT te beantwoorden.

Laat ChatGPT voor je programmeren!
Je bent geen programmeur, maar je hebt wel een programmawens voor bijvoorbeeld je Raspberry? Laat ChatGPT voor je programmeren! Dat is zo geregeld en je zit zelfs niet eens vast aan een specifieke programmeertaal. En wie weet, wellicht leer je uiteindelijk met de hulp van datzelfde ChatGPT ook zelf programmeren.

Geavanceerde data-analyse met ChatGPT
Hoe slim is dat? Geavanceerde data-analyse met ChatGPT werkt via door het slimme taalmodel zelf geschreven programmacode!

Wel of niet betalen voor ChatGPT?
Is het zinvol om te betalen voor ChatGPT? Of heb je meer dan genoeg aan de gratis versie? In dit artikel leggen we de verschillen uit, tussen betaald en onbetaald.

Wat zijn neurale netwerken?
AI is onder andere gebaseerd op neurale netwerken. Maar: wat zijn neurale netwerken precies? Dat vertellen we je hier, in een extract afkomstig uit mijn nieuwe boek Geavanceerd ChatGPT, 2e editie, waarin ik diep inga op het gebruik van ChatGPT. Na het lezen van dit boek kun je jezelf een ChatGPT-pro noemen! Neurale netwerken, het…

Hoe stel je het best en doelgericht vragen aan ChatGPT?
Door het slimmer formuleren en doelgericht vragen aan ChatGPT je betere antwoorden van ChatGPT. Maar hoe formulier je die ‘ideale vraag’? Leggen we hier alvast in beginsel uit.

Een Excel-macro genereren met ChatGPT
ChatGPT kan niet alleen goed overweg met tekst, maar ook met code. Een Excel-macro genereren met ChatGPT blijkt verrassend goed te gaan.

Het klopt dat Python met ingebouwde functies zoals `sort()` en `sorted()` al krachtige en efficiënte mogelijkheden biedt om data te sorteren. Deze zijn gebaseerd op geavanceerde algoritmen zoals Timsort, die ontworpen zijn voor optimale prestaties in reële scenario’s. Voor de meeste praktische toepassingen is het dan ook niet nodig om een eigen sorteeralgoritme te implementeren.
Echter, het zelf implementeren van algoritmen zoals Quick-sort, Merge-sort, of Bubble-sort kan een waardevolle leerervaring zijn. Het helpt programmeurs om:
– **Diepgaande kennis** op te doen van hoe sorteeralgoritmen werken.
– **Begrip te krijgen van algoritmische complexiteit**, zoals de verschillen tussen O(n log n) en O(n²).
– **Probleemoplossende vaardigheden** te ontwikkelen die van pas komen in andere programmeeruitdagingen.
Voor wie geïnteresseerd is in een grondige studie van sorteeralgoritmen, is de verwijzing naar “The Art of Computer Programming” van Donald Knuth inderdaad een geweldige suggestie. Daarnaast is de introductie tot sorteeralgoritmen via sites zoals [IntroCS](https://introcs.cs.luc.edu/arrays/sorting.html) een toegankelijke manier om met deze concepten te beginnen.
Hoewel we de ingebouwde functies van Python dagelijks gebruiken, is het begrijpen van hun werking een stap richting het beheersen van computerwetenschap. Voor wie verder wil leren of zich wil verdiepen in algoritmiek, kan het experimenteren met eigen implementaties van algoritmen een geweldige oefening zijn.
Leren stopt niet bij het gebruik van tools; soms begint het pas echt wanneer je probeert te begrijpen hoe ze werken. 😊