The University Network

Best Online Classes And Programs For Algorithym

In 2019, nearly 40 percent of developers come from non-computer science backgrounds. Many learn programming via online courses like the ones listed below. Of course, that is an effective way to learn to program, and we at TUN are proud advocates for online education. However, one downside of learning to program online is you may miss out on valuable computer science concepts that can be used to solve practical programming problems.

Algorithms are one of those topics. Although programmers don’t necessarily think about big-picture algorithmic concepts in their day-to-day work life, a basic knowledge of algorithms is fundamental to understanding how computers work and process information. Understanding abstractions like algorithms can also help you write cleaner, better-structured code. And on a more practical level, algorithms are a common topic in coding interviews.

Learning about a high-minded computer science topic like algorithms can be an intimidating prospect. Fortunately, you don’t need to go back to school to do so. Thanks to websites like Udemy, Coursera, and Pluralsight, there are thousands of free and affordable online courses on algorithms. We’ve put together a list of our favorites, so you can learn on your own time, from the comfort of your home.

Online Courses on Algorithms

1. An Introduction to Algorithmics

This is an introductory course that focuses on practical applications of algorithms. It is based around the concept that basic data structures can be used in everyday contexts to simplify solutions to common programming problems. You will learn how to read and analyze the complexity of algorithms, so you can predict how a program will perform without running it. You’ll learn how to strategically utilize both simple and complex algorithms to solve problems and reduce computation time. The end of the course also features some high-level theoretical concepts, as you’ll address the complexity classes P and NP and the famous P versus NP question. Taught by Rasmus Amossen, a software developer with a PhD in computer science, this course is great for students who are well-versed in programming, but haven’t yet ventured into the world of algorithms.

  • College credits: NO — Certificate only
  • Price: 10-day free trial and then $35 billed monthly or $299 billed annually for Personal plan; $449 billed annually for Premium plan
  • Financial aid or scholarships: NO
  • Mobile learning: YES
  • Self-paced learning: YES
  • Flexible deadlines: YES
  • Time needed for completion: 4 hours, 4 minutes
  • Languages: English
  • Vendor: Pluralsight

Note: Prices for all courses listed in this article are true on the date of publishing, but are subject to change.

2. JavaScript Algorithms and Data Structures Masterclass

This course from Udemy and bootcamp instructor Colt Steele is an interactive and comprehensive introduction to algorithms and computer science. It includes over 21 hours of video lessons, with challenges and projects spread throughout the course. The course begins with big-picture concepts like Big O notation and recursion. You will then learn a five-step approach to problem-solving that you will use throughout the course and in coding interviews. From there, you will dive deep into various kinds of algorithms, including search algorithms and several types of sorting algorithms (quicksort, mergesort, radix sort, etc.) You’ll then work with data structures, implementing 10 from scratch. By the end, you’ll be working with some advanced topics like heaps, graphs, and Dijkstra’s Shortest Path Algorithm. The course requires a knowledge of basic JavaScript, but does not require any prior knowledge of algorithms or data structure concepts.

  • College credits: NO — Certificate of Completion only
  • Price: $20.99 on sale ($149.99 regular price)
  • Financial aid or scholarships: NO
  • Mobile learning: YES
  • Self-paced learning: YES
  • Flexible deadlines: YES
  • Time needed for completion: 21 hours, 30 minutes
  • Languages: English with subtitles in English, Indonesian, Italian, Polish, and Romanian
  • Vendor: Udemy

3. The Coding Interview Bootcamp: Algorithms + Data Structures

Every prospective developer knows they should fear the dreaded coding interview. This course is designed to teach you everything you need about algorithms and data structures for your interview. The course covers a number of relatively simple algorithms and data structures that frequently come up in coding interview questions. Instructor Stephen Grider doesn’t jump straight to the solution. Rather you will steadily work through each question, so you come out with an understanding of how and why the algorithm works, even if you don’t have a computer science degree. In other words, you’ll learn to think and act like a programmer. This course is designed for people who have very little or no background knowledge of algorithms and data structures, but you do need to know basic JavaScript.

  • College credits: NO — Certificate of Completion only
  • Price: $19.99 on sale ($89.99 regular price)
  • Financial aid or scholarships: NO
  • Mobile learning: YES
  • Self-paced learning: YES
  • Flexible deadlines: YES
  • Time needed for completion: 12 hours, 51 minutes
  • Languages: English with subtitles in English, Indonesian, Italian, Japanese, Polish, Portuguese, Romanian, and Thai
  • Vendor: Udemy

4. Algorithms, Part I

