I'm considering taking some introductory courses like the 'Introduction to Algorithms' from MIT, even though I've already completed a Data Structures and Algorithms course, two discrete mathematics classes, and an algorithms and complexity class last year. I feel like I need a stronger grasp of the material because my previous professor didn't teach well—I didn't even get a solid understanding of Big-O notation, and we only covered the basics like stacks and queues.
I'm already in my third year, and I recognize I slacked off during summer. I'm also open to taking part of the CS50 course to learn C and get a better grip on low-level concepts that weren't in my earlier classes. In my first two years, my curriculum included high-level programming in C#, OOP in Java, discrete math, differential calculus, automata theory, numerical analysis, web programming, databases, digital logic, and an introduction to AI.
To sum it up, is it worth redoing some of these introductory courses for a deeper understanding, or is it a waste of time?
5 Answers
You can totally learn DSA in JavaScript, but just keep in mind that the efficiency can be a bit tricky to grasp without lower-level languages like C. There's a great variety of resources out there, but make sure whatever you choose to study helps you understand concepts on a deeper level.
Revisiting the basics is never a bad idea! It can really reinforce your understanding and fill in any gaps. If you've got the time and motivation, go for it—it's all about what you’ll get out of it in the long run.
Absolutely, if you're aiming for a strong foundation, revisiting DSA can be worthwhile, especially since technical interviews often focus heavily on those concepts. Just make sure you're balancing that with real project work to avoid getting stuck in the 'tutorial hell' where you're just consuming without applying.
Going back to the fundamentals isn’t silly at all. Just be wary of spending too much time rehashing what you already know—try to focus on specific areas where you feel less confident. Use courses as a reference, but don't collect certifications; aim to genuinely understand and apply what you're learning in mini-projects.
The key is to know your learning style. If you felt you missed out due to a professor's teaching method, targeting specific gaps in knowledge can be better than retaking entire classes. Just keep your end goals in mind and ensure that you're practicing as you learn.

Related Questions
How To: Running Codex CLI on Windows with Azure OpenAI
Set Wordpress Featured Image Using Javascript
How To Fix PHP Random Being The Same
Why no WebP Support with Wordpress
Replace Wordpress Cron With Linux Cron
Customize Yoast Canonical URL Programmatically