Skip to content

Repository files navigation

learnalgorithms.dev

From intuition to proof. Structured algorithm sheets, theoretical foundations, and interactive visualizations.

Live site: https://learnalgorithms.dev


About

learnalgorithms.dev is an open educational resource for learning data structures and algorithms from first principles. It combines rigorous theoretical content with interactive React components and visual demonstrations — going beyond rote memorization to build deep understanding.

The site is organized into two parallel tracks:

TrackPathDescription
Concepts/conceptsTheory, paradigms, and complexity analysis
Algorithms/algorithmsConcrete problems with interactive visualizations

Content Structure

Concepts

01 — Foundations
├── Algorithmic Thinking
├── Case Study: Pairwise Problem
├── Complexity Analysis
├── Asymptotic Notation
└── Searching Case Studies
02 — Fundamental Problem Domains
└── Sorting
03 — Algorithm Design Paradigms
├── Brute Force
├── Divide and Conquer
├── Greedy Algorithms
└── Dynamic Programming
04 — State-Space Search & Optimization
├── Backtracking
└── Branch and Bound
05 — Advanced Execution Models
└── Parallel Algorithms

Also included: Glossary · Learning Roadmap

Algorithms

06 — Dynamic Programming
└── Coin Change
07 — Backtracking

Tech Stack

  • Docusaurus 3 — static site framework (MDX, React)
  • KaTeX — math rendering via remark-math + rehype-katex
  • React 19 — interactive algorithm visualizers
  • Custom plugins
    • remark-autolink-concepts — auto-links concept terms across pages
    • docusaurus-plugin-site-data — aggregates site-wide metadata at build time

Getting Started

Prerequisites: Node.js ≥ 18, npm or yarn.

# Install dependencies
npm install
# Start local dev server (http://localhost:3000)
npm start
# Production build
npm run build
# Preview the production build locally
npm run serve
# Clear Docusaurus cache
npm run clear

Deployment

The site deploys automatically to GitHub Pages via CI on every push to main.

To deploy manually:

GIT_USER=vicegd npm run deploy

This builds the site and pushes the output to the gh-pages branch, which is served at https://learnalgorithms.dev.


Project Structure

├── concepts/ # MDX content — theory and paradigms
├── algorithms/ # MDX content — concrete algorithm problems
├── src/
│ ├── components/ # React components (visualizers, indexes, roadmap)
│ ├── css/ # Global styles
│ ├── pages/ # Standalone pages (home, stats, glossary)
│ └── plugins/ # Custom Docusaurus/remark plugins
├── static/ # Static assets (images, algorithm data)
├── docusaurus.config.js
├── sidebars.js # Concepts sidebar
└── sidebarsAlgorithms.js

👨‍💼 Author

Vicente García Díaz
School of Computer Science
University of Oviedo


📜 License

Copyright (c) 2026 Vicente García Díaz — All Rights Reserved.
See LICENSE file for details.

Releases

Packages

Contributors

Languages