Case-Study Catalog

Auto-generated by scripts/generate_catalog.py. Do not edit by hand; edit the case files' metadata tables instead.

144 cases · Difficulty levels: Beginner, Foundational, Intermediate, Advanced, Expert.

IDTitleDifficultyLectureTopics
cs-001cs-001 — The Coffee CardBeginnerLecture 01decomposition, assumptions
cs-002cs-002 — The Elevator DebateFoundationalLecture 01decomposition, modeling
cs-003cs-003 — Two Vending MachinesIntermediateLecture 01assumptions, specification
cs-004cs-004 — The Library Fine FormulaExpertLecture 01specification, edge cases
cs-005cs-005 — Largest of ThreeBeginnerLecture 02pseudocode, selection
cs-006cs-006 — Password RulesFoundationalLecture 02pseudocode, validation
cs-007cs-007 — The Vending Machine ScriptIntermediateLecture 02pseudocode, state
cs-008cs-008 — Shuffling a PlaylistExpertLecture 02pseudocode, randomness, constraints
cs-009cs-009 — The ATM LoopBeginnerLecture 03flowchart, loops
cs-010cs-010 — Rain or ShineFoundationalLecture 03flowchart, decisions
cs-011cs-011 — The Dispatch LoopIntermediateLecture 03flowchart, state, termination
cs-012cs-012 — Guess and CheckAdvancedLecture 03flowchart, game loop
cs-013cs-013 — Echo with LimitsBeginnerLecture 04python, io, state
cs-014cs-014 — Course List CleanerFoundationalLecture 04python, sequences
cs-015cs-015 — The Change MakerIntermediateLecture 04python, state, arithmetic
cs-016cs-016 — The Meeting SchedulerAdvancedLecture 04python, sequences, constraints
cs-017cs-017 — The Pager ScheduleBeginnerLecture 05modulo, cycles
cs-018cs-018 — Digits and Their SumFoundationalLecture 05digits, loops
cs-019cs-019 — The Broken KeypadIntermediateLecture 05digits, reconstruct
cs-020cs-020 — The Josephus RingAdvancedLecture 05simulation, math, recurrence
cs-021cs-021 — Trace the TallyBeginnerLecture 06tracing, loops
cs-022cs-022 — The Shrinking LoopFoundationalLecture 06tracing, termination
cs-023cs-023 — Nested and ConfusedIntermediateLecture 06tracing, nested loops
cs-024cs-024 — The Off-By-One MuseumAdvancedLecture 06off-by-one, testing
cs-025cs-025 — The Case of the Missing SalesBeginnerLecture 07debugging, hypotheses
cs-026cs-026 — The Off-by-One InvoiceFoundationalLecture 07debugging, boundaries
cs-027cs-027 — The Ghost DuplicateIntermediateLecture 07debugging, state
cs-028cs-028 — The HeisenbugAdvancedLecture 07debugging, method
cs-029cs-029 — Triangle ClassifierBeginnerLecture 08testing, boundaries
cs-030cs-030 — The Age GateFoundationalLecture 08testing, requirements
cs-031cs-031 — Black Box vs White BoxIntermediateLecture 08testing, coverage
cs-032cs-032 — The Flaky FunctionAdvancedLecture 08testing, randomness
cs-033cs-033 — The Reading LogBeginnerLecture 09aggregation, loops
cs-034cs-034 — Stockroom SpikesFoundationalLecture 09aggregation, comparison
cs-035cs-035 — The Longest StreakIntermediateLecture 09aggregation, state
cs-036cs-036 — Rainfall WindowsAdvancedLecture 09aggregation, windows
cs-037cs-037 — Username AuditorBeginnerLecture 10strings, validation
cs-038cs-038 — The Reversal FamilyFoundationalLecture 10strings, slicing
cs-039cs-039 — Template Mail-MergeIntermediateLecture 10strings, parsing
cs-040cs-040 — The Anagram DetectorAdvancedLecture 10strings, normalisation
cs-041cs-041 — The Queue ReorderBeginnerLecture 11lists, slicing
cs-042cs-042 — Deduplication PatternsFoundationalLecture 11lists, uniqueness
cs-043cs-043 — Rotate and RollIntermediateLecture 11lists, rotation
cs-044cs-044 — The Aliasing TrapAdvancedLecture 11lists, aliasing, debugging
cs-045cs-045 — The Median That LiesBeginnerLecture 12debugging, statistics
cs-046cs-046 — The Phantom ZeroFoundationalLecture 12debugging, sentinels
cs-047cs-047 — The Swap That Wasn'tIntermediateLecture 12debugging, tuples, references
cs-048cs-048 — The Regression ZooAdvancedLecture 12debugging, regression
cs-049cs-049 — The Word TallyBeginnerLecture 13dictionaries, counting
cs-050cs-050 — Course RostersFoundationalLecture 13sets, operations
cs-051cs-051 — The Cache SimulatorIntermediateLecture 13dictionaries, state
cs-052cs-052 — The Consensus CheckerExpertLecture 13dictionaries, voting, logic
cs-053cs-053 — The Validator TrioBeginnerLecture 14functions, reuse
cs-054cs-054 — Refactor the MonolithFoundationalLecture 14functions, refactoring
cs-055cs-055 — The Parameter JungleIntermediateLecture 14functions, defaults, mutation
cs-056cs-056 — Pipelines as FunctionsExpertLecture 14functions, composition
cs-057cs-057 — The Locker ProblemBeginnerLecture 15counting, patterns
cs-058cs-058 — Team Photo LineupsFoundationalLecture 15permutations, constraints
cs-059cs-059 — The Committee DrawIntermediateLecture 15combinations, probability
cs-060cs-060 — The Birthday QuestionAdvancedLecture 15probability, complement
cs-061cs-061 — The Gradebook AuditBeginnerLecture 16integration, dictionaries, lists
cs-062cs-062 — Text Stats on a BudgetFoundationalLecture 16integration, strings
cs-063cs-063 — The Campus SurveyIntermediateLecture 16integration, design
cs-064cs-064 — The Mini Challenge CupAdvancedLecture 16integration, strategy
cs-065cs-065 — Find the First FreezeBeginnerLecture 17search, linear scan
cs-066cs-066 — The Course FinderFoundationalLecture 17search, predicates
cs-067cs-067 — Two Sorted HalvesIntermediateLecture 17search, preconditions
cs-068cs-068 — Peak FindingExpertLecture 17search, neighbours
cs-069cs-069 — Rank the LeaderboardBeginnerLecture 18sorting, keys
cs-070cs-070 — The Meeting MergeFoundationalLecture 18sorting, intervals
cs-071cs-071 — Closest Pair, Small nIntermediateLecture 18sorting, pair scan
cs-072cs-072 — The Kth ElementExpertLecture 18sorting, selection
cs-073cs-073 — The Palindrome WalkBeginnerLecture 19two pointers, invariants
cs-074cs-074 — The Pair Sum ContractFoundationalLecture 19two pointers, preconditions
cs-075cs-075 — Partition by ParityIntermediateLecture 19invariants, partition
cs-076cs-076 — The Slow-Fast CycleAdvancedLecture 19two pointers, termination, cycles
cs-077cs-077 — The 4-Digit LockBeginnerLecture 20brute force, search space
cs-078cs-078 — Perfect NumbersFoundationalLecture 20brute force, divisors
cs-079cs-079 — The Meeting TripleIntermediateLecture 20brute force, combinations
cs-080cs-080 — The Subset RiddleAdvancedLecture 20brute force, subsets, analysis
cs-081cs-081 — Guess the Number, FormallyBeginnerLecture 21binary search, halving
cs-082cs-082 — The First Bad VersionFoundationalLecture 21binary search, boundary
cs-083cs-083 — Book AllocationIntermediateLecture 21binary search, search on answer
cs-084cs-084 — The Rotten TimelineExpertLecture 21binary search, monotonicity
cs-085cs-085 — The Russian DollsBeginnerLecture 22recursion, base case
cs-086cs-086 — Digit Sum, TwiceFoundationalLecture 22recursion, recurrence
cs-087cs-087 — Power by HalvingIntermediateLecture 22divide and conquer, analysis
cs-088cs-088 — The Tower StepsExpertLecture 22recursion, dp preview
cs-089cs-089 — The Coin ConjectureBeginnerLecture 23greedy, counterexamples
cs-090cs-090 — The Meeting Room MarathonFoundationalLecture 23greedy, exchange argument
cs-091cs-091 — The Tolerance LadderIntermediateLecture 23dynamic programming, states
cs-092cs-092 — The Budgeted SyllabusAdvancedLecture 23dynamic programming, knapsack
cs-093cs-093 — The Friend CircleBeginnerLecture 24graphs, modeling
cs-094cs-094 — The Campus WalkFoundationalLecture 24bfs, shortest path
cs-095cs-095 — The Prerequisite ChainIntermediateLecture 24graphs, topological order
cs-096cs-096 — The Epidemic AlarmAdvancedLecture 24graphs, bfs, simulation
cs-097cs-097 — The Canteen Queue LogBeginnerLecture 25data, aggregation
cs-098cs-098 — Screen Time by CohortFoundationalLecture 25data, distributions
cs-099cs-099 — The Churn StoryIntermediateLecture 25data, rates
cs-100cs-100 — The Survey SkewExpertLecture 25data, bias, design
cs-101cs-101 — The Late Bus FrequencyBeginnerLecture 26probability, frequencies
cs-102cs-102 — The Double-Click QuestionFoundationalLecture 26probability, independence
cs-103cs-103 — The Grid Decision ReviewIntermediateLecture 26conditional probability, false positives
cs-104cs-104 — The Streak SimulationExpertLecture 26probability, simulation
cs-105cs-105 — The Room Booking AuditBeginnerLecture 27cleaning, validation
cs-106cs-106 — The Grade TyposFoundationalLecture 27cleaning, boundaries
cs-107cs-107 — The Duplicate StudentsIntermediateLecture 27deduplication, matching
cs-108cs-108 — The Sensor DropoutAdvancedLecture 27anomalies, time series
cs-109cs-109 — The Salary ParableBeginnerLecture 28mean vs median, skew
cs-110cs-110 — The Percentage MazeFoundationalLecture 28percentages, bases
cs-111cs-111 — The Waiting-Time TwistIntermediateLecture 28inspection paradox, averages
cs-112cs-112 — The Dashboard DefenceAdvancedLecture 28summary design, ethics
cs-113cs-113 — Dice Before DataBeginnerLecture 29simulation, randomness
cs-114cs-114 — The Queue Waiting GameFoundationalLecture 29simulation, queues
cs-115cs-115 — The Exam GamblerIntermediateLecture 29simulation, strategy
cs-116cs-116 — The Buffon NeedleExpertLecture 29simulation, estimation
cs-117cs-117 — The Poster BudgetBeginnerLecture 30optimization, formulation
cs-118cs-118 — The Shift ScheduleFoundationalLecture 30optimization, constraints
cs-119cs-119 — The Knapsack TwinsIntermediateLecture 30optimization, formulations
cs-120cs-120 — The Exam SeatingExpertLecture 30optimization, search
cs-121cs-121 — The Umbrella DecisionBeginnerLecture 31expected value, payoffs
cs-122cs-122 — The Game Show SwitchFoundationalLecture 31probability, strategy
cs-123cs-123 — The Insurance RiddleIntermediateLecture 31expected value, risk
cs-124cs-124 — The Auction BluffAdvancedLecture 31game theory, reasoning
cs-125cs-125 — The Library RobotBeginnerLecture 32integration, graphs, greedy
cs-126cs-126 — The Open-Day PlannerFoundationalLecture 32integration, greedy, data
cs-127cs-127 — The Data ClinicIntermediateLecture 32integration, cleaning, statistics
cs-128cs-128 — The 20-Minute FinalAdvancedLecture 32integration, strategy
cs-129cs-129 — The Missing MarksFoundationalLecture 12validation, missing values, communication
cs-130cs-130 — The Duplicate RowsIntermediateLecture 12deduplication, matching, missing values
cs-131cs-131 — The Two-Desk CounterIntermediateLecture 23simulation, service systems, trade-offs
cs-132cs-132 — The Silent RosterIntermediateLecture 13requirements, stakeholders, communication
cs-133cs-133 — The Late Bus LedgerFoundationalLecture 15scheduling, communication, assumptions
cs-134cs-134 — The Sliding Sensor WindowAdvancedLecture 18algorithm selection, trade-offs, anomalies
cs-135cs-135 — The Split That LeaksExpertLecture 28leakage, evaluation, communication
cs-136cs-136 — The Timetable CollisionAdvancedLecture 24graphs, scheduling, strategy
cs-137cs-137 — The Backup WindowAdvancedLecture 26risk, trade-offs, strategy
cs-138cs-138 — The Downtime LedgerFoundationalLecture 14reliability, aggregation, data
cs-139cs-139 — The Attendance FrameIntermediateLecture 25bias, evaluation, stakeholders
cs-140cs-140 — The Sliced AnomalyIntermediateLecture 27aggregation, bias, data
cs-141cs-141 — The Rollout MemoFoundationalLecture 16communication, stakeholders, requirements
cs-142cs-142 — The Tallied VoteBeginnerLecture 09aggregation, communication, data
cs-143cs-143 — The Shelf ReplenishmentIntermediateLecture 23inventory, greedy, trade-offs
cs-144cs-144 — Two Paths, One PostFoundationalLecture 03communication, requirements, assumptions