This is the first of a two-part course by Princeton University on algorithms and data structures, with a focus on programming and problem-solving, with real-world examples and applications. Algorithms, Part I covers data types, sorting, and searching. First, you will learn about a variety of data types including stacks, queues, bags, union-finds, and priority queues. You will subsequently move on to common sorting algorithms such as quicksort, mergesort, heapsort, and radix sorts. Finally, it covers search methods such as binary search trees, red-black binary search trees, and hash tables. You’ll also learn some basic algorithm analysis and learn how to measure the running time of programs and use mathematical models to explain their behavior. On its own, Algorithms, Part I serves as a strong introduction to algorithms and data structures. If you’re interested in diving into more complex algorithms and data structures, consider moving onto the second module Algorithms, Part II.

  • College credits: NO — Course Certificate only
  • Price: FREE to audit, but there’s a fee to earn and buy a Course Certificate
  • Financial aid or scholarship: YES
  • Mobile learning: YES
  • Self-paced learning: YES
  • Flexible deadlines: YES
  • Time needed for completion: Approx. 32 hours (6 weeks, 6-10 hours per week suggested)
  • Languages: English with subtitles in English, Korean, and Russian
  • Vendor: Coursera

5. Algorithms, Part II

The first module of Princeton University’s two-part course on algorithms and data structures (Algorithms, Part I) is focused on basic data structures and sorting and searching algorithms. In this second module, graph- and string-processing algorithms take center stage. The course begins covering graph algorithms such as breadth-first search, depth-first search, Prim’s algorithm and Kruskal’s algorithm for the minimum spanning tree (MST) problem, and Dijkstra’s shortest path first (SPT) algorithm. Next, you’ll learn about string-processing algorithms such as the Knuth-Morris-Pratt (KMP) algorithm, regular expressions, ternary search tree, Huffman coding compression, and the Lempel-Ziv-Welch (LZW) data compression algorithm. Lastly, you will cover a few advanced algorithms such as B-tree, suffix array, and maxflow, which make use of the basic algorithms covered earlier. In the last section, you’ll tackle the infamous P versus NP problem and discuss the possibility of a universal problem-solving model.

  • College credits: NO — Course Certificate only
  • Price: FREE to audit, but there’s a fee to earn and buy a Course Certificate
  • Financial aid or scholarship: YES
  • Mobile learning: YES
  • Self-paced learning: YES
  • Flexible deadlines: YES
  • Time needed for completion: Approx. 34 hours (6 weeks, 6-10 hours per week suggested)
  • Languages: English with subtitles in English and Korean
  • Vendor: Coursera

6. Using Advanced Data Structures in Modern Applications

This advanced algorithms course pushes past the typical scope of online algorithmics courses. With an emphasis on practical application, you will learn about hash functions and hash table implementations, bloom and cuckoo filters, disjoint-set data structures, tries and suffix trees, and spatial indexes such as B-trees, R-trees, and M-trees. You will learn all of these data structures from a theoretical and practical perspective with many examples, so by the end of the course you should feel comfortable applying them to find simple solutions to complex problems. This course is the sequel to “An Introduction to Algorithmics,” which covers basic data structures and hash tables and tree structures as well as basic complexity analysis. If you aren’t familiar with those concepts, you may want to consider taking the introductory course first.

  • College credits: NO — Certificate only
  • Price: 10-day free trial and then $35 billed monthly or $299 billed annually for Personal plan; $449 billed annually for Premium plan
  • Financial aid or scholarships: NO
  • Mobile learning: YES
  • Self-paced learning: YES
  • Flexible deadlines: YES
  • Time needed for completion: 4 hours, 22 minutes
  • Languages: English
  • Vendor: Pluralsight

7. Algorithms and Data Structures

In this course, students break down basic functional algorithms and data structures, including the selection sort, linear search, and bubble search algorithms and linked list data structures. You’ll learn how these algorithms work, how to compare them, and how to use them in real-world programming scenarios to simplify and improve your programs. The course is geared toward programmers with experience in an object-oriented programming language, specifically Java.

  • College credits: NO — Certificate of Completion only
  • Price: $39.99 per month for a “Learn” Subscription on sale ($44.99 regular price)
  • Financial aid or scholarships: NO
  • Mobile learning: YES
  • Self-paced learning: YES
  • Flexible deadlines: YES
  • Time needed for completion: 20 hours
  • Languages: English
  • Vendor: QuickStart

8. Data Structures and Algorithms: Deep Dive Using Java

This course breaks down everything you need to know about data structures and algorithms, from arrays and Big O notation to heaps. It starts with the basics but breaks down each data structure and concept thoroughly, from both a theoretical and practical perspective. You will not only learn about what the data structures are and how they work, but also about how to implement them in programming projects and applications. As a result, it is a great course for people who already know the basics of data structures and algorithms but would like to dive deeper. However, it is also suited for students who are just beginning to learn about data structures. The course does not require previous experience with algorithms or data structures, but you should know an object-oriented programming language, preferably JavaScript. 

  • College credits: NO — Certificate of Completion only
  • Price: $18.99 on sale ($99.99 regular price)
  • Financial aid or scholarships: NO
  • Mobile learning: YES
  • Self-paced learning: YES
  • Flexible deadlines: YES
  • Time needed for completion: 16 hours
  • Languages: English with subtitles in English, Indonesian, Italian, and Thai
  • Vendor: Udemy

