I am Gajesh Naik. I am 12 years old. I started programming at the age of 7. I have skilled 9 P. Lang
Before we start, most of these machine learning resources do assume a basic knowledge of at least one programming language. You don’t need to be an expert by any means! You just need the programming basics. If you have never written code before you may want to bookmark this page and return to it later.
I thought I’d start with this course, as it provides a great introduction and comes with the added bonus of being FREE!
As an introduction, this course will most likely be your first destination when learning this topic.
The course is written in Python, but don’t worry if you’re unfamiliar with Python. Luckily, the course takes a gradual approach, and it helps to know that Python is a very readable programming language.
To help cement your learning there are quizzes along the way to test your knowledge. After the course, you should have a practical understanding of algorithms and be ready to dive deeper.
This course is brought to you by the good people at Microsoft, and again, it serves as an ideal introduction to the topic.
After the course, you will walk away with a sound understanding of popular algorithms and data structures.
BUT, you will also understand HOW and WHEN to use them.
Learning is great, but unless you can apply what you’ve learned, it’s not very useful. With that in mind, it’s worth mentioning that this course also helps you create an app for your final project!
Upon completion, there is an option to purchase a verified certification, but the choice is yours. If you just want the knowledge then there’s no obligation to spend any money.
If you have some basic knowledge of data structures and algorithms, but want MORE, check out this course! And if you’re a Java head, then DEFINITELY check out this course!
While it uses Java, it’s not a prerequisite of the course. As long as you know at least one object-oriented programming language you should be fine. So don’t be put off by the fact that it mentions Java specifically.
This is a paid course on Udemy. However, if you are familiar with Udemy then you will know that they regularly have sales where courses can be discounted up to 95%! I regularly buy courses on Udemy for as little as £10.
The course covers a lot of the important stuff, such as Arrays, Linked Lists, Trees, Hash tables, Stacks, Queues, Heaps, Sort algorithms, and Search algorithms. It goes through the theory but also the practical stuff, so you know how things actually work.
If you’re interested, feel free to watch the free sample videos. Of course, this is not the only data structures and algorithms course on Udemy. However, for me, this was a stand-out course.
This course is arguably the meatiest on this list! It’s not just ONE COURSE; it’s a SERIES OF COURSES!
However, before I go any further, you should know that this is another paid course. One which is a bit more expensive than the previous Udemy option.
If you’re interested it is £36 a month (or equivalent). But as I say, this is a meaty course.
Opinions will vary, and you may think this is quite a pricey course, but I am sure you will agree that the course looks very comprehensive. Plus, you also get a certification as well, which you can add to your CV and LinkedIn.
If you are considering this course they have a 7-day free trial where you can test the waters. But if money is an issue there are other resources on this list.
Everyone has to start somewhere, and it helps to have a good introduction. Having a solid foundation is very important after all, which is why “Introductions to Algorithms” is a valuable book for any beginner.
This book has been designed to be both comprehensive and accessible to programmers of all levels. So while this book is branded as an introduction, it still covers everything you would need to know in detail.
Examples are written in plain English and pseudocode, which means you don’t have to worry about programming language specifics. I am sure if you’re a beginner, that’s music to your ears!
Simply, this is the ideal book for your first foray into data structures and algorithms.
Sometimes it would be nice to have a manual for life. But at least we have a manual for designing algorithms!
If this is a subject you struggle with then this book is a recommended read thanks to its beginner-friendly approach.
The book is broken down into two parts, with the first providing practical advice and instruction when it comes to designing and analyzing algorithms. And the second part is filled with resources and a reference catalog of common algorithms.
There is also a series of self-titled “war stories” that depict practical experiences of real-world applications. Having these practical examples is a nice touch, which helps you see how this knowledge applies to the real world.
Here is another acclaimed classic book that is mentioned a lot in the academic community.
Java programmers will find themselves at home with the latest edition, as it’s examples are written in Java. Understandably for those unfamiliar with Java, there is a slight learning curve.
So, all in all, there is a wealth of information available to the reader.
While this is a great book I get the impression it’s aimed more at the intermediate level programmer, rather than a complete beginner. But it would defiantly be one to come back to.
I will admit that this choice is a bit of a wild card, as the aim of this book is to help you “crack the coding interview”, rather than teach you all the ins and outs of data structures and algorithms.
It does cover this topic but in the context of a coding interview question, which is actually why I included it on this list.
One reason you may be learning this stuff is to land your dream job at a big tech company. If that’s the case why not make it as practical as possible.
The latest edition is full of 189 real-world practical examples of coding interview questions. This gives you ample opportunity to practice and master these types of questions.
This book also provides great advice, great insight, and lets you know what to expect from the whole ordeal.
Bonus Tip: Check out my video on Why Data Structures and Algorithms are important to learn?
Disclaimer: I support my work with Amazon affiliate links to great books because sharing great books helps everyone! As an Amazon Associate, I earn from qualifying purchases.