Skip to content
Projects

gaerae/awesome-algorithms-education

View on GitHub

gaerae/awesome-algorithms-education has 911 GitHub stars and 69 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-09 06:48 UTC. Last push 2026-10-28.

How these counts are measured

A curated list of courses, online judges, visualizations, books and competitions for learning and practicing algorithms. English and Korean.

Measured star growth

in 24h
0
in 7 days
Update delayed
in 15 days
Update delayed
in 1 month
Update delayed

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

README.md

Original

Awesome Algorithms Education Awesome

A curated list of courses, online judges, visualizations, books and competitions for learning and practicing algorithms.

Every entry is free to read or use unless marked as paid, and Korean-language resources are tagged so that both English and Korean learners can find what fits them. For implementations and contest-specific material, see Awesome Competitive Programming and Awesome Algorithms.

If you want to contribute, please read the contribution guidelines.

English | 한국어

Contents

Courses

Introductory

  • Algorithms - Khan Academy / Free unit co-written with Thomas Cormen; articles and JavaScript challenges on sorting, recursion and graphs.
  • DSA Tutorial - Geeks for Geeks / Free roadmap of articles and practice problems from arrays and sorting to graphs, DP and segment trees.
  • Algorithm course for smart programming - Korean / Inflearn / Free 55-lecture course by Prof. Oheum Kwon on recursion, sorting, trees, hashing, graphs and DP.

Intermediate

  • Algorithms and Data Structures - Class Central / Searchable catalog of hundreds of free and paid online courses on the subject, with reviews.
  • Algorithms - edX(IITBombay) / Six-week course on sorting, order statistics, string, geometric and graph algorithms; free to audit.
  • Intro to Algorithms - Udacity / Free self-paced course by Michael Littman that teaches graph algorithms and growth rates through social-network analysis.
  • Introduction to Algorithms, 2020 - MIT OCW / Undergraduate 6.006 by Demaine, Ku and Solomon; lecture videos, notes, problem sets and exams with solutions.
  • Design and Analysis of Algorithms, 2015 - MIT OCW / Undergraduate 6.046J on divide and conquer, DP, randomization and complexity; videos, notes and exams.
  • Introduction to Algorithms, 2011 - MIT OCW / Earlier run of 6.006 by Demaine and Devadas; lecture and recitation videos, notes, Python assignments and exams.
  • Classes and Teaching by Erik Demaine - MIT(Lecture notes) / Index of Erik Demaine's courses such as 6.006, 6.046 and 6.851, with lecture videos and notes.
  • Efficient Algorithms and Intractable Problems, 2001 - UC Berkeley(Lecture notes) / CS 170 by Demmel and Shewchuk; notes and homework on graphs, DP, network flow and NP-completeness.
  • Data Structures, 2014 - UC Berkeley(Lecture notes) / CS 61B by Jonathan Shewchuk; Java-based notes, videos, labs and projects on core data structures.
  • Algorithms, Part I - Coursera(Princeton University) / Sedgewick and Wayne's free Java course on sorting, searching and elementary data structures.
  • Algorithms, Part II - Coursera(Princeton University) / Sedgewick and Wayne's free Java course on graph and string algorithms, compression and intractability.
  • USACO Guide - Free structured curriculum for competitive programming, from Bronze to Platinum.

Advanced

  • Data Structures and Algorithms - Paid Content. / Harvard University / Extension School course by Michael Mitzenmacher on graph, approximation and randomized algorithms.
  • Algorithms Specialization - Paid Content. / Coursera(Stanford University) / Tim Roughgarden's four-course series on divide and conquer, graphs, greedy, DP and NP-completeness.