9. Advanced Algorithms in Java

Once you’ve already learned the algorithms and data structures covered in most introductory courses (such as basic search and sort algorithms), it’s time to move on to more advanced algorithms. In this course, you will learn about graph algorithms, breadth-first and depth-first search algorithms, Dijkstra’s shortest path, arbitrage, strongly connected components, and more. All of these topics are discussed from both a theoretical and practical perspective, with coding examples for most topics so you can see how these algorithms are actually implemented in programming scenarios. This course requires an understanding of basic algorithms as well as a familiarity with Java.

  • College credits: NO — Certificate of Completion only
  • Price: $18.99 on sale ($199.99 regular price)
  • Financial aid or scholarships: NO
  • Mobile learning: YES
  • Self-paced learning: YES
  • Flexible deadlines: YES
  • Time needed for completion: 9 hours, 46 minutes
  • Languages: English with subtitles in English and Spanish
  • Vendor: Udemy

10. Algorithm Design and Analysis

This course, offered by the University of Pennsylvania via edX, is a four-week program that covers algorithms from scratch. Before taking the course, you should have a familiarity with Java, basic probability, and discrete mathematics. The course begins by covering relevant mathematical concepts as well as asymptotic analysis, recurrence relations, sorting and searching, and heaps and binary search trees. From there, you will study a few of the most common algorithm design paradigms, such as divide and conquer algorithms, dynamic programming, and greedy algorithms. You will then move on to graph algorithms, before ending with lessons on NP-completeness and approximation algorithms.

  • College credits: NO — Verified Certificate only
  • Price: FREE to audit, but there’s a $149 fee to earn and buy a Verified Certificate
  • Financial aid or scholarships: YES
  • Mobile learning: YES
  • Self-paced learning: YES
  • Flexible deadlines: YES
  • Time needed for completion: 4 weeks (6-8 hours per week suggested)
  • Languages: English with subtitles in English
  • Vendor: edX

Online Programs on Algorithms

11. Algorithms Specialization

This specialization, offered by Stanford University via Coursera, is a comprehensive introduction to algorithms for students with basic programming experience. It consists of four separate courses and primarily approaches algorithms from a big picture and theoretical perspective. The program begins by covering commonly-used algorithms, including divide and conquer, sorting and searching, and randomized algorithms. As you move through each course, you’ll work with increasingly complex algorithms, data structures, and concepts, concluding with shortest paths, NP-completeness, and strategies for dealing with problems that can’t be solved efficiently with an algorithm.

The 4 Courses:

Course 1: Divide and Conquer, Sorting and Searching, and Randomized Algorithms

Course 2: Graph Search, Shortest Paths, and Data Structures

Course 3: Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming

Course 4: Shortest Paths Revisited, NP-Complete Problems and What To Do About Them

  • College credits: NO — Specialization Certificate only
  • Price: FREE to audit, but there’s a fee to earn and buy a Specialization Certificate
  • Financial aid or scholarship: YES
  • Mobile learning: YES
  • Self-paced learning: YES
  • Flexible deadlines: YES
  • Time needed for completion: Approximately 4 months (8 hours per week suggested)
  • Languages: English with subtitles in English
  • Vendor: Coursera

12. MicroMasters Program in Algorithms and Data Structures

Offered by UC San Diego, the “MicroMasters Program in Algorithms and Data Structures” is as comprehensive as any algorithms program available online. It is composed of eight separate courses, which cover all of the major types of basic and advanced algorithms and data structures. You’ll learn not only about the application of algorithms, but how to design algorithms to solve computational problems and implement solutions. It also includes entire courses devoted to the application of algorithms to solve real-world problems. For example, in the penultimate course, “Graph Algorithms in Genome Sequencing,” you will examine how graph algorithms can be used to assemble a genome from small pieces of DNA. The course concludes with a challenging capstone project, in which students are tasked with building an original, optimized software program for genome sequencing.

  • Number of courses: 8 graduate-level courses
  • College credits: NO — MicroMasters program certificate only
  • Price: $1,080 on sale ($1,200 regular price)
  • Financial aid or scholarships: YES
  • Mobile learning: YES
  • Self-paced learning: YES
  • Flexible deadlines: YES
  • Time needed for completion: 1 year (288-360 hours of effort suggested)
  • Languages: English 
  • Vendor: edX