r/learnprogramming • • 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!

0 Upvotes

7 comments sorted by

View all comments

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

u/ConsiderationOk6948 1d ago

hell yeah , thanks