I'm starting a B.Tech in Computer Science next week and have no prior coding experience. Over my first six months, I'm considering aiming to complete roughly 60% of a standard data structures and algorithms roadmap, focusing on arrays, strings, binary search, linked lists, and basic trees. Is that a realistic but challenging goal, or is it likely to cause burnout? I've seen people recommend learning C++ through popular tutorials and then following a structured DSA problem sheet, but I'm open to any effective free or paid resource. My main question is about the order: should I spend three or four weeks learning C++ fundamentals before attempting DSA, or should I learn the language alongside beginner problems? What would a practical day-one plan look like?
4 Answers
Your college sequence may introduce programming fundamentals before formal DSA, so there’s no need to race too far ahead. Build a solid base in one language, practice regularly, and then work through arrays, strings, searching, linked lists, and trees in order. Progress will involve frustration and repeated problem-solving; that’s normal, and simply watching solutions won’t replace writing and debugging code yourself.
Learn the language fundamentals before seriously starting DSA. If you’re still struggling with variables, loops, functions, syntax, and basic debugging, you won’t get much value from algorithm problems. Spend around two weeks building that foundation, then begin basic DSA while continuing to improve your C++ skills. You don’t need to master every feature before moving on.
For the next several months, combine language practice with increasingly difficult mini-projects and simple exercises. DSA can be introduced gradually once you can implement basic ideas comfortably, but the bigger priority at the beginning is learning how to program and debug independently. A target like 60% of a DSA sheet can work if you treat it as a flexible milestone, prioritize understanding over completion, and study consistently rather than rushing through problems.
Start programming immediately rather than spending a month only watching tutorials. Follow a short beginner lesson, then type the examples yourself, run them, and fix the errors. Two or three hours of hands-on practice each day for the first week or two should cover the basic language mechanics. Avoid copying and pasting because writing the code yourself builds the necessary familiarity.
Thanks for the reality check. I’ll make sure practice is the main part of the schedule instead of just watching courses.

That makes sense. I’ll look for a beginner-friendly C++ resource and focus on the fundamentals first. How long it takes will probably depend on how consistently I practice.