How I mastered coding with the help of ChatGPT

Boris Hrženjak
Operations Research Bit
5 min readDec 21, 2023

Knowing how to write programs myself is one of my life goals bucket list items that’s been with me ever since I discovered computers back in the 90’s. I tried multiple times in my life to learn how to code but there was always some kind of invisible barrier that held me back and stopped me in my tracks whenever I gave it a shot. I was always getting over concepts slower then the other guys in a class, or I didn’t have a clear understanding what I want to accomplish with this new skill, never had a clear goal in mind. It’s not surprising then that I failed every time, no matter what language I tried to learn. Over the years I tried with Pascal, C, C++, php, JavaScript, Python…and every time it was like trying to learn Chinese.

Forward time to start of December this year. I’m now in my forties. I was playing around with NoCode tools for months now, and although I did learn how to make chatbots, AI power apps and automations, I was still having this feel that I’m at the discretion of the programmers who made this tools for people that don’t know how to code and that my abilities are limited due to my inability to write programs myself.

It was just this silly moment when I wanted to have a note taking app that’s right there in my browser whenever I need to write something down that I had this idea to try and write it myself. I don’t know why it came to me again, after all this year, but the yearning of fulfilling one of my life goals tapped me on the shoulders once again.

So I found this great website www.freecodecamp.org that was hosing one of the greatest (and well known) free courses for Python called “Python for everybody” by Dr. Charles Severance (also known as Dr. Chuck).
I tried watching a couple of videos and it hooked me. Dr.Chuck really explained things the way I needed them to be explained to me and things finally started clicking for me :)

Honestly, this next part is what I believe made all the difference. I decided that I won’t be doing the same mistake I did before and just watch lessons and try to go through the course as fast as possible. That never worked for me. I decided that after every lesson (or couple of lessons if they’re smaller or clear) I would go to ChatGPT and write down everything I learned so far. Then I asked it to give me 5 interesting and useful problems to solve with this skillset. I would try to solve the problems and didn’t go to the next lesson until I solved them all.

Just recently I wrote my first big program over 100 lines of code. After 20 days of learning. It’s nothing special but for someone like me it’s like winning over that beautiful girl I had my eye on for ages. Although I don’t believe that my approach to learning how to code is anything groundbreaking and spectacular, it did work for me, a guy who tried and tried and failed every time for 20-something years so I figured maybe this approach has some merit and can help someone like me who has the “want” but doesn’t have the “how”.

I do think starting out with a course is still a must, and there are some really good free courses out there. These resources often provide structured learning paths, from basic syntax to more complex topics like object-oriented programming and data manipulation. They lay down the path you need to walk to become a programmer.

These are some of the recommended Python learning resources i considered:
Automate the Boring Stuff with Python” by Al Sweigart: This book is perfect for beginners and focuses on practical projects.
Codecademy’s Python Course: Interactive and beginner-friendly, offering a hands-on approach.
FreeCodeCamp’s Legacy Python for Everybody: A more academic approach to Python, covering fundamentals in-depth.

When you add ChatGPT to this you get:
1. Instant Feedback and Clarification
Stuck on a concept or a piece of code? ChatGPT can provide immediate explanations and clarify doubts you might have. This instant feedback is crucial in preventing misconceptions and reinforcing your understanding.

2. Code Examples and Debugging Help
ChatGPT can generate code snippets to demonstrate concepts or suggest ways to debug your code. While it’s not a substitute for hands-on practice, it’s an excellent way to see different approaches to coding problems.

3. Project Ideas and Guidance
If you’re looking for project ideas or need guidance on how to structure your Python project, ChatGPT can offer suggestions and outline potential steps, helping you apply what you’ve learned in practical scenarios.

4. Personalized Learning
Everyone’s learning style is different. ChatGPT can tailor explanations and resources to suit your individual needs, making the learning process more efficient and enjoyable.

Blending AI Assistance with Structured Learning
The key to effectively learning Python (or any programming language) is to blend structured learning from traditional course materials with the adaptive, interactive assistance provided by ChatGPT. Here’s how you can combine them effectively:

Start with Course Materials: Begin each topic with structured lessons from your chosen resources.
Use ChatGPT for Reinforcement: After studying a concept, interact with ChatGPT to reinforce what you’ve learned. Ask questions, request examples, or even try explaining the concept to ChatGPT to see if you’ve understood it correctly.
Hands-On Practice: Apply your knowledge by working on exercises and projects. Use ChatGPT for brainstorming, debugging, and reviewing your code.
Regular Revision: Use both your course materials and ChatGPT to revise and consolidate your learning regularly.

I really hope this little bit of journal-like entry helped someone and gave them a tool to use to better themselves or just cross a things from their bucket list like I did. Turns out all I really needed to accomplish this goal is for someone to create A.I. :D
Happy coding everyone!

--

--

Boris Hrženjak
Operations Research Bit

Just a guy who loves to write and enjoys everything AI :)