It's 2024, so I shouldn't need to tell you why you should learn Python if you're thinking about doing any kind of coding work. It's one of the most popular programming languages, almost all data science jobs love to see it on their resume, and it's one of the easiest languages to learn.
The problem is that Python is a victim of its own popularity. Many people know Python and it has such a reputation for being such a simple language that people forget that, at the end of the day, you are still learning a coding language. It's easier, relative to, say, Perl, but not easy.
It doesn't help that many of the established learning paths have real flaws. Bootcamps are popular, but they are often prohibitively expensive and time-consuming. The video tutorials are free, but the quality varies and they are not very motivating.
ChatGPT is a good way to learn Python basics as an alternative to the methods I mentioned above. It has a lot to offer:
- It's free (or $20/month maximum)
- Since it was trained with a ton of Python data, it has a lot of Python knowledge.
- It is good for many different levels of learning.
- You can go at your own pace.
It's not without its flaws, but if you've tried and struggled with it in other ways, it might be worth a try. This is how ChatGPT can teach you the basics of Python.
Here's an easy way to make ChatGPT your personal Python tutor.
Entry test
You can start by giving ChatGPT an idea of your learning level. Ask him or her to take a test and assign you a level based on your answers. Based on those answers, ask him or her to design a lesson plan for a specific time period, say, a year or six months.
This is great because unlike Coursera videos, bootcamps, or YouTube lectures, this lesson plan can be designed for your specific Python level. Skip the basics if you learned them in high school or college, or ask him to really drill down on the core ideas if Python is new to you.
Lesson plans
ChatGPT can then create lesson plans and help you progress through the concepts. You can adapt lesson plans to your schedule.
Then, every day, come back to ChatGPT and ask it to walk you through the lesson plan. Depending on your preference, you can start with a test to see how well you retained yesterday's material or skip straight to that day's lessons and practice questions.
This is great for commitment. Text-based lessons are obviously not the most exciting things in the world. But when ChatGPT asks you a test question, you answer it and it will tell you whether you got it right or not.
Course corrections
Continue following your lesson plan and see how well it works for you. Too fast? Ask ChatGPT to slow down. Are you bored? Ask ChatGPT to mix it up. Are you worried about forgetting previous lessons? Get ChatGPT to modify your lesson plan to include past test questions in your learning journey.
ChatGPT's main selling point here is its customization potential. As I mentioned above, you can tell ChatGPT to run this however you want:
- Go faster or slower
- Skip certain topics or delve into others
- Go more text or more practice questions
- Change the order
Engaged learning
Another advantage is the level of commitment. Video conferencing can't tell you that your code is incorrect, but ChatGPT can. It can also teach you why. One thing I love about ChatGPT-based lesson plans is that you can ask it to use the Socratic teaching method, which is extremely interactive, engaging, and good at helping you understand new concepts. For example, you might get some error in one of your tests managed by ChatGPT. Instead of telling you the correct answer, ChatGPT can guide you on how to get to the correct answer using Socratic teaching.
Personalization
You can also get custom project ideas based on your interests, your skill level, and the Python concept you're trying to learn right now. Additionally, it can guide you through the project and help you if you encounter difficult points.
Complement potential
Finally, ChatGPT Pro also offers teaching plugins like tutorial which are highly recommended by Reddit users. Tutoring goes a step further with session continuity and long-term memory, so ChatGPT will be better able to follow a real lesson plan over time. More and more ChatGPT users are creating plugins, so if you're on the pro version, keep your eyes open for other potentially useful plugins.
I would be remiss in promoting ChatGPT as a personal Python tutor if I didn't also mention the things you should keep in mind if you are using ChatGPT.
External environment
First, you'll need to use an external Python environment to practice and run code. While you can write code inside ChatGPT, and willpower I'll tell you if in theory it would work, I don't recommend it. It's always best to run your code to see if it actually works as you expect. Additionally, ChatGPT cannot fully replicate the experience of working on larger real-world projects.
No context
ChatGPT will also not always understand the full context or intent behind your code, especially if there are complex issues or errors. Basic problems are not a problem, but the more extreme your problem, the less likely ChatGPT will be able to help.
No visual aids
Unlike video tutorials, ChatGPT Basic lacks visual aids such as diagrams or tables. (Although some plugins like Daigr.am give you this ability.) Also, as most people already know, ChatGPT training includes information only to a certain extent. Python isn't evolving very quickly, but ChatGPT may still lack context, especially for newer libraries.
Fact check needed
It's also worth remembering that ChatGPT may misinterpret your questions or provide overly broad answers. Sometimes it's also just plain wrong – it's good to check the facts from time to time to make sure you don't go astray.
ai can't do your job
My most important warning is that you must take good care of yourself. There is a risk of relying too much on ChatGPT for answers, which can slow down your independent problem-solving skills. While employers love your Python knowledge, problem-solving skills are more important.
Check out this article to learn about coding tasks that ChatGPT cannot perform.
Ultimately, ChatGPT is a great learning option, especially if you've struggled with other learning paths. If it works well for teaching you the basics of Python, you can use it to learn other skills as well.
That said, it is not without its flaws. It also can't take you to the end. I would rely on ChatGPT to teach the basics of Python, but being able to demonstrate a portfolio of real-world projects is also very important, and you'll be on your own for a lot of that.
I recommend giving it a try. Worst case scenario, you'll lose twenty dollars and some time. At best, you may be on your way to learning one of the most popular coding languages in 2024.
Nate Rosidi He is a data scientist and in product strategy. He is also an adjunct professor of analysis and is the founder of StrataScratch, a platform that helps data scientists prepare for their interviews with real questions from top companies. Connect with him on Twitter: StrataScratch either LinkedIn.