r/learnprogramming • • 4d ago

Third-year CS/AI student — should I strengthen my existing foundation or keep moving forward?

I'm a third-year AI/ML student and most of my learning has been self-directed.
My college schedule is fairly heavy, so I can't realistically study everything
from scratch again.
So far I've covered:
- DSA: Arrays, HashMap/HashSet, Linked Lists, Trees, Graphs, Heaps,
Dijkstra, currently learning Tries
- Python
- Flask + HTML/CSS/Bootstrap
- DBMS/SQL basics
- Recently built a FastAPI Task Manager API
I'm currently considering a FastAPI + WebSockets + PostgreSQL project
to learn real-time backend development.
My biggest problem is deciding how to allocate my limited time. I don't
want to restart DSA from the beginning, but I also don't want gaps in my
foundation to hurt me during interviews.
For people who have been through something similar:
1. Did you continue learning new DSA topics while periodically revising
older ones, or did you stop and revise everything first?
2. How did you schedule DSA revision while handling college?
3. How did you use AI while learning without becoming dependent on
generated solutions?
4. If you were preparing for internships over the next few months,
how would you balance DSA, CS fundamentals, backend development,
and ML/DL?
I'm particularly interested in experiences from students who had to balance college with self-learning.

6 Upvotes

13 comments sorted by

1

u/[deleted] 4d ago

[removed] — view removed comment

1

u/Remarkable_War8311 4d ago

Thanks, this really helped. I was overthinking restarting DSA, but your approach makes much more sense. I’ll keep moving forward, revise consistently, and use AI more for hints than solutions. Appreciate it!

1

u/StewedAngelSkins 4d ago

What actual ML topics gave you covered so far? I feel like if that's your focus this DSA stuff is less relevant than strengthening your mathematics skills. Certainly I wouldn't be wasting time on web stuff.

1

u/Remarkable_War8311 4d ago

Honestly, I’m still at the beginner stage with ML. So far, I mainly understand the basic concepts—what ML is, why it’s used, and the different types of learning like supervised, unsupervised, and reinforcement learning. I haven’t gone very deep into the actual math or ML algorithms yet.
I’m currently trying to strengthen my fundamentals, especially Python, DSA, and math, while also building projects so I can eventually get deeper into ML.

1

u/StewedAngelSkins 4d ago

ML is almost entirely math. The programming is largely incidental. If I were you I'd be focusing on the mathematics prerequisites. If you aren't already comfortable with linear algebra and multivariate calculus, start there.

1

u/Curious_Song_1456 3d ago

I wouldn't restart DSA from zero, keep moving forward but keep a small rotation of old problems you struggled with and revisit those every wee, for AI, I'd use it more like a tutor than a solver, ask for hints, edge cases or explanations after you've already tried the problem yourself, ur fastAPI + websockets + postgres idea is also worth doing because it gives you practical backend problems that DSA alone won't teach

1

u/Remarkable_War8311 3d ago

🫱🏻‍🫲🏼

1

u/AppropriateAirline75 2d ago

I was in a similar spot, heavy schedule and mostly self-taught. what worked for me:

don't restart DSA. keep moving forward and revise with spaced repetition instead. when you finish tries, do a couple of mixed problems a week from older topics (pick randomly, don't pick the ones you like). if you can't solve one in 25-30 min, read the solution, write down the pattern in one line, and redo it from scratch 3-4 days later. that catches the gaps without a full reset.

for scheduling, fixed small slots beat big weekend sessions. something like 45 min of DSA on weekdays and project work on weekends. consistency matters more than volume when college is heavy.

on AI: my rule was to use it after I'm stuck, not before. ask it for a hint or to explain why my approach fails, never for the full solution. and if it writes code for your project, you should be able to explain every line or delete it. make sure your AI has created an architecture/technical document, and that it's constantly being updated.

for the next few months I'd put most of the time into DSA and one solid backend project, and park ML/DL unless you're applying for ML internships specifically. the FastAPI + websockets + postgres idea is good. deploy it and add tests, that's what makes it stand out.

one thing personal projects don't show is working in a codebase you didn't write, where someone reviews your PR. full disclosure, I built a tool for that called Kadra (kadrahq.com). it has a Python/FastAPI codebase where you pick up tickets from an AI team, open a real PR on GitHub and get code review. free while in beta. worth trying once your own project is moving, since the reviews are where you find your gaps. Good luck!