# Course Schedule

> LeetCode #207 — Course Schedule. Solve on LeetCode, then implement here if you want it in your drill queue.

https://leetcode.com/problems/course-schedule/

Canonical: https://learn.significanthobbies.com/curriculum/drills/lc-course-schedule

LeetCode #207 — Course Schedule. Solve on LeetCode, then implement here if you want it in your drill queue.

https://leetcode.com/problems/course-schedule/

## The mechanism

Most graph problems are one of a few templates: reachability/components (DFS/BFS), shortest path (BFS for unweighted, Dijkstra for weighted), ordering (topological sort), or connectivity (union-find). The skill is recognizing the template and modeling the input as nodes and edges.

## Expected evidence

Pass all LeetCode test cases for this problem.

## Hints

- Pattern hint: graphs.
- Start with brute force, then optimize time/space.
- Write down invariants before coding.

## Sources and practice

- [VisuAlgo — Graph Traversal](https://visualgo.net/en/dfsbfs)
- [Study Graphs](https://learn.significanthobbies.com/curriculum/concepts/graphs)
- [Try the interactive drill](https://learn.significanthobbies.com/drills/lc-course-schedule)
- [All practice briefs](https://learn.significanthobbies.com/curriculum/drills/)
