I envisioned how great it would be to learn a new programming language with a virtual instructor that can provide real-time question-asking, unlimited new exercises, code testing, etc. The same advantages as a live course, but having the flexibility to do it at my own pace, with a dedicated instructor.
Sounds too good to be true? Let’s find out!
Ignoring the statement that building a full course would require significant expertise and resources, I asked to focus on the first point.
At this stage, I have chosen to test another possible feature.
One of the significant downsides of online courses is the absence of direct interaction with the instructor. In case of confusion on a concept, one may need to resort to forums or internet searches to find answers. This is where a virtual instructor can be incredibly valuable. Not only it can provide a vast array of knowledge, but it can also respond to specific questions from users in real-time.
Wow, exactly as I thought! The model responded to my question immediately, providing examples as well. It’s truly amazing to think about the amount of time I saved compared to a traditional online course. However, to ensure that I fully understand the concept, I want to do an exercise right away.
Let’s see how it performs on this question.
Hmm, first issue. The model comprehended the question and identified the need, however, I personally would have preferred the exercise without the solution. Instead, it provided the exercise and solution together.
Let’s see how it goes by asking it to propose some exercises without a solution.
Okay, this time it worked as I expected. I am presented with two exercises, without solutions, that test my understanding of two different concepts (scoping and hoisting). This is very interesting. Now, all that remains is to input the answer for the first exercise and observe the outcome.
Alright, this is not what I was expecting.
The answer is somewhat unclear and, more importantly, it is incorrect. The outputs provided by me and ChatGPT are the same, but it appears to not recognize that. This is strange. Let’s try to bring attention to it and see what happens next.
This time the output is accurate, as well as the explanation for the exercise solution. It was not instantaneous but we eventually got to the correct answer.
Now, I want to evaluate if it understands the proper way to generate exercises by requesting it to present another one.
We are making progress, and it appears that the model has comprehended how to present exercises. It’s also noteworthy that it offers a suggestion in the response on how to test the solution by saying: “You can attempt to predict the outcome before executing the code, and then use the browser’s developer tools or Node.js to execute the code and evaluate your understanding.”
This is yet another impressive feature compared to traditional courses: the capability of obtaining personalized exercises upon request.
Let’s proceed to the next section of the course now.
This exercise has come to an end.
A structured course, designed by experienced educators, is likely still the best way to quickly achieve my goal of learning something new. However, ChatGPT could be a valuable supplement to an online course. It can be used to ask real-time questions, receive new exercises, and save time in understanding concepts that may be unclear.
This experience has shown me the potential of AI in the field of learning, despite the risk of incomplete or inaccurate information.
Users will need to be trained to use the prompts effectively to obtain a plausible result, but just as the internet has made information readily available and search engines have made it easy to find, this technology could represent the next step in which not only information is easily accessible, but also organized in real-time, making learning more efficient.
I believe that in the coming months and years, AI will become an essential tool for anyone looking to learn new things, whether it be through fully AI-generated courses with AI-generated avatars, or as a supplement to existing tools.