Algorithms and data structures are two of the fundamental topics in computer science. All programmers will encounter them, and they often come up in job interviews.

We just published a length course on the freeCodeCamp.org YouTube channel that will give you an excellent introduction to algorithms and data structures.

This course was developed by teachers Pasan Premaratne and Jay McGavren. For the first time ever, this course is now available for free.

The course is actually a combination of these three shorter courses:

• Introduction to Algorithms
• Introduction to Data Structures
• Algorithms: Sorting and Searching

In the first section you will learn what algorithms are, how they work, and where they can be found.

In the second section you will learn about two introductory data structures – arrays and linked lists. You'll look at common operations and how the runtimes of these operations affect our everyday code.

For the rest of the course, you'll combine your knowledge of algorithms and data structures to solve the problem of sorting data using the Merge Sort algorithm.

The final section takes a look at algorithms in two categories: sorting and searching. You'll implement well-known sorting algorithms like Selection Sort, Quicksort, and Merge Sort. You'll also learn basic search algorithms like Sequential Search and Binary Search.

By the end of this 6-hour course, you will understand what algorithms and data structures are, how they are measured and evaluated, and how developers use them to solve problems.

Watch the full course below or on the freeCodeCamp.org YouTube channel. Make sure to check the description for the included code snippets.