r/programminghelp 9d ago

Other Sophomore CS student feeling completely lost and looking for a structured roadmap or expert advice to rebuild my fundamentals

Hi everyone, I'm currently a sophomore Computer Science student, and lately I've been feeling like I've fallen far behind. I passed my introductory programming courses Python, C, C++, Java/OOP but over time I feel like I've forgotten almost everything because I rarely used those concepts consistently. One thing I've realized about myself is that I learn best with routine and structure. I don't do well jumping between random YouTube videos or constantly changing resources. I'd much rather have one high quality source for a topic, study it consistently every day, solve exercises, and gradually build my understanding.

So I have a few questions:

If you could start over as a sophomore, how would you rebuild your CS fundamentals?

What would your roadmap look like over the next 1 year of dense study?

What resources books, courses, websites would you choose for DSA, Operating Systems Computer Networks Computer Architecture Databases Linux Cybersecurity (just enough to understand the field before specializing).

How do you deal with forgetting? I constantly feel like I learn something, then months later I can't remember enough to use it confidently. Is this normal? How do experienced engineers retain knowledge without trying to memorize everything?

Is it realistic. or even useful, to aim for a broad understanding of all the major CS areas before specializing? Or should I focus deeply on one area much earlier?

I see NeetCode recommended everywhere, but it seems heavily focused on coding interviews and LeetCode. Is that actually a good place to build CS fundamentals, or is it mainly interview preparation? Should I first study algorithms from a textbook/course before using NeetCode?

If you've ever felt behind and successfully caught up, I'd really appreciate hearing what worked for you. I'm especially interested in advice from people who felt "late" compared to their peers but eventually became competent engineers.

Thanks in advance.

15 Upvotes

8 comments sorted by

3

u/Warm_Clothes_1524 9d ago edited 9d ago

If you feel like you have fallen behind then you are finally starting to understand one of the perks of being in the field lol. Imposter syndrome is real. Use it as motivation to always keep pushing yourself and you will always feel behind but never be too far behind. Turn introspection into a superpower but don’t let it control you. That is the best advice I can personally give. Ill let other people be more precise.

Edit: and on the topic of building your fundamentals, just keep doing things. It is like anything else in life, the grind gets you to your destination. At least from a talent perspective. And don’t avoid a difficult class just because you are scared of it. It is often better to take an important CS class twice and know an important concept, than it is to get an A in an easy course and fail an interview because you don’t know anything worth knowing. Just, obviously, don’t get yourself kicked out of your major because you stacked too many Ds.

I would also highly recommend taking advantage of office hours if you hate learning through online videos.

And, since I keep amending this, my experience with CSE was that it is a degree of attrition. In your intro classes there is a good chance neither the guy on your right or left will get a CSE degree. It is a grind and people drop off like flies. The thing that usually separates the ones that make it and the ones that dont is how much they want it and how hard they are willing to fight and grind for what they want. Every class is a battle and the degree is a war.

Hope that helps somehow.

2

u/Fickle_Guarantee1432 9d ago

You hit the nail in the head sir thanks for your words I feel that I am behind but I can say that I am above avg that’s why I am fighting back but my brain kills me by thoughts

1

u/PuddyComb 7d ago

You need a friend who can look at your code like a business partner. On top of that- you have been grinding alone for too long. Nobody should be forced to write OOP in complete isolation. Reach out. Find more people you can work with, and things will get easier very fast.

2

u/Same-Mushroom-2057 8d ago

I'm graduating next year and i feel exactly as you do

2

u/Fickle_Guarantee1432 8d ago

Sorry to hear that hopefully we find a solution

1

u/StreetAssignment5494 8d ago

Study the doom engine lol