As part of my job search, I'm being introduced to a new language: Python.
As the proud owner of a primate brain on the one hand, I'm well aware of the power that gamification, in the context of learning, can have on me.
As a technophile on the other, I couldn't miss the emergence of artificial intelligence tools, notably the conversational AI phenomenon that is ChatGPT, developed by OpenAI.
How can ChatGPT help me discover Python while making the experience as fun as possible?
Although powerful, ChatGPT is even more so when subjected to role-playing. So, I've defined how I want ChatGPT to take charge of training me in Python, following a certain formalism to give it as much context as possible:
Initially, ChatGPT provided me with a series of "exercises"; even though it's called that, it's nothing more than code extracts enabling me to grasp the basics of Python syntax. As agreed, he provided me with documentation, gave me experience so that I could level up, and listed the skills acquired during this first phase.
Having reached Level 7, I asked ChatGPT to provide me with a more substantial challenge than simply copying code into my IDE.
Notice how OpenAI doubts my kindness when I ask ChatGPT to kick some ugly monsters in the teeth.
After having been congratulated on my perspicacity facing this first boss, which I easily swept aside, and then provided with a new code-copying "exercise", I had to face my first real challenges.
Unimpressed by the enemy, and helped by good documentation, I naturally slaughtered the hot breathed creature.
This is where learning via conversational AI makes sense. ChatGPT is capable of providing an alternative solution while explaining the difference between the two proposals. We'll see a little later that it's capable of being even more complete when it comes to analyzing the code I propose.
The other advantage is the ease with which you can "shape" the conversation. This way, I was able to obtain an Artifact, and that's dopamine directly in the veins.
Yeah I claimed, so what?!?
A bit of lore, it's always nice.
After a new series of exercises/lessons, a few questions about instruction 'with', a little challenge on how to throw exceptions, some article reading, and a lot of leveling-up; I asked to take on a new monster. ChatGPT offered me a multi-stage challenge (a succession of small algorithmic problems), with the promise of a chest full of well-deserved loot :
Once again, ChatGPT provides a quality correction and is complete enough to demonstrate the advantages of its solution over mine.
What's more, I got a really cool amulet!
At this stage of my discovery of Python with ChatGPT, I thought it would be a good idea to check that I'd acquired the concepts I'd seen previously. So I asked the AI to generate an MCQ for me, which I included in an encounter with an NPC (non-player character), with the promise of being rewarded with a familiar if I succeeded.
So, after answering the questions of a strange but clever peasant (probably Gandalf undercover), I was able to choose a companion for the rest of my adventure.
Aware that I sometimes find it difficult to factor and optimize my code, I've chosen to fight my next battles alongside the Shadowstalker. The beast has a whole arsenal of techniques that will enable me to be more efficient in the future.
ChatGPT lets me apply a different reading to my code according to the needs I've identified beforehand! So, I can ask for specific feedback without having to define what kind of feedback I need.
Here, for example, is the first of the techniques applied to a problem I was given on a quest further along my initiatory journey: the aim of the problem was to generate all the prime numbers up to the number entered by the user.
It's got style!
Considering what I already knew about ChatGPT, the AI has lived up to my expectations regarding its ability to support the discovery of a new programming language.
I was, however, very enthusiastic about its ability to bring a gamification layer to the process. Here, in no particular order, is a list of the pros and cons I encountered during my experience:
Pros:
A few tips if you want to try out this way of learning:
I asked ChatGPT to provide me with prompts to generate images using Stable Diffusion.
ChatGPT :
He's not wrong. What about copyright management for artists present in datasets used to train models ? Vast subject.
Thanks!