Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Coursera

Graph Algorithms with Rust

Pragmatic AI Labs via Coursera

Not Currently Offered

Overview

AI, Data Science & Cloud Certificates from Google, IBM & Meta — 40% Off
One plan covers every Professional Certificate on Coursera. 40% off Coursera Plus Annual.
Unlock All Certificates
Graph Algorithms with Rust teaches you to model real datasets as graphs and run the classical algorithms — BFS, DFS, Dijkstra, PageRank, and Kosaraju strongly-connected components — in cache-friendly Rust. Across five modules you walk through the same problems data engineers actually solve: loading edge lists into a graph, finding the shortest walking route between Lisbon landmarks, ranking sports websites by PageRank, scoring UFC fighters by centrality, and detecting communities in a Twitter-style follower graph. You use both the textbook petgraph crate and the benchmarked aprender-graph crate, so you see two production-tested ways to model the same problem. Every algorithm comes with a runtime contract — provable assertions like "PageRank scores must sum to 1.0" — so the demos catch silent regressions, not just compile errors. The course closes with a working clap-based CLI tool that wires every algorithm together behind subcommands and emits machine-readable JSON, ready to ship as a single static binary. By the end you can pick the right algorithm for a real graph problem and ship it as a tested Rust binary.

Syllabus

  • Week 1: Graph Foundations in Rust
    • Build the foundations of working with graph data in Rust. You will learn how property graphs differ from relational models, set up a connection to Amazon Neptune using openCypher, and design a clean repository pattern that separates query logic from application code. By the end of this module, you will have a working Rust project that can connect to Neptune and execute basic graph queries.
  • Week 2: Traversal & Shortest Paths
    • Move beyond simple lookups to learn how graph traversal really works. You will implement breadth-first and depth-first search in Rust, run shortest-path queries with Dijkstra and A* against Neptune, and reason about the trade-offs between recursive Cypher and client-side traversal. By the end of this module, you will be able to choose the right traversal strategy for a given problem and implement it in production-quality Rust.
  • Week 3: Centrality & PageRank
    • Learn how to identify the most important nodes in a graph. You will compute degree, betweenness, and closeness centrality, then implement PageRank from scratch using power iteration over an eigenvector formulation. By the end of this module, you will be able to rank nodes by influence in real-world networks and explain the linear algebra that makes PageRank work.
  • Week 4: Strongly Connected Components
    • Discover the structure hidden inside large, messy graphs. You will implement Tarjan's and Kosaraju's algorithms for strongly connected components, then apply Louvain modularity to find communities in undirected networks. By the end of this module, you will be able to decompose a real-world graph into its meaningful subgroups and explain what those subgroups reveal about the system being modeled.
  • Week 5: Production Patterns
    • Take everything you have built and ship it as a real tool. You will design a robust command-line interface in Rust, add structured logging and error handling, integrate with CI, and package the binary for distribution. By the end of this module, you will have a production-ready Rust CLI that runs graph algorithms against Neptune from your terminal and is ready to hand off to a team.

Taught by

康仕仲 (Shih-Chung Jessy Kang)

Reviews

Start your review of Graph Algorithms with Rust

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.