Competitive programming

  • HackerRank - Algorithm practice track with problems grouped by topic, from warmup to dynamic programming.
  • Codility - Free lessons with practice tasks on time complexity, prefix sums, sorting and more.
  • Topcoder - Long-running Single Round Matches (SRMs) with a problem archive and editorials.
  • Codewars - Community-made kata for practicing in over 55 programming languages.
  • CodeChef - Practice problems and regular rated contests.
  • Codeforces - English, Russian / Rated rounds about once a week plus Educational rounds, a large problem archive and community blogs.
  • AtCoder - English, Japanese / Weekly Beginner Contests plus Regular, Grand and Heuristic contests, run by AtCoder Inc. in Japan.
  • UVa Online Judge - Classic problem archive with the uHunt progress tracker and the ICPC Live Archive.
  • ICPC Problem Archive - Kattis / Problems from recent ICPC World Finals, grouped by difficulty and judged on Kattis.
  • CS Academy - English, Russian, Arabic / Timed rounds with dynamic scoring plus built-in tools such as a graph editor and geometry tool.
  • CSES Problem Set - Problem collection grouped by topic, from introductory problems to advanced techniques.
  • Coderbyte - Coding challenges with video solutions; now primarily a candidate assessment platform.
  • HackerEarth - Practice section for basic programming, data structures, algorithms and math, alongside hiring assessments.
  • Infoarena - Romanian / Community judge with main, educational, monthly and ACM archives, contests and ratings.
  • Kattis - Problem archive with thousands of problems and difficulty scores.
  • Learneroo Algorithms Tutorials - Tutorials that teach algorithms and data structures by solving challenges.
  • LeetCode - English, Chinese / Interview-style problem bank tagged by topic and difficulty, with weekly and biweekly contests.
  • Rosalind - Bioinformatics and programming problems, starting with a Python Village for beginners.
  • Snakify - Python 3 course for beginners with over 100 exercises.
  • Sphere Online Judge (SPOJ) - Large archive of classical problems with support for many programming languages.
  • beecrowd - English, Spanish, Brazilian Portuguese / Large problem archive with contests, formerly URI Online Judge.
  • PKU JudgeOnline - English, Chinese / Peking University judge with a large archive drawn from regional contests, plus monthly contests.
  • Aizu Online Judge - English, Japanese / Free judge run by the University of Aizu with over 2,000 problems from ICPC, JOI, PCK and introductory courses.
  • Project Euler - Mathematical problems that need both insight and programming to solve.
  • Advent of Code - Annual December puzzle calendar with a new problem each day.
  • Project Euler @kr - Korean / Translation of the Project Euler problems.
  • Baekjoon - Korean / The most widely used Korean online judge.
  • solved.ac - Korean / Difficulty tiers and problem recommendations for Baekjoon.
  • Algospot - Korean / Online judge and community run by the author of Algorithmic Problem Solving Strategies.
  • JUNGOL - Korean / Online judge for Korea Olympiad in Informatics preparation.
  • Koistudy - Korean / Online judge with problem sets sorted by algorithm and tier, plus contests.
  • CodeUp - Korean / Online judge aimed at programming beginners.
  • Codingdojang - Korean / Problem-solving practice site for sharpening coding skills.
  • Programmers - Korean / Coding test practice problems for job preparation.
  • Codeground - English, Korean / Samsung-run platform with practice problems, user-created OpenRound contests and the SCPC collegiate contest.
  • SW Expert Academy - Korean / Samsung's learning platform with problems and courses for software skills.

Visualizations

  • Algorithm Visualizer - Interactive platform that visualizes algorithms from code.
  • A Visual Guide to Graph Traversal Algorithms - Interactive DFS and BFS explanations by Workshape.io.
  • VisuAlgo - English, Chinese, Indonesian / Animated visualizations of 24 data structure and algorithm modules with quizzes, by Steven Halim of NUS.
  • Algorithms Visualization - Mike Bostock's essay on visualizing sampling, shuffling, sorting and maze generation.
  • Data Structure Visualizations - Interactive animations by David Galles, University of San Francisco.
  • Sorting Algorithms Animations - Side-by-side animations comparing sorting algorithms, hosted by Toptal.
  • Path Finding - Interactive grid demo of A*, Dijkstra, BFS, Jump Point Search and other pathfinding algorithms.
  • Introduction to the A* Algorithm - Red Blob Games / Interactive tutorial by Amit Patel that builds A* up from breadth-first search, Dijkstra and greedy best-first.
  • Python Tutor - Step-by-step visual execution of Python, JavaScript, C, C++ and Java code.
  • Algorithm Wiki by Will Thimbleby - Interactive wiki whose visualisations run from real JavaScript implementations.
  • TensorFlow Playground - Browser demo for tinkering with a small neural network.
  • Algovis - Curated list by enjalot of algorithm-visualization projects and tools such as Tailspin, Vamonos and Tangle.
  • Vamonos - JavaScript Programming Language / Oregon State library for browser visualizations of array and graph algorithms with breakpoints and step-back.
  • The Sound of Sorting - C ++ Programming Language / Timo Bingmann's demo that draws and plays a tone for each comparison across dozens of sorting algorithms.

Interviews

