Hey everyone! I've been diving into Java and I'm eager to up my game by moving past the basics. I'm specifically in search of the best free course or resource that not only covers recursion in depth but also progresses into advanced topics that typically follow, like backtracking, divide and conquer algorithms, dynamic programming, data structures and algorithms (DSA), and more. I'm looking for a resource that meets the following criteria: it shouldn't be just quick crash courses or revision playlists. I want a structured progression from beginner to advanced. I'm open to options on platforms like YouTube, university sites, or any other learning platforms. If you've come across anything that really helps in understanding recursion and advancing in Java, I'd love to know what worked for you and what didn't!
3 Answers
If you’re keen on structured learning, there’s a lot of free content on platforms like Coursera or Udacity that might offer advanced Java courses. They often cover recursion and follow up with advanced topics, but make sure to look for ones that are specifically structured rather than miscellaneous video playlists.
You might not actually need a specific recursion course. A well-respected resource is the book "Structure and Interpretation of Computer Programs" (SICP), which explains recursion really well. They also have a series of videos on the MIT OpenCourseWare site that are quite helpful. Though it’s not Java-specific (it uses Scheme), the concepts apply universally. I’d leave the advanced Java topics for someone else to discuss since it's been a bit since I worked with it.
I actually created a free book focused on recursion called "The Recursive Book of Recursion." It includes JavaScript and Python examples to show how recursion can be used effectively. It came from my frustration with how poorly this topic is often taught. You can check it out at my website for a comprehensive understanding!

That makes sense! Recursion concepts aren’t language-dependent. Could you share the links to those MIT resources? It would definitely help!