The coding playground
The playground is a set of timed, story-wrapped coding challenges, separate from the main curriculum, for sharpening what you have learned. Each room hands you a scenario, a starter, and hidden checks; solve it against the clock and earn your score.
660 rooms across five difficulty tiers, in every one of the 33 disciplines, all graded automatically in your browser. The first tier is free in every discipline.
Audio & DSP
20 rooms across 5 tiers. Tier 1 is free.
- Kill the DC: A cheap mic added a DC offset that wastes headroom. Subtract the mean so the waveform swings symmetrically around zero.
- Level It Out: The take is too hot in places. Peak-normalize the signal so its loudest sample sits at full scale before it hits the converter.
- Read the Meter: The loudness meter needs a number. Compute the RMS level of the buffer, the effective loudness the ear responds to.
- Tune the Oscillator: First sound of the day: generate a clean sine at the requested frequency so the rest of the patch has something to work with.
Backend Java
20 rooms across 5 tiers. Tier 1 is free.
- Decode the Query: A search box sends `hello+world` and `%20` for spaces. Decode an encoded value so the search actually finds what the user typed.
- Name the Status: Browsers show reason phrases, not bare numbers. Map a status code to its category so the monitoring page can color 4xx red and 5xx black.
- Read the Verb: The new gateway logs every request's method. Pull the verb off the front of a raw request line so the dashboard can count GETs and POSTs.
- Split the Media Type: A Content-Type can carry parameters like `text/html; charset=utf-8`. Strip them off to get the bare media type the router branches on.
Bioinformatics with Python
20 rooms across 5 tiers. Tier 1 is free.
- Complement Strand: Assay designer ordering PCR primers against the target region.
- Count the Codons: Molecular biologist profiling rare codons in a phage ORF.
- FASTA Line Reader: Pipeline engineer loading multi-record FASTA before analysis.
- GC Patrol: QC bioinformatician flagging contaminated swab sequences.
Climate Modeling
20 rooms across 5 tiers. Tier 1 is free.
- Balance the Books: The outreach exhibit needs the planet's energy ledger on one screen. Compute the absorbed sunlight per square meter from the solar constant…
- Count the Doublings: Policy counts CO2 in doublings, not ppm. Convert any concentration into doublings above pre-industrial.
- The CO2 Forcing: A policy briefing needs the radiative forcing from a CO2 level. Apply the standard logarithmic formula relating concentration to the energy…
- The Famous 255: A journalist wants THE number: the temperature Earth would have with no atmosphere. Solve the energy balance for the effective temperature.
Compilers & Interpreters
20 rooms across 5 tiers. Tier 1 is free.
- Classify the Character: Every scanner begins by asking what it is looking at. Decide whether a single character is a digit, the first question the lexer asks of ev…
- Name the Operator: The parser branches on token TYPES, not raw characters. Map a punctuation character to its operator name, the lexer's little dictionary.
- Scan the Line: Put the scanner together: turn a line of source into a list of tokens, skipping the spaces that carry no meaning. The front door of every i…
- Spot the Keyword: Names and reserved words look identical until the word is complete. Decide whether a finished word is one of the language's keywords.
Computational Chemistry with Python
20 rooms across 5 tiers. Tier 1 is free.
- Ideal Gas Check: Safety officer verifying expected moles in a pressurized nitrogen cylinder.
- Reagent Limiting Step: Reactor operator determining limiting reagent before the batch starts.
- Molar Mass Rescue: QC chemist confirming identity of an unlabeled precipitate before the morning shift.
- Percent Yield Audit: Batch chemist running a spot audit before the supervisor arrives.
Computational Neuroscience with Python
20 rooms across 5 tiers. Tier 1 is free.
- The Driving Force: Electrophysiologist computing how hard an ion is pushed across the membrane.
- Hold the Line: Electrophysiologist predicting where a current clamp will hold the voltage.
- The Membrane Clock: New student timing how fast a cell responds to a current step.
- Stored Charge: Lab tech checking how much charge a patch of membrane holds.
Computational Physics with Python
20 rooms across 5 tiers. Tier 1 is free.
- Expectation Value: Physicist computing observable before idle-timeout fires.
- Ising Energy 1D: Statistical physicist seeding a Monte Carlo sweep before cluster reservation ends.
- Logistic Map Orbit: Chaos-theory researcher populating a bifurcation plot.
- Qubit Normalization: Postdoc verifying qubit state before beam-time upload.
Concurrency in Java
20 rooms across 5 tiers. Tier 1 is free.
- Lock It Down: Eight threads, one counter, one exact total. Guard the increment with synchronized and the number lands right every time.
- On a Thread: Your first task at the lab: run a computation on a second thread and bring the answer back. Start it, join it, read the box.
- Split and Sum: The dataset is large. Split it across threads, sum each slice, and combine, the shape of every parallel job.
- Watch the Race: Before you fix a race you must see one. Simulate the read-modify-write steps and watch an update vanish.
Data Engineering
20 rooms across 5 tiers. Tier 1 is free.
- Drop the Dupes: A retry replayed the same records into the load. Remove exact duplicates, keeping the first of each.
- Log Line Split: The ingestion job choked on a raw log dump. Split it into clean, non-blank lines before anything else runs.
- Parse the Params: A tracking pixel encodes its payload as k=v&k=v. Parse the query string into a dict, where a repeated key takes its last value.
- Tally Events: The dashboard needs a count of each event type from today's batch. Group and count by the event column.
Data Science with Python
20 rooms across 5 tiers. Tier 1 is free.
- Label Encoder: ML engineer unblocking a pipeline crash before the afternoon batch.
- Mean or Median?: Data analyst with 3 minutes before a stakeholder call.
- Null Sweep: Data engineer racing a 9 a.m. stand-up after a broken ETL run.
- Z-Score Flag: Data quality engineer running a pre-batch sanity check.
Data Structures & Algorithms
20 rooms across 5 tiers. Tier 1 is free.
- Contains Duplicate: Before the fancy stuff: can you spot a repeat in one pass? Return whether any value appears more than once.
- Maximum Subarray: A trader wants the best contiguous run of daily gains and losses. Return the largest sum any contiguous slice produces (Kadane's algorithm).
- The Single Number: Every value appears twice except one. Find the loner in linear time and constant space, the famous XOR trick.
- Two Sum: The classic warm-up every interview opens with: find the two numbers that add up to the target and return their indices.
Data Structures & Algorithms in C++
20 rooms across 5 tiers. Tier 1 is free.
- Even-Channel Filter: The diagnostics board only counts channels with even IDs. Tally them.
- Peak Reading: A sensor array reports the hottest cell. Find the maximum reading.
- Telemetry Total: Mission control needs the total packet count before the downlink window closes.
- Valley Floor: An altimeter logged the descent. Report the lowest reading in the buffer.
Deep Learning with Python
20 rooms across 5 tiers. Tier 1 is free.
- Dead Neuron Audit: On-call ML engineer: the anomaly-detection service is returning flat output.
- Loss Alert: On-call ML engineer: the training monitor reports 'loss = inf'.
- Softmax Meltdown: On-call ML engineer: the recommendation model is returning NaN probabilities.
- Weight Init Hotfix: On-call ML engineer: classifier deployed with all-zero weights.
Embedded C: Firmware from Scratch
20 rooms across 5 tiers. Tier 1 is free.
- Bit Flip on the Factory Floor: Firmware engineer racing an OTA lockout window.
- Field Extract: Firmware engineer unblocking a motor-driver diagnostic tool.
- Silent GPIO: Firmware engineer fixing a smart-lock LED before the shift change.
- Watchdog Countdown: Firmware engineer stopping a reboot loop in the field.
Geospatial & Geophysics
20 rooms across 5 tiers. Tier 1 is free.
- Box the Survey: The map viewer needs an extent. Compute the bounding box around the survey's points so the camera knows where to fly.
- Clean the Fixes: A field team's GPS export is full of impossible coordinates. Keep only records whose lat/lon are physically valid before anything else runs.
- To Radians: Every trig formula in the toolkit wants radians, but the data arrives in degrees. Write the conversion the whole pipeline leans on.
- Wrap the Meridian: A flight tracker logs longitudes past 180 as the planes cross the Pacific. Normalize every longitude into [-180, 180).
GPU Computing and Graphics with Python
20 rooms across 5 tiers. Tier 1 is free.
- Parallel Scale: Color-grading pipeline engineer clearing a brightness pass before preview.
- Reduce Sum: Frame-timing profiler summing shader invocation durations for the director.
- Thread Index Map: GPU engineer verifying kernel launch configs before morning standup.
- Vec3 Dot Product: Shading engineer computing normal/light dot products for the diffuse prototype.
High-Performance Aerospace Computing with Fortran
20 rooms across 5 tiers. Tier 1 is free.
- Dot-Product Residual Check: Convergence monitor engineer racing the queue scheduler.
- Sutherland Viscosity Lookup: Boundary-layer solver engineer restoring a deleted viscosity formula.
- Unit Conversion Hotfix: Junior CFD engineer racing an overnight batch queue.
- Wing-Span Array Fill: Mesh generator engineer racing the grid partitioner at the top of the hour.
High-Performance Aerospace Computing with Fortran curriculum
High-Performance Computing in Julia
20 rooms across 5 tiers. Tier 1 is free.
- Down the Columns: Julia stores matrices column-major. Sum each column, walking the contiguous direction.
- Fold It Up: A reduction collapses a collection with a binary operation. Build a generic reduce and sum with it.
- The Stable Sum: First lesson in the speed lab: an accumulator that starts at zero of the element type stays fast and keeps its type. Sum a vector the type-…
- The Running Total: A scan keeps every partial result. Build the prefix sum, the cumulative total at each step.
Machine Design with Python
20 rooms across 5 tiers. Tier 1 is free.
- Beam Midpoint Sag: Maintenance engineer checking conveyor support beam deflection before end of shift.
- Bolt Under Pressure: Maintenance engineer doing a pre-shift bolt check on a hydraulic press frame.
- Gear Ratio Quick Check: QA inspector logging a gear swap nonconformance before the shift closes.
- Spring Rate Tag: Production technician confirming an unlabeled replacement spring before restarting the line.
Machine Learning in R
20 rooms across 5 tiers. Tier 1 is free.
- Code the Categories: A model speaks numbers, but the column is full of labels. Label-encode them to integer codes by their sorted order, deterministically.
- Fill the Holes: The training column has gaps the model cannot stomach. Impute the missing values with the mean of what is present.
- Hold Out the Test: Before anything else, set aside data the model will never train on. Compute how many rows a 20 percent test split holds out.
- Level the Features: Your features arrive in wildly different units, and the distance model is about to be dominated by the biggest one. Standardize a column to…
Natural Language Processing
20 rooms across 5 tiers. Tier 1 is free.
- Measure the Mix: Before modeling you check the corpus. Compute the type-token ratio, how varied the vocabulary really is.
- Name Every Word: A model thinks in integers, not strings. Build the sorted vocabulary that gives every word a stable home.
- Split the Stream: Every NLP system starts by cutting raw text into tokens. Lowercase, strip the punctuation, and drop the empties, the front door of the pipe…
- Two at a Time: Context begins with pairs. Slide a window of two and collect the bigrams that a language model will count.
Object-Oriented Java
20 rooms across 5 tiers. Tier 1 is free.
- Clean the Input: A signup form sends ages as raw strings, some of them garbage. Parse each to an int or fall back to a default, so the pipeline never crashe…
- Score the Password: The new account screen needs a strength meter: one point each for length, a digit, and an uppercase letter. Null or empty scores zero immed…
- Shrink the Fraction: A UI shows fractions in lowest terms, so it needs the greatest common divisor. Compute it with Euclid's recursion, the oldest algorithm sti…
- Steps to One: A math toy needs the Collatz step count: even halves, odd triples-plus-one, counting until it reaches 1. The display must update instantly.
Operating Systems
20 rooms across 5 tiers. Tier 1 is free.
- Count the CPUs: The scheduler keeps a bitmask of busy cores. Count the set bits to report how many CPUs are in use, the popcount every load monitor runs.
- Count the Forks: A junior dev put fork() in a loop and the box ran out of PIDs. Compute how many processes n straight-line forks create, before it happens a…
- Name the State: The monitoring daemon prints a one-letter code per process. Map the five lifecycle states to their letters before the dashboard ships.
- The Turnaround Desk: The batch team wants per-job numbers. Compute waiting time from arrival, burst, and completion, the metric every scheduler is judged by.
Programming for Aerospace Engineers
20 rooms across 5 tiers. Tier 1 is free.
- Burnout Velocity: Propulsion engineer sanity-checking a staging analysis before CDR slides go out.
- Density at Altitude: Avionics technician validating altimeter calibration before fueling begins.
- Orbital Sunrise Check: Flight dynamics engineer verifying a CubeSat orbit before the next status call.
- Signal RMS: Ground station operator quantifying telemetry noise before flagging anomalies.
Programming for Hackers
20 rooms across 5 tiers. Tier 1 is free.
- Caesar Intercept: Decoding a C2 beacon string before it rotates.
- Checksum Gate: Fingerprinting firmware before the update daemon times out.
- Hex Dump Rescue: Recovering a clobbered config value before the next deploy.
- Signal Noise: Security engineer triaging a live phishing report.
Programming from Scratch
20 rooms across 5 tiers. Tier 1 is free.
- The Bouncer: A doorway scanner has to decide who gets in.
- Name Tag: A badge printer needs initials from full names.
- Step Counter: A fitness band needs to tally the days a goal was hit.
- Vending Machine: The machine owes a customer change and the relay is stuck.
Quantitative Finance with Python
20 rooms across 5 tiers. Tier 1 is free.
- Coupon Yield Snapshot: Fixed-income desk quoting a dirty price to a client.
- Opening Bell Returns: Desk quant computing a performance snapshot before the 9:35 standup.
- Time-Value Quick Check: Junior analyst sanity-checking a present value before a client call.
- Variance at the Desk: Risk intern populating the morning dashboard before the committee room opens.
Robotics with C++
20 rooms across 5 tiers. Tier 1 is free.
- Battery Guard: Field tech: the robot is about to drive off a loading dock on a dying battery.
- Heading Normalizer: Navigation engineer: the IMU just reported 810 degrees and the nav stack crashed.
- Robot Identity Card: Systems engineer: the startup broadcast is blank and the lab director is watching.
- Wheel Speed Decoder: Warehouse robotics engineer with 8 minutes before the live demo.
Scientific Computing in Julia
20 rooms across 5 tiers. Tier 1 is free.
- Peak Reading: A sensor array overheated for an instant. Report the single highest reading it captured.
- Signal Average: The detector logged a burst of readings. The control room needs their average before the next sweep.
- Signal RMS: An audio meter reports loudness as the root-mean-square of the samples, not the plain average. Compute the RMS of a buffer.
- Total Flux: Each panel reported its energy collected this cycle. Sum them for the daily flux total.
SQL for Data Analysts
20 rooms across 5 tiers. Tier 1 is free.
- First Query on Deck: Data analyst answering the VP of Sales before a call.
- Product Catalog Snapshot: Data analyst pulling a pricing snapshot for a design slide.
- Region Filter: Data analyst extracting EMEA orders before a standup.
- Signup Surge Check: Data analyst counting daily signups before the all-hands.
Statistical Computing in R
20 rooms across 5 tiers. Tier 1 is free.
- Clean the Readings: A sensor logged some readings as NA when it glitched. Average the good readings only, so the dashboard shows a real number instead of NA.
- Count the Passes: A class submitted exam scores and the registrar needs the pass count. Count how many scores clear the threshold using R's logical-to-number…
- Keep the Gains: A trading log mixes gains and losses. Pull out just the winning days (positive returns) with a single logical filter.
- Tally the Ballots: Election night: a vector of votes needs the winner. Use table() to count each candidate and return whoever got the most, the one-line tally…
Systems Programming in Rust
20 rooms across 5 tiers. Tier 1 is free.
- The Classic Chant: The interview warm-up that never dies. Return Fizz, Buzz, FizzBuzz, or the number, with match-free if/else.
- Your First Borrow: Borrow a slice, do not own it. Sum its elements and hand the answer back; the caller keeps the data.
- Leap of Faith: Calendars hide a tidy rule. Decide whether a year is a leap year: divisible by 4, not 100, unless also by 400.
- Warm the Core: Every Rust program is a set of typed functions. Double a number and return it, the smallest possible expression.