Videos

  • How algorithms shape our world - Kevin Slavin / 2011 TED talk on how trading, espionage and recommendation algorithms shape everyday life.
  • Algorithms - Abdul Bari / 84 beginner lectures from complexity analysis through divide and conquer, greedy and dynamic programming.
  • Algorithms - Oresoft LWC / About 100 short beginner videos by Omkar Deshpande on asymptotic notation, sorting, searching and GATE problems.
  • Computer Sc - Programming and Data Structure - Nptelhrd / 32 IIT Kharagpur lectures by P.P. Chakraborty on C programming, recursion, linked lists, trees and graphs.
  • Introduction to Algorithms, 2020 - MIT 6.006 / 32 undergraduate lectures and problem sessions by Demaine, Ku and Solomon on sorting, trees, graphs and DP.
  • Design and Analysis of Algorithms, 2015 - MIT 6.046J / 34 advanced lectures and recitations by Demaine, Devadas and Lynch on randomization, flows and NP-completeness.
  • Introduction to Algorithms, 2011 - MIT 6.006 / 47 lectures and recitations by Devadas and Demaine on sorting, hashing, graph search, shortest paths and DP.
  • Merge Sort vs Quick Sort - Animated comparison by udiprod.
  • 15 Sorting Algorithms in 6 Minutes - Timo Bingmann / Six-minute video that visualizes and sonifies 15 sorting algorithms, from quicksort and merge sort to bogo sort.
  • AlgoRythmics - Sapientia University / 14 videos in which folk dancers act out sorting and searching algorithms such as bubble, quick and merge sort.

Books

  • Elementary Algorithms - Free book of functional algorithms and data structures with 120 exercises, in English and Chinese.
  • Data Structures and Algorithms - The Basic Toolbox by Mehlhorn and Sanders, with chapter PDFs available for download.
  • Algorithms by Jeff Erickson - Free textbook and lecture notes from the University of Illinois.
  • Competitive Programmer's Handbook - Free / Antti Laaksonen / About 300 pages introducing competitive programming, from sorting and DP to graphs, number theory and geometry.
  • Open Data Structures - Free / Pat Morin's open textbook on lists, hash tables, search trees, heaps and graphs in Java, C++ and pseudocode editions.
  • Hello Algo - Free / English, Chinese, Japanese and more / Beginner tutorial by krahets with animated illustrations and runnable code in 14 languages.
  • Cracking the Coding Interview - Gayle Laakmann McDowell's interview preparation book with 189 questions; solutions on GitHub, author on Quora.
  • Algorithm Design - Textbook by Jon Kleinberg and Éva Tardos, published by Pearson.
  • Algorithms - Fourth edition by Robert Sedgewick and Kevin Wayne, with the book site's code and exercises.
  • Introduction to Algorithms - Fourth edition of the CLRS textbook by Cormen, Leiserson, Rivest and Stein.
  • Grokking Algorithms - Illustrated, beginner-friendly guide by Aditya Bhargava, published by Manning.
  • Algorithmic Problem Solving Strategies - Korean / Textbook by Jongman Koo that teaches algorithm design through contest problems.

Articles

Competitions

  • ICPC - The International Collegiate Programming Contest, the oldest and largest team programming competition for university students.
  • IOI - The International Olympiad in Informatics, the annual algorithmic competition for secondary school students.
  • Meta Hacker Cup - Meta's annual open programming competition.
  • AtCoder Contests - Weekly rated contests for beginners to experts.
  • Codeforces Contests - Frequent rated rounds, the most active contest platform.
  • Google Coding Competitions Archive - Official archive of problems and solutions from Code Jam, Kick Start and Hash Code, which ended in 2023.
  • Google Summer of Code - Annual program that pairs students with open source organizations for a paid summer coding project.
  • KOI - Korean / Korea Olympiad in Informatics / Annual contest for elementary to high school students with an online first round and a second round for its medalists.
  • UCPC - Korean / Union of Collegiate Programming Contest clubs / Annual three-person team contest with an online qualifier and an on-site final.

Miscellaneous

  • The Algorithms - Open-source implementations of algorithms in every major language.
  • MIT OpenCourseWare - YouTube playlists of full MIT course lectures.
  • Awesome Data Science - Curated list of data science learning resources.
  • Awesome Machine Learning - Curated list of machine learning frameworks, libraries and software by language.
  • Rosetta Code - Solutions to the same tasks in as many programming languages as possible, for comparing how languages differ.
  • Code.org - Nonprofit with a free K-12 computer science curriculum and the Hour of Code campaign.
  • CheckiO - Online game for Python and JavaScript coders.
  • HUST Online Judge System - PHP (Laravel) rewrite of the HUST judge that sends submissions to separate judge servers over RabbitMQ.
  • Tech stack for Baekjoon online judge - Korean / Startlink's write-up of how the Baekjoon judge was built and which technologies it runs on.

Explore related projects