I'm 16 and about to begin an undergraduate computer science program. I've been learning Python and have started solving easy HackerRank problems. I can usually follow the logic and understand the code after reading an explanation, but I'm still struggling to develop solutions independently.
I'd now like to learn data structures and algorithms properly rather than just solving random problems. Could you recommend beginner-friendly YouTube channels, courses, books, or structured roadmaps that use Python? I understand both English and Hindi, so resources in either language are welcome as long as they explain the fundamentals clearly.
Should I continue with easier platforms like HackerRank, move to LeetCode, or follow a course first? I'd also appreciate advice on how to practice effectively when I can understand a solution but cannot find it myself.
2 Answers
NeetCode’s roadmap, especially the NeetCode 150 list, is useful for organizing practice. For English explanations, freeCodeCamp has several complete data structures and algorithms courses in Python. If you prefer Hindi, CodeWithHarry and Love Babbar have beginner-oriented material covering the main concepts and common problem types.
You don’t need to abandon HackerRank immediately. It’s fine to use easier problems to build confidence, then gradually add LeetCode questions once you understand the underlying data structures. When you get stuck, spend a reasonable amount of time thinking, look at a hint or partial solution, close it, and then try to implement the idea yourself instead of only watching the full answer.
What you’re experiencing is completely normal. Understanding a solution and inventing one from scratch are different skills, and the second one develops through consistent practice. Don’t treat needing hints as a failure.
For a structured path, MIT’s 6.006 Introduction to Algorithms lectures are a good option, and the examples use Python. For practice, a roadmap such as NeetCode’s can be more useful than solving unrelated problems because it organizes questions by patterns and topics. Start with arrays, strings, hash maps, two pointers, stacks, and binary search before moving on to harder subjects.

Do these resources also teach how to approach and solve problems? I was advised to begin with HackerRank because it seems easier than LeetCode. Should I keep using it while following the videos, or switch over and study complete solutions when I get stuck?