I'm 16 and about to begin an undergraduate computer science program. I've been getting comfortable with Python and have started solving easy HackerRank problems. I can usually understand the logic and code after reading an explanation, but I struggle to come up with solutions independently.
I'd like to learn data structures and algorithms properly from the beginning. What YouTube channels, courses, roadmaps, or practice platforms would you recommend for a complete beginner using Python? I understand both English and Hindi, so resources in either language are welcome as long as they explain the fundamentals clearly.
What resources and study methods helped you most when you were starting out?
2 Answers
NeetCode, especially the NeetCode 150 roadmap, is a good way to organize your learning alongside a practice platform. For English video lessons, freeCodeCamp has several full Python DSA courses on YouTube. If you prefer Hindi, CodeWithHarry and Love Babbar are useful starting points.
You don’t necessarily need to abandon HackerRank immediately. Its easier problems can help you build confidence, while you gradually add more structured lessons and then move toward LeetCode-style pattern practice. When you can’t solve a problem, spend some focused time trying first, study the explanation, close it, and then reimplement the solution yourself later.
Struggling to solve problems independently at first is completely normal. Understanding a solution and creating one from scratch are different skills, and the gap usually closes through steady practice rather than a lack of ability.
For Python-focused DSA, MIT’s 6.006 Introduction to Algorithms lectures are worth checking out. They’re somewhat older, but the fundamental concepts remain relevant and many explanations use Python. For practice, a structured roadmap such as NeetCode’s patterns-based list can be more useful than solving random problems because it helps you recognize common techniques and templates.

Do these resources also teach the problem-solving process? I was advised to start with HackerRank because it seems easier than LeetCode. Should I keep using it while watching the lessons, and then study LeetCode solutions when I can’t find an answer on my own?