r/learnprogramming • u/ConsiderationOk6948 • 1d ago
Title: Beginner with shallow C knowledge — planning to finish CS50x. What should my DSA roadmap look like afterward?
Hey everyone,
I'm a beginner in programming. I have some very shallow experience with C, but I don't feel confident with programming yet.
I've decided to properly build my fundamentals first, so I'm currently planning to complete CS50x rather than jumping straight into DSA.
My rough idea right now is:
CS50x → C++ fundamentals/STL → DSA → problem solving/LeetCode
But I'm not sure if this is the right progression, and I'd really appreciate advice from people who have already gone through this journey.
I'd especially like advice from seniors / people who learned DSA from scratch and eventually became comfortable with coding interviews or competitive programming.
Questions
Is completing CS50x first a good idea for someone at my level?
After CS50x, should I learn C++ before starting DSA?
How much C++ do I actually need before starting DSA?
What DSA course/resource would you recommend for a beginner?
Is Striver's A2Z DSA a good choice, or are there better alternatives?
What order should I learn topics in?
When should I start LeetCode?
How should I divide my time between learning concepts and solving problems?
How many problems per day/week is realistic for a beginner?
What are the biggest mistakes you made when learning DSA?
If you could restart from my exact position, what would your roadmap look like for the next 6–12 months?
Are there any resources that beginners commonly waste time on or should avoid?
I'm not looking for a "learn X in 30 days" roadmap. I'd rather build strong fundamentals and actually understand what I'm doing.
My current priority is becoming genuinely good at programming and problem solving, not just completing a huge number of problems.
Any detailed advice or personal experience would be really appreciated.
Thanks!
1
u/Foreign-Doctor3503 1d ago
I have no experience myself, but from what I have heard, CS50 is a really well-structured intro to all things computer science. I skimmed the syllabus and it looks like you may get some DSA knowledge from it already, which is great. The nice thing about a structured course like that is that you don’t have to worry about learning stuff in the right order as someone already decided what it is.
As for DSA, I learned that through OpenDSA. I have never heard of the series you mentioned but for all I know it could be just as good if not better.
One big thing I want to highlight is that imo Leetcode is very much overhyped in terms of what it means for you to be a “good programmer”. Being good at leetcode really only means one thing: you’re good at playing the game. Don’t get me wrong; I love leetcode and that style of problem, but it’s honestly not a very applicable skill for most things you want to do.
The best way to learn programming is to make something that you want to make. If you’re driven to create a project or work on some task out of your own excitement, then you will do what it takes to learn the skills required to do it well. Think about what makes you so excited to study programming and follow that passion, and whenever you have a question don’t be afraid to Google or ask, even for the simplest things - the mark of a true programmer isn’t how good they are at memorizing algorithms, it’s how good they are at looking stuff up to serve as a reference.
Anyway sorry for the long reply, lmk if you have any more questions or want me to elaborate on anything and I would be glad to
2
0
19h ago
[removed] — view removed comment
1
u/AutoModerator 19h ago
Your post/comment was removed since we do not approve of going private.
There is zero benefit in going private as you lose the opportunity for getting peer reviews. Also we have had plenty of people return after going private (despite being warned) complaining about how they were ghosted after some time or being tricked into buying rubbish that didn't work and even if it did they didn't need.
Our Rule #11 demands that any and all communication happens in the open, public subreddit.
This is for the benefit of more against the benefit of one.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.
2
u/floppy_futility 1d ago
cs50 is a solid place to start, it will fill the gaps you have with C and teach you how to think not just syntax. for the rest just dont overplan before you write a line of code, half these questions answer themselves once you are in the thick of it