A hands-on course for learning sorting algorithms with a standard 52-card deck while comparing two different worlds of algorithmic cost: what is efficient for a computer and what is efficient for human hands at a table.
The current manuscript is Learner Draft 0.1. It is deliberately complete before it is polished: the first learner will print it, work through it with cards, and use that experience to drive the teaching edition.
All full-deck exercises use:
A–K ♠ → A–K ♥ → K–A ♣ → K–A ♦
- Selection Sort
- Insertion Sort
- Bubble Sort
- Concept Interlude: inversions, stability, in-place sorting, adaptiveness, cost models
- Merge Sort
- Quicksort
- Quickselect
- Heaps and Heapsort
- Concept Interlude: the Ω(n log n) comparison-sorting lower bound
- Counting Sort
- Radix Sort
- Bucket Sort
- Shellsort
- Timsort
- Introsort
- Synthesis and strategy selection
index.qmd— introduction, canonical ordering, and learning methodpart-1-simple-sorts.qmd— Selection, Insertion, Bubble, Concept Interlude Ipart-2-divide-partition-heaps.qmd— Merge, Quick, Quickselect, Heap, Concept Interlude IIpart-3-noncomparison-and-gaps.qmd— Counting, Radix, Bucket, Shellpart-4-hybrids-and-synthesis.qmd— Timsort, Introsort, synthesisappendix.qmd— reference tables, vocabulary, printable experiment sheet, field-note prompts_quarto.yml— Quarto book configuration
Install Quarto and a TeX distribution supported by Quarto, then from the repository directory run:
quarto render --to pdfThe generated book will appear under _book/.
For a browser version:
quarto render --to htmlLearner Draft 0.1 is a field-test manuscript, not a finished publication. The source is intentionally modular so lessons, exercises, diagrams, and explanatory interludes can be revised independently after actual use.
Learn sorting algorithms hands-on with a standard deck of playing cards, comparing physical and computational models of sorting.