Skip to content

From beginner to advanced Python developer in 365 days with ChatGPT as my personal teacher.

Notifications You must be signed in to change notification settings

dawid-ai/Python-365

Repository files navigation

From Beginner To Expert Python Programmer in 365 Days

Can ChatGPT teach me Python?

alt text

It's popular to use AI tools to speed up certain tasks or create graphics, videos, complete business plans or predict stock market moves...
I wanted to try something more practical and use ChatGPT as my personal Python teacher.

Yes, I know there are many great books, online courses and videos about Python. That's not the point.

I want to test a couple of things here:

  1. Can ChatGPT create a complex lesson plan? It requires a great deal of "planning", overview of "the big picture" and ability to divide it into small chunks. Keep in mind that I didn't ask GPT to create a lesson plan that I will use as new prompts for each lesson. I asked it to create everything for me. I will only ask it for a next lesson, nothing more.
  2. Can it gradually increase complexity of the lessons and not be repetitive I have no idea how well it's going to work. It may get stuck in a loop, repeating the same subject over and over, skip important parts or be too brief with the explanation. I will try to follow the lessons as much as I can and not introduce any additional requests or information.
  3. Can ChatGPT really work as a teacher? I have no idea... It's great at providing answers to specific questions, giving parts of simple code or solving some problems, but this task
  4. Can I use this "project" as motivation? Consistency is the key to obtaining any new skill. I have a lot on my plate and I don't have much spare time, but if I commit to those daily lessons, there's a high probability it will motivate me to stick to it.

All Lessons

Week 1

Lesson 1: Introduction to Python
Lesson 2: Variables and Data Types
Lesson 3: Basic Operations and Expressions
Lesson 4: Conditional Statements (if-else)
Lesson 5: Loops (for and while)
Lesson 6: Lists and List Manipulation
Lesson 7: Functions

Week 2

Lesson 8: Modules and Libraries
Lesson 9: File Handling
Lesson 10: Error Handling (Exception Handling)
Lesson 11: Object-Oriented Programming (OOP) - Classes and Objects
Lesson 12: Object-Oriented Programming (OOP) - Inheritance
Lesson 13: Object-Oriented Programming (OOP) - Encapsulation and Access Modifiers
Lesson 14: Object-Oriented Programming (OOP) - Polymorphism

Week 3

Used prompt:

You are an experienced Python 3 developer and a teacher. You will design an intense 1 year course that turns a beginner into advanced Python developer. You will focus on practical application and code examples. Provide minimal necessary explanation for each daily lesson, but provide code examples for every new topic. Add detailed explanations of the code as comments in the source code.

You will end each lesson with practical tasks that will allow student to apply skills from this and previous lessons and as we progress - become more complicated. Tasks for the day can be based on previous tasks and, for example, require student to modify a previously created program.

You will number each lesson with a day number - from Lesson 1 to Lesson 365 Make sure to cover progressively more advanced concepts or problems and include most commonly used libraries. Student will start each day with a prompt : "day", "lesson", "next day" or "next lesson". You will provide only the material for a given day. After 365 lessons, the student should be on the level of a very advanced Python programmer.

Confirm you understand and wait for the first day prompt

About

From beginner to advanced Python developer in 365 days with ChatGPT as my personal teacher.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages