Given how competitive the tech job market is right now, you should constantly upskill and improve your technical chops. For any role in data and software engineering, the interview process typically starts with a round or two of coding interviews.
While projects and technical expertise will help you in the later rounds of the interview, coding interviews are often hard to crack—especially if you haven’t been practicing for a while. And having a rock solid foundation in data structures and algorithms is necessary.
Even if you don't have a CS degree, taking university-level courses in programming, data structures, and algorithms will help you prepare for coding interviews. Because learning the fundamentals followed by several weeks of deliberate practice are both required for cracking coding interviews.
We’ve compiled a list of free university courses to help you learn data structures and algorithms. So let’s go over them.
Programming, Data Structures, and Algorithms Using Python taught by Prof. Madhavan Mukund at Chennai Mathematical Institute is a great first course in data structures and algorithms using Python.
When preparing for coding interviews, you often have to understand advanced concepts. And you may find some university courses difficult to follow along. So this is a good first course if you haven't previously taken a course in data structures in algorithms.
I took this course during my undergrad days and found it super helpful. I highly recommend taking this course first before proceeding to the other courses.
This course has about 8 weeks of content. Here’s an overview of what the course covers:
Course link: Programming, Data Structures and Algorithms Using Python
Algorithmic Toolbox from UC San Diego is a great course to learn the fundamentals of problem solving techniques that’ll help you tackle coding interviews.
You’ll learn to first code a brute-force solution that works, gradually moving to more optimal solutions while learning techniques like dynamic programming. You can audit the course for free on Coursera and use a language that you’re comfortable programming in.
This course should take you a few weeks to work through. If you’re interested, you can also audit the entire Data Structures and Algorithms specialization for a more complete learning path.
The course contents include:
Course link: Algorithmic Toolbox
Introduction to Algorithms from MIT is one of the most popular highly recommended algorithms courses.
If you have some programming experience and are already familiar with the basics of data structures and algorithms, then this course will help you level up. And learn the basics of common data structures algorithms and algorithmic paradigms.
You can access the course materials: lecture notes, problem sets, and solutions for free on the course website. Here’s an overview of what the course covers:
Course link: Introduction to Algorithms
Thought by Prof. Tim Roughgarden during his time at Stanford university, the Design and Analysis of Algorithms courses (this part and the next) will help you push yourself hard to improve your algorithmic thinking and problem-solving skills.
If you have the time during interview prep, I recommend taking this course and the next. It’ll be helpful to have a strong foundation from one or more of the previous courses before you dive into this algorithms course.
In part 1 of this course on design and analysis of algorithms you will learn:
Course link: Algorithms: Design and Analysis, Part 1
In this part 2 of the Design and Analysis of Algorithms course, you’ll get to learn more advanced concepts including:
You can watch the lectures on YouTube or audit the course for free on edX. These courses are also available as a five-course specialization on Coursera. So if you prefer this version, you can audit this Algorithms Specialization for free on Coursera
Lorem ipsum viverra feugiat. Pellen tesque libero ut justo, ultrices in ligula. Semper at. Lorem ipsum dolor sit amet elit. Non quae, fugiat nihil ad. Lorem ipsum dolor sit amet. Lorem ipsum init dolor sit, amet elit. Dolor ipsum non velit, culpa! elit ut et.
Lorem ipsum dolor sit amet elit. Velit beatae rem ullam dolore nisi esse quasi, sit amet. Lorem ipsum dolor sit amet elit.