This was one of the hardest mistakes to admit but I wasted so much time learning Python for a job search. I first decided I would do a Python tutorial , then do projects and then study leetcode. And I couldn’t have been more wrong. I was probably living in a utopian world and so no wonder, it crashed. And when it did, I was scrambling. So, in 2020, then I finally haphazardly mismashed leetcode, learning Python and essentially doing whatever it took to get a job switch. But after reflecting on my time, while what I did was madness, there was a certain method to it. So, I decided to refine it and in the process , also shared how I did leetcode parallely and also sharing five projects you can make to strengthen the python skills.
RoadMap :
I used Jose Portilla’s Python Bootcamp but there are lots of free resources on youtube and I would encourage you to use those.
Unfortunately substack doesn’t allow to create tables which is really a downer but sharing the roadmap here.
Weeks 1-2: Fundamentals & Array Problems (Days 1-14)
Python:
First I started by focussing on the basics. This involved the below concepts :
Basics: syntax, data types, variables, input/output
Control Flow: conditionals, loops
Data Structures: Lists, Tuples, Dictionaries , Sets
Functions & Modules
Bit Manipulation Logic
LeetCode Blind 75
Arrays/Strings/Hashing/Intervals
Interval Problems
Strings
Binary
Weeks 3-4: Intermediate Python & Linked Lists, Trees (Days 15-28)
Python:
After two weeks when I was consistent, I focused on OOPS concepts and learning classes and objects. Also , studied Python Standard Library (collections, itertools)
I also focussed on File Handling & Error Handling which was more helpful for projects
LeetCode Blind 75
Linked List
Trees
Matrix :
Weeks 5-6: Advanced Python & Graphs, Dynamic Programming (Days 29-42)
Python:
This is when I focussed on more advanced topics like Generators, Comprehensions to write better code and show my mastery in python.
How I did it is by finishing the code in a normal for loop and then optimizing it by using List Comprehensions and so on. Over time, I developed a habit of using them properly.
Introduction to Recursion and Dynamic Programming
LeetCode Blind 75
Dynamic Programming :
Graphs
Heaps
Week 7: Consolidation & Review (Days 43-45)
Review Python fundamentals and advanced concepts.
Revise solutions to previously solved Blind 75 problems.
Practice mock interviews and optimize coding solutions.