Track
Home-row foundations
These lessons stay close to the core anchor zone for this layout and help establish clean, repeatable movement patterns.
53 lessons
View trackPractice Colemak with layout-aware lesson pages that explain where the focus keys sit on Colemak and link straight into live drills on SureTyping.
Each track groups Colemak lessons by the keyboard zones they focus on so you can work through the path in order or jump to the area that needs the most practice.
Track
These lessons stay close to the core anchor zone for this layout and help establish clean, repeatable movement patterns.
53 lessons
View trackTrack
These lessons add upward travel and coordination so you can leave the anchor zone without losing rhythm.
28 lessons
View trackTrack
These lessons train downward reach, edge-key control, and steadier recovery back into the center of the board.
23 lessons
View trackTrack
These lessons blend multiple zones, punctuation, numbers, or longer phrases so the layout starts working as one system.
1117 lessons
View trackEach lesson page shows the focus keys on Colemak and links directly into the live typing drill when you are ready to practice.
1221 lessons
Lesson Stage
Part of the SureTyping guided lesson path.
18 lessons
Finding the F key
Building F confidence
Finding the J key
Building J confidence
Finding the D key
Building D confidence
Finding the K key
Building K confidence
Finding the S key
Building S confidence
Finding the L key
Building L confidence
Finding the A key
Building A confidence
Finding the G key
Building G confidence
Finding the H key
Building H confidence
Foundations
Early lessons that build finger anchors, repeatable reaches, and the first real words.
21 lessons
Anchor taps
Alternating rhythm
Short anchor bursts
Home row reach
Reach recovery
Four-key coordination
Four-key recovery
Accuracy focus
Outer home rhythm
Add s & l
Left-right balance
Edge keys
Edge stability
Outer home review
Center home row
Center release
Short home-row words
Longer home-row words
Word chaining
Letters into words
Longer home-row flow
Lesson Stage
Part of the SureTyping guided lesson path.
18 lessons
Reaching for E
E confidence builder
Reaching for I
I confidence builder
Reaching for R
R confidence builder
Reaching for U
U confidence builder
Reaching for T
T confidence builder
Reaching for Y
Y confidence builder
Reaching for W
W confidence builder
Reaching for O
O confidence builder
Reaching for Q
Reaching for P
Upper Reach
Lessons that add upper-row travel, alternating-hand rhythm, and controlled reach.
18 lessons
Inner reach
Inner reach rhythm
Top row reach
Reach timing
Inner reach words
Upper-row recovery
Outer reach
Outer reach rhythm
Edge reach
Edge timing
Center reach
Center timing
Upper-row word set A
Upper-row word set B
Longer upper-row words
Word chaining
Home + top words
Longer upper-row flow
Lesson Stage
Part of the SureTyping guided lesson path.
12 lessons
Reaching for V
V confidence builder
Reaching for M
M confidence builder
Reaching for B
B confidence builder
Reaching for N
N confidence builder
Reaching for C
C confidence builder
Reaching for X
Reaching for Z
Lower Reach
Lessons that strengthen precision on the lower row and improve edge-key control.
19 lessons
Lower row intro
Lower row rhythm
Center lower reach
Center lower rhythm
Lower-row center blend
Precision taps
Lower-left precision
Rhythm control
Lower-right precision
Outer lower reach
Outer lower rhythm
Lower-row word set A
Lower-row word set B
Longer lower-row words
Word chaining
Clean word flow
Longer review
Sentence rhythm
Extended review
Word Building
Lessons that turn letter control into common words, bigrams, and connected phrases.
16 lessons
Top frequency set
Everyday words
Core fluent words
Function-word control
Sentence glue
Longer high-frequency set
High-frequency pairs
Link common patterns
Longer pair runs
Frequent three-letter chunks
Transition chaining
Connected typing
Accuracy under flow
Longer connected flow
Simple sentence control
Longer sentence control
Lesson Stage
Part of the SureTyping guided lesson path.
4 lessons
Checkpoint before capitals
Flowing multi-word groups
Complete thoughts at speed
Words, phrases, and sentences combined
Capital Letters
Lessons that teach opposite-hand Shift technique for capitals before moving into full mixed-text fluency.
8 lessons
Right Shift with left-hand home letters
Left Shift with right-hand home letters
Right Shift with left-hand reach letters
Left Shift with right-hand reach letters
Title-case words
Names and proper nouns
Sentence starts and proper nouns
Capitals in full sentences
Lesson Stage
Part of the SureTyping guided lesson path.
12 lessons
Shift with left-hand letters
Capitalize left-hand home keys
Capitalize left-hand top and bottom rows
Right Shift in real sentences
Shift with right-hand letters
Capitalize right-hand home keys
Capitalize right-hand top and bottom rows
Left Shift in real sentences
Both Shift keys in one exercise
Every word capitalized
Names, places, and days
Mixed case real-world text
Lesson Stage
Part of the SureTyping guided lesson path.
6 lessons
Words built on the two most common pairs
Rolling er and re transitions
Anchor pairs an and on in a steady stream
Suffix chunks that end thousands of words
Long-word endings in connected runs
All the core pairs and chunks in real sentences
Lesson Stage
Part of the SureTyping guided lesson path.
6 lessons
Words people mistype by dropping a letter
Near-twins your fingers love to flip
ible, able, ance, and ence under control
Spelling your ears cannot help you with
Words that read alike and land on the wrong keys
Every trap word family mixed into prose
Lesson Stage
Part of the SureTyping guided lesson path.
6 lessons
One clean capital at the start of every line
Capitals landing mid-sentence on names
Proper nouns for places, months, and weekdays
Dense title case without losing rhythm
Back-to-back capitals held down the row
Openers, names, places, titles, and acronyms combined
Lesson Stage
Part of the SureTyping guided lesson path.
7 lessons
High-frequency words at pace
Quick sentence bursts
Sustained multi-sentence rhythm
Words, numbers, and punctuation at speed
Push your WPM ceiling
Longer passage, keep the rhythm
Continue the pace without dropping
Lesson Stage
Part of the SureTyping guided lesson path.
4 lessons
Zero-mistake short word runs
Clean complete sentences
Longer text with zero tolerance
The ultimate precision test
Lesson Stage
Part of the SureTyping guided lesson path.
22 lessons
Professional email composition
Casual digital communication
Structured note-taking
Programming in practice
Formal analytical writing
Building on research
Referencing sources accurately
Formatting reference lists
Writing a clear opening argument
Supporting your argument with evidence
Wrapping up with impact
Executive summary writing
Data-driven conclusions
Actionable next steps
Establishing a scene
Adding texture to narrative
Shifting the story forward
Installation instructions
API usage examples
Contract language
Terms and conditions
Switching between styles
Lesson Stage
Part of the SureTyping guided lesson path.
10 lessons
Sustained multi-paragraph flow
News reporting, part one
News reporting, part two
News reporting, part three
The valley of frustration
Consistency over intensity
How the brain builds skill
The origins of writing
Technology expands access
The modern era
Lesson Stage
Part of the SureTyping guided lesson path.
3 lessons
Commonly swapped keys
Left-right mirror positions
Difficult stretches and returns
Full Keyboard
Lessons that combine punctuation, numbers, symbols, mixed strings, and speed-oriented review work.
10 lessons
Sentences and symbols
Longer punctuation flow
Left-side digits
Right-side digits
Reach and return
Common programming marks
Longer code rhythm
Words and transitions
Speed checkpoint
Full keyboard
Lesson Stage
Part of the SureTyping guided lesson path.
4 lessons
Short common-word sprint, hold the pace
Longer sprint at the same steady pace
Full-length sprint with simple sentences
Prove the pace holds for a full passage
Lesson Stage
Part of the SureTyping guided lesson path.
4 lessons
Everyday words at a working pace
Longer everyday sentences, no hesitation
Sustained sprint with varied vocabulary
A full passage at fifty, start to finish
Lesson Stage
Part of the SureTyping guided lesson path.
4 lessons
A word a second, light and even
Longer lines, denser words, same clock
Sustained sprint pushing into fluency
The fluency line: hold sixty for the distance
Lesson Stage
Part of the SureTyping guided lesson path.
4 lessons
Entering expert pace on common words
Longer expert sprint, zero wasted motion
Sustained expert pace with real prose
The top rung: seventy held to the last word
Lesson Stage
Part of the SureTyping guided lesson path.
5 lessons
Words separated by a single keystroke
Same-finger doubles without a stutter
Rare sequences that break autopilot
Deliberately unhurried, deliberately perfect
Every trap in one passage, zero errors allowed
Lesson Stage
Part of the SureTyping guided lesson path.
5 lessons
A full-length professional email, about 150 words
Formal report prose with figures, about 150 words
Magazine-style prose, about 150 words
Dense action-oriented briefing notes
Email, figures, and narrative prose in one sitting
Lesson Stage
Part of the SureTyping guided lesson path.
4 lessons
A sustained 200-word narrative passage
A sustained 200-word descriptive passage
A sustained 210-word reflective passage
The longest sustained passage in the course
Lesson Stage
Part of the SureTyping guided lesson path.
42 lessons
First three digits
Expanding left hand
Digits 1-5 fluency
First three right-hand digits
Completing the row
Digits 6-0 fluency
All ten digits together
Numbers in everyday text
Calculations and formulas
Ending sentences
Natural sentence endings
Pauses and lists
Joining ideas
Combined practice
Asking questions
Longer queries
Adding emphasis
Both in context
Introducing lists and explanations
Connecting related ideas
Using both confidently
Common shortened forms
Showing ownership
Quoting speech
Full conversation
Adding extra info
Technical grouping
Both in use
Email and tagging
Money and percentages
Connections and math
All special symbols
Code blocks
HTML and comparisons
Real code patterns
Everyday date formats
Digital addresses
Contact information
All punctuation in context
Business context
Academic context
The final challenge
Lesson Stage
Part of the SureTyping guided lesson path.
5 lessons
Digits drilled in the order real text uses them
Calendar numbers without looking down
Currency amounts with clean symbol reaches
Quantities, percentages, and measurements
Dates, prices, and data in one continuous run
Lesson Stage
Part of the SureTyping guided lesson path.
5 lessons
Open and close as one motion inside prose
Dialogue punctuation at full sentence speed
Compound words and ranges without slowing
Editorial marks and structured lists
Every pair woven through connected prose
Lesson Stage
Part of the SureTyping guided lesson path.
4 lessons
Sentences that keep leaving the letter rows
Punctuation-dense professional writing
Numbers, symbols, capitals, and prose combined
The full-keyboard graduation passage
Lesson Stage
Part of the SureTyping guided lesson path.
55 lessons
Free preview -- the typing demand of the test, in typeable prose
Free preview -- a timed 105-word response to measure your baseline
A longer 160-word timed passage that sets your starting numbers
High-frequency prompt and response vocabulary
Core ethics terms you will reach for again and again
A 70-word bank of ward, clinic, and rotation terms
A 75-word drill on identifying everyone a decision touches
A 70-word drill on the verbs that carry a response forward
A 75-word bank of phrases that show care without cliche
A 70-word bank of workplace and institutional terms
A 70-word bank for resource and equity scenarios
A 75-word bank for the moments a scenario turns serious
A 150-word timed passage mixing every bank in this module
Openers that anchor a thoughtful Casper answer
Linking phrases that keep a five-minute response flowing
An 85-word drill on the sentences that buy you certainty
A 90-word drill on seeing the scenario from every chair
A 90-word drill on turning reasoning into concrete steps
An 85-word drill on holding two truths in one response
An 85-word drill on endings that land instead of trail off
Commas, semicolons, colons, and em-dashes in real prose
A 155-word timed passage chaining stems into one complete arc
A full 75-word response to a classmate integrity scenario
A 78-word response to an uneven group-project scenario
A 78-word response to a confidentiality dilemma
A 78-word response to a coworker claiming your idea
A 78-word response to a volunteer-organization scenario
A 76-word response to an unfair-advantage scenario
A 78-word response to a clinical safety observation
A 77-word response to a friend asking for your prescription
Two back-to-back 55-word responses -- 112 words without a break
A 120-word response to an uncomfortable supervisor request
A 122-word response to a cultural-sensitivity scenario
A 120-word response to a resource-allocation ethics scenario
A 125-word response to a struggling teammate who copied
A 125-word response about reporting your own mistake
A 122-word response to a community access scenario
A 126-word response to a disclosure dilemma
A 123-word response to a colleague mocking clients online
A 150-word timed response with no warmup and no pausing
A 185-word realistic full-length medical ethics response
A 188-word response to an interpersonal dilemma
A 190-word response to a burned-out colleague scenario
A 192-word response to a retaliation-risk scenario
Two consecutive responses, 205 words total, no rest between
Two consecutive responses, 210 words total, at exam cadence
Three back-to-back mini-responses, just like the real block
A single 215-word response typed at full exam cadence
Three mini-responses, 265 words -- a complete Casper block
Three mini-responses, 270 words -- clinical, academic, workplace
Three mini-responses, 268 words -- community, family, research
Three mini-responses, 272 words -- pressure from every direction
Three mini-responses, 275 words -- the hardest block, full speed
A graded 285-word, three-response final at full exam cadence
A reflective 130-word wind-down to close the course
Lesson Stage
Part of the SureTyping guided lesson path.
33 lessons
The punctuation and operators you hit every day in JavaScript
Fat arrows, implicit object returns, and curried chains
?. ?? and ??= plus the ?.[] and ?.() call forms
Three dots across arrays, objects, rest params, and defaults
Backticks, ${} interpolation, multiline blocks, and tagged templates
Nested patterns, defaults, renames, and obj[key] access
Every JavaScript glyph cluster from this module in one longer drill
Reserved words grouped and repeated for rhythm
const, let, arrow functions, and classes
import, export, default, aliases, and dynamic import
await, for await, and the Promise combinators
map, filter, reduce, spread, and nullish patterns
map, filter, reduce, flatMap, at, and sort comparators
Modules, async, and array idioms inside one exported helper
if/else, for-of, while, and switch in realistic shapes
Arrow params, destructuring, defaults, and async/await
ES class syntax with #private state, getters, and toJSON
Custom Error subclasses with try/catch and Promise.allSettled
Tallying with Map, deduping with Set, grouping with Object.groupBy
Fetch a JSON feed, rank it, and render to the DOM
One document listener routing clicks through data attributes
A fetch wrapper with AbortController timeouts and retries
Two closure-based timer utilities typed without stopping
Map insertion order used as an eviction policy
A rule table reduced into a field-error map
groupBy, sum, and sort chained over an order list
node:test and assert wrapped around a slugify helper
An event-latency report typed in one continuous run
A cached fetch, a groupBy, and a ranked payout table
A complete ranked-table program over request records
A full page loop with exponential backoff and retries
An add/complete/query store persisted with node:fs/promises
An end-to-end priced order report -- the course's graded final
Lesson Stage
Part of the SureTyping guided lesson path.
33 lessons
Type annotations, generic brackets, and the punctuation you hit constantly
Nested type arguments and defaulted parameters without losing the closing bracket
Pipe and ampersand types, literal unions, and discriminated shapes
keyof, typeof, infer, conditional types, and mapped keys
Assertion operators, optional marks, and definite assignment
Function-type arrows, overload signatures, and is/asserts guards
Every TypeScript glyph cluster from this module in one longer drill
All reserved words and TypeScript-specific keywords
Interfaces, type aliases, generics, and typed functions
typeof, in, instanceof, and Array.isArray instead of any
Omit, Pick, Record, Awaited, and the Exclude/Extract pair
satisfies, mapped types, and utility type expressions
Promise.all, allSettled, race, and for await loops
A Result union with constructors and an exhaustive never check
Type guards, narrowing, and discriminated unions in real branches
Generics, overloads, and typed async handlers
Parameter properties and this-returning chains
Error subclasses narrowed with instanceof
Typed collection work with spreads and reduce
A typed fetch wrapper with a consistent response envelope
A branded id, a repository interface, and its in-memory implementation
A typed event-map emitter with keyed payloads and unsubscribe handles
A dependency-free validator returning Result<T, string[]> at full pace
A generic private send method wrapped by get and post
A cart reducer over a discriminated action union
Recursive mapped types, template literal keys, and Awaited chains
A node:test suite with typed fixtures and strict assertions
A layout leaderboard summarised and formatted in one continuous run
A complete row-to-record parser that accumulates errors instead of throwing
A full expiring cache with typed keys and a load-through helper
A complete worker loop dispatching a discriminated job union
A whole env-to-typed-shape loader with guards and range checks
A typed order-analytics pipeline -- the course's graded final
Lesson Stage
Part of the SureTyping guided lesson path.
33 lessons
Python punctuation, operators, and block glyphs
Brackets, for, and if inside comprehensions
The @ symbol on functions, methods, and classes
Braces, conversions, and alignment inside f-strings
The -> and : punctuation of modern type hints
Stars, slices, and the walrus operator
Every Python glyph cluster from this module in one longer drill
Python reserved words grouped by role
Constants, annotated variables, functions, and dataclasses
enumerate, zip, any, all, and sorted with keys
yield, yield from, and lazy pipelines
Protocol, TypeVar, and union aliases in daily use
Comprehensions, f-strings, and the walrus operator
A lazy sensor pipeline mixing this module's material
if/elif/else, loops, and match statements
Default args, star args, context managers, and async def
with blocks and @contextmanager wrappers
A custom exception hierarchy with try/except/else/finally
Tallying with collections instead of hand-rolled dicts
Structural pattern matching over dataclasses and dicts
Parse a CSV, rank by revenue, and pretty-print the result
Dataclasses, pathlib, and grouping in one pass
A backoff wrapper typed end to end without stopping
A small command-line tool at full pace
DictReader into a formatted revenue table
asyncio.gather over a batch of requests
Fixtures, parametrize, and raises without pausing
A regex log dashboard typed in one continuous run
A complete JSON-backed task tracker
A full stack evaluator with real error paths
A dataclass ledger that refuses to oversell
A log parser that ranks the slowest endpoints
A ranked sales summary -- the course's graded final
Lesson Stage
Part of the SureTyping guided lesson path.
33 lessons
Java punctuation, generics brackets, and arrow glyphs
Angle brackets, bounded types, and nested type arguments
The -> arrow and :: separator in functional positions
At-signs, annotation arguments, and stacked markers
Fluent dots, collectors, and closing parenthesis stacks
case X -> arms, comma-grouped labels, and yield bodies
Every Java glyph cluster from this module in one longer drill
Reserved words plus the modern record and sealed additions
Records, sealed interfaces, final classes, and var
map, flatMap, and orElseThrow instead of null checks
try, catch, finally, throw, and throws in rhythm
Triple-quoted blocks, formatted, and printf specifiers
Streams, collectors, and method references at a glance
A small service class mixing this module's material
Enhanced for, switch expressions, and instanceof patterns
Generic signatures, Optional returns, and varargs
Validation and normalisation inside a compact constructor
permits clauses, record patterns, and when guards
Auto-closing streams and wrapping checked exceptions
computeIfAbsent, merge, and getOrDefault on real data
A CSV sales report loaded, grouped, and printed
A generic Result type built from sealed records and switch
groupingBy, summingDouble, sorted, and limit without pausing
supplyAsync, allOf, and join across a thread pool
ConcurrentHashMap merge and AtomicLong under load
BeforeEach fixtures, assertEquals, and assertThrows
Chained comparators behind an Iterable leaderboard
A p95 latency monitor typed in one continuous run
A complete tracker built on records, sealed types, and streams
A full Files.lines program that ranks word frequencies
A Deque evaluator with underflow and divide-by-zero paths
A stock-movement program that rejects oversell
An end-to-end traffic and latency report -- the graded final
Lesson Stage
Part of the SureTyping guided lesson path.
33 lessons
C punctuation, pointer glyphs, and compound assignment
Star and ampersand in declarations, dereferences, and arithmetic
-> through pointers, . through values, and chained hops
Allocation idioms built on sizeof(*p), calloc, and realloc
Hash includes, defines, guards, and macros with arguments
printf conversions, width flags, and backslash escapes
Every C glyph cluster from this module in one longer drill
Reserved words of standard C
Variables, structs, and function prototypes
static, const, extern, volatile, and restrict in real declarations
Named types, tagged enums, unions, and function pointers
Common C one-liners
strncpy, snprintf, strcmp, and bounds-safe copies
enum, struct, switch, and const pointers mixed in one pass
Branches, loops, and switches
Small, complete C functions
A typedef struct with a paired constructor and destructor
Return codes, errno, and strerror on the failure path
Growing, appending, and freeing a heap vector
Singly linked list with insert and free
Duplicating and trimming with bounds checks
Structs, qsort comparators, and formatted output in one pass
A fixed-size circular queue typed without stopping
Masks, shifts, and toggles at full pace
Binary search paired with an insertion sort
fgets plus strtok field parsing with malformed rows
An FNV-1a hash with open-addressing probes
A priority scheduler typed in one continuous run
An argv-driven file utility with usage text and error paths
A complete stack evaluator with underflow and divide-by-zero paths
A full stdin-to-summary program with mean, min, and max
A file-backed word counter over a small open-addressed table
A log-level summary with allocation, growth, and cleanup -- the course's graded final
Lesson Stage
Part of the SureTyping guided lesson path.
33 lessons
Modern C++ punctuation rhythm
Double-colon paths through namespaces and class members
Template arguments, nested closers, and casts
make_unique, move, lock_guard, and destructors
Bracket capture lists and trailing return types
const&, &&, noexcept, and structured bindings
Every C++ glyph cluster from this module in one longer drill
Modern C++ reserved words
Types, templates, and smart pointers
Constraining templates instead of hoping for the best
Value-or-nothing and value-or-error in daily use
Modern C++ one-liners
Pipe operators, projections, and lazy adapters
A constrained range template mixing this module's material
Ranges, loops, and pattern-style switches
Small, idiomatic C++ functions
An owning handle that cleans up after itself
Typed failures returned instead of thrown
Tallying with operator[] and merging with try_emplace
Thread-safe bounded queue template
A small value type with arithmetic and spaceship
Structs, ranges, optional, and std::format in one pass
An unordered_map tally ranked without stopping
std::visit over an overloaded set at full pace
A constexpr Vec3 with free operators and normalize
jthread fan-out guarded by a lock_guard accumulator
A slugify function plus the assertions that pin it down
A slowest-event report typed in one continuous run
A complete stdin-to-ranked-table program
A full stack evaluator returning expected errors
A complete stock-movement program that rejects oversell
A full string_view parser built on from_chars and concepts
A ranked p95 latency report -- the course's graded final
Lesson Stage
Part of the SureTyping guided lesson path.
33 lessons
C# punctuation and null handling
Fat arrows in LINQ chains and expression-bodied members
?. ?? ??= and the null-forgiving bang
Angle brackets, where clauses, and nested type arguments
async Task<T>, await using, await foreach, and ConfigureAwait
Property patterns, switch arms, tuples, and out var
Every C# glyph cluster from this module in one longer drill
Modern .NET keywords
Records, nullable types, and properties
sealed, required, virtual, override, and init accessors
from, where, let, group by into, orderby, select
LINQ and modern C# one-liners
C# 12 literals, spreads, and dictionary initializers
An interface, a primary constructor, and a static helper in one pass
Pattern matching, loops, and switches
Async methods and expression bodies
Non-destructive mutation and positional deconstruction
A custom exception plus catch ... when guards
A primary-constructor service with logging and a guard clause
LINQ report over a list of records
An IAsyncEnumerable producer consumed with await foreach
Records, a join, and a grouped report typed end to end
A bounded producer and consumer typed without stopping
A generic retry helper with doubling delays at full pace
IComparer<T> with null handling driving a sorted queue
Endpoint registration blocks with route constraints
Fact and Theory attributes with InlineData rows
A latency percentile report typed in one continuous run
A complete file-to-frequency program with LINQ and GroupBy
A Stack<double> evaluator with every error path wired up
A stock-movement program that rejects oversell
Parse, group, and print a ranked table with aligned columns
A resilient async API client -- the course's graded final
Lesson Stage
Part of the SureTyping guided lesson path.
33 lessons
Go punctuation and channel arrows
The := operator and multi-value assignment
Sends, receives, and directional chan types
Star, ampersand, and nil checks on methods
Slice, map, and struct literals with backtick tags
%w wrapping plus %v %s %q %T formatting
Every Go glyph cluster from this module in one longer drill
Go reserved words drilled in rhythm
Structs, interfaces, and functions
Small interfaces, embedding, and compile-time checks
Cleanup that runs no matter which path returns
Common Go one-liners
Type parameters with [T any] and comparable
A rate limiter that mixes this module's material
Error handling, loops, and type switches
Idiomatic Go functions
A concurrency-safe type with a constructor and methods
Sentinel errors, an Error() method, and errors.As
Grouping with append and ranking with sort.Slice
HTTP handler with JSON and context
Subtests with t.Run over a case table
A bufio.Scanner log filter mixing this module's material
Handler chaining typed end to end without stopping
WaitGroup fan-out under a WithTimeout deadline
sort.Slice over aggregated totals at full pace
Marshal and unmarshal with struct tags and wrapped errors
A select loop batching work until ctx.Done()
A server with graceful shutdown typed in one continuous run
A complete stdin word counter with a ranked printout
A complete stack evaluator with explicit error returns
A full stock-movement program that rejects oversell
A channel fan-out with WaitGroup and collected results
A tabwriter latency report -- the course's graded final
Lesson Stage
Part of the SureTyping guided lesson path.
33 lessons
Rust punctuation and borrow symbols
Double-colon paths and ::<> type arguments
Tick-a annotations and angle-bracket bounds
Pattern => value pairs and range patterns
Error propagation with ? on Result chains
Vertical-bar parameter lists in iterator chains
Every Rust glyph cluster from this module in one longer drill
Rust reserved words
Structs, enums, traits, and functions
trait, impl, and generic bounds
unwrap_or, map, and if-let in daily use
Common Rust one-liners
take, zip, flatten, chunks, and friends
A custom Iterator impl mixing this module's material
Match expressions, loops, and Result handling
Idiomatic Rust functions
Chainable constructors with mut self
Display and Error impls by hand
Tallying with entry().or_insert()
CLI arg parser with error handling
Fan-out work over mpsc
Structs, iterators, and formatting in one pass
A key=value parser typed end to end without stopping
Filter-map-sum chains at full pace
Enum transitions through match on tuples
dyn dispatch over boxed shapes
A slugify function plus its test module
An event-latency report typed in one continuous run
A complete word-count library with tests
A full stdin-to-summary program
A complete stack evaluator with error paths
A full stock-movement program with rejections
A ranked traffic report -- the course's graded final
Lesson Stage
Part of the SureTyping guided lesson path.
33 lessons
Rhythm drill
Curly-brace blocks and |param| lists
:name literals, key: value, and hash rockets
Pound-brace interpolation and squiggly heredocs
&., ||=, and ternary conditionals
Two-dot ranges, *args, **opts, and &:method
Blocks, symbols, and interpolation in one longer drill
Reserved words
Variables and constants
attr_reader, initialize, and namespacing
Trailing if/unless the Ruby way
One-liners Rubyists love
each_with_object, zip, tally, and friends
An Enumerable class mixing this module's material
Idiomatic branching
Small complete methods
Value objects with the spaceship operator
begin/rescue/retry/ensure done properly
Reading, parsing, and writing settings
CSV sales report
Sharing behavior with include
Structs, grouping, and formatting in one pass
A key=value parser typed end to end without stopping
Select-sort-sum chains at full pace
OptionParser flags and banners
scan, tally, and sort_by in a tight loop
A slugify method plus its tests
An event-latency report typed in one continuous run
A complete two-class program with Enumerable
A full ARGF-to-summary program
A complete stack evaluator with error paths
A full stock-movement program with rejections
A ranked traffic report -- the course's graded final
Lesson Stage
Part of the SureTyping guided lesson path.
33 lessons
Rhythm drill
$vars, $this->, and static:: access
->, =>, and ?-> chains
??, ??=, and elvis-style defaults
Curly interpolation, concatenation, and heredocs
Spreads, destructuring, and nested literals
Dollars, arrows, and ?? in one longer drill
Reserved words
Variables and constants
implements, use, and final classes
Backed enums and match expressions
Modern PHP one-liners
array_column, usort, and the spaceship
A named-constructor value object with match
Loops and branches
Typed functions
Named constructors for domain errors
JSON_THROW_ON_ERROR round trips
Streaming a log file line by line
Enum and readonly class
Bound parameters done safely
Readonly objects, array functions, and sprintf in one pass
A key=value parser typed end to end without stopping
Filter, usort, and slice at full pace
A tiny HTTP router built on match(true)
filter_var and friendly error maps
A slugify helper plus its tests
An event-latency report typed in one continuous run
A complete readonly-class cart program
A full STDIN-to-summary program
A complete stack evaluator with error paths
A full stock-movement program with rejections
A ranked traffic report -- the course's graded final
Lesson Stage
Part of the SureTyping guided lesson path.
33 lessons
Swift punctuation, optionals, and operator glyphs
Chaining, nil-coalescing, and the force-unwrap bang
Trailing braces with $0 and $1
Backslash-paren blocks and multi-line literals
Backslash-dot key paths, @ attributes, and #available
Closed ... and half-open ..< in loops and subscripts
Every Swift glyph cluster from this module in one longer drill
Swift reserved words
let, var, and explicit types
guard let, guard case, and throwing on failure
Default implementations and constrained extensions
Closures and optionals in daily use
compactMap, grouping, first(where:), and friends
A custom Sequence mixing this module's material
Loops, guards, and branch ladders
Typed signatures, defaults, and async throws
Payload cases and exhaustive switches
Custom errors with CustomStringConvertible
CodingKeys, decoding, and pretty-printed encoding
Model plus view-model with async refresh
Isolated state and structured concurrency
Structs, optionals, and formatting in one pass
A key=value parser typed end to end without stopping
filter-sort-reduce chains at full pace
Enum transitions through a switch on tuples
any Shape dispatch across conforming structs
A slugify function plus its XCTest case
An event-latency report typed in one continuous run
A complete networking layer with typed errors
A full stdin-to-summary program
A complete stack evaluator with error paths
A full stock-movement program with rejections
A ranked traffic report -- the course's graded final
Lesson Stage
Part of the SureTyping guided lesson path.
33 lessons
Kotlin punctuation and null-safety glyphs
Safe calls, the Elvis operator, and the double bang
Trailing braces, implicit it, and method references
Dollar signs, curly blocks, and raw strings
Angle brackets, out projections, and :: references
Double-dot ranges, until, downTo, and step
Every Kotlin glyph cluster from this module in one longer drill
Kotlin reserved words
val, var, and explicit types
Default arguments, copy(), and destructuring
Exhaustive branches over sealed interfaces
Scope functions and null-safe one-liners
associateBy, groupBy, partition, and friends
A custom Iterable mixing this module's material
when branches and loops
Default arguments, expression bodies, and suspend
Modelling success, failure, and pending states
require, custom exceptions, and Result chaining
Extending types you do not own
Coroutine API client with a sealed load state
flow builders, operators, and structured concurrency
Data classes, operators, and formatting in one pass
A key=value parser typed end to end without stopping
filter-sort-sumOf chains at full pace
Enum transitions through when over pairs
apply, receivers, and a typesafe request builder
A slugify function plus its kotlin.test suite
An event-latency report typed in one continuous run
A complete caching layer over a suspend repository
A full stdin-to-summary program
A complete stack evaluator with error paths
A full stock-movement program with rejections
A ranked traffic report -- the course's graded final
Lesson Stage
Part of the SureTyping guided lesson path.
33 lessons
SQL punctuation and comparison operators
Double-quoted identifiers, string literals, and :: casts
BETWEEN, IN, LIKE, ILIKE, and IS DISTINCT FROM
The -> ->> #>> @> family
ARRAY literals, ANY, unnest, and string_agg
Bound parameters with COALESCE, NULLIF, GREATEST
Every SQL operator family from this module in one query
Core ANSI SQL reserved words
Tables, indexes, and views
INNER, LEFT, FULL OUTER, and LATERAL
ON CONFLICT, UPDATE FROM, and DELETE USING
Common SQL one-liners
HAVING, aggregate FILTER clauses, and DISTINCT ON
A CTE, a join, and a HAVING clause in one longer query
CASE expressions, filters, and joins
Aggregates and window functions
Stacked WITH blocks that read top to bottom
ROW_NUMBER, RANK, LAG, and running totals
Correlated lookups without accidental cross joins
Monthly revenue report with CTEs and window
BEGIN/COMMIT, FOR UPDATE, and index maintenance
A sensor summary joining CTEs, aggregates, and HAVING
A rolling 30-day activity report typed without stopping
Boolean aggregates rolled into a single funnel row
ROW_NUMBER plus DELETE USING at full pace
generate_series joined against sparse counts
INSERT ... SELECT ... ON CONFLICT in one continuous run
A latency percentile report typed in one continuous run
A customer cohort report joining three CTEs
A complete two-stage aggregation report
Signed movements rolled into stock levels and status
Partitioned ranking with a display-name fallback
A ranked traffic report -- the course's graded final
Lesson Stage
Part of the SureTyping guided lesson path.
33 lessons
Angle brackets, attribute quotes, and CSS punctuation.
Opening, closing, and self-closing tags with quoted attributes.
Classes, ids, combinators, pseudo-classes, and attribute matches.
px, rem, ch, hex, rgb(), and timing values.
Double-dash declarations and var() with fallbacks.
Ampersand escapes for reserved characters.
Every markup and stylesheet glyph from this module in one drill.
HTML tag names and CSS at-rules, properties, and values.
Doctype, meta tags, CSS custom properties, and base rules.
header, nav, main, article, aside, footer, and ARIA labels.
label, input, select, fieldset, and the attributes they need.
Common flex, grid, and utility patterns you reach for daily.
grid-template, sticky positioning, and logical properties.
A semantic pricing block with its stylesheet in one pass.
Media queries, container queries, and :has() conditional styling.
CSS functions like calc(), clamp(), minmax(), and color-mix().
A wrapping nav bar built with flex and gap.
A named-area application shell that reflows on small screens.
caption, thead, scope attributes, and zebra striping.
A responsive landing-page hero with semantic HTML and modern CSS.
Entrance animation with a reduced-motion escape hatch.
A responsive stat strip with dark-mode overrides.
A full custom-property sheet typed without stopping.
A component sheet with modifiers and focus states.
Markup and stylesheet for a labelled form at full pace.
Four media queries and a container query in one run.
Stack, cluster, center, and screen-reader helpers.
A container-query card component typed in one continuous run.
A complete card grid with custom properties, grid, and dark mode.
A two-plan pricing block, markup and stylesheet complete.
A full HTML document with head metadata and prose styles.
Grid areas, a sidebar nav, and a responsive stat row.
A complete landing page -- the course's graded final.
Lesson Stage
Part of the SureTyping guided lesson path.
33 lessons
Shell punctuation, special parameters, and redirections
$( ) substitution, ${ } braces, and $(( )) arithmetic
[[ ]] string tests and (( )) arithmetic tests
Streams, tee, process substitution, and heredocs
Single versus double quotes and $'...' literals
Wildcards, {a,b} lists, and numeric ranges
Every shell glyph cluster from this module in one longer drill
Bash reserved words
Variables, arrays, and declare flags
Indexing, expansion, and keyed lookups
Dispatch tables and wait loops
Parameter expansion in daily use
Defaults, required values, trimming, and case folding
A field tally built from a pipe, an array, and a sort
Loops, arithmetic conditions, and tests
Shell helpers with locals and guards
Field extraction, sums, and formatted output
In-place edits, line ranges, and recursive searches
mktemp, lock files, and cleanup that always runs
Deploy script with logging, traps, and argument parsing
Null-delimited batches and parallel fan-out
A sensor summary built from awk inside a guarded script
A key=value parser typed end to end without stopping
awk, sort, and uniq chained at full pace
Flags, values, usage text, and OPTIND in one run
A curl health check with backoff and exit codes
A slugify function plus a hand-rolled assertion harness
An event-latency report typed in one continuous run
A complete backup script with logging, guards, and retention
A full stdin-to-summary program with validation
A complete stack evaluator with error paths
A full stock-movement program with rejections
A ranked traffic report -- the course's graded final
Lesson Stage
Part of the SureTyping guided lesson path.
56 lessons
A 90-word orientation you can type in one sitting
A 110-word timed response to measure your starting point
A 150-word timed baseline mixing orientation facts and response prose
Core words that appear in almost every Kira response
A 60-word rotation of leadership vocabulary
A 62-word rotation of collaboration and conflict vocabulary
A 60-word rotation for failure, mistake, and growth prompts
A 58-word rotation for why-this-program prompts
A 58-word rotation of integrity and judgment vocabulary
An 80-word bank of phrases that describe what you did
An 82-word bank of phrases that describe what you learned
A 95-word drill that puts the word banks into real sentences
A 150-word timed drill mixing every word bank in flowing prose
Opening phrases you can lean on when the timer starts
An 85-word bank of first sentences that frame the prompt
An 88-word bank of mid-response transitions
An 80-word bank of final sentences that land the answer
A 100-word drill typing the situation-task-action-result shape
A 105-word drill on the four-move argument shape
A 95-word drill on concrete, checkable detail
A 92-word drill on credible self-assessment phrases
A 110-word drill combining openers, transitions, and closers
A 155-word timed drill chaining stems into a complete response
A 100-120 word answer to a team leadership prompt
A 100-120 word answer to a failure prompt
A 105-word answer to a workplace teamwork prompt
A 108-word answer to a motivation prompt, community setting
A 110-word answer to an academic conflict prompt
A 106-word answer to an initiative prompt, clinical setting
A 112-word answer to a feedback prompt, workplace setting
A 104-word answer to an adaptability prompt
Two back-to-back 100-word answers, 200 words total, no pause between
A 150-180 word answer to a team conflict scenario
A 155-word answer to a failure prompt, research setting
A 160-word answer to a leadership prompt, community setting
A 158-word answer to an integrity prompt, workplace setting
A 150-word answer to a why-this-program prompt
A 162-word answer to a resilience prompt, personal and clinical
A 130-word continuous drill: type straight through, no backspace
A 135-word continuous drill at response cadence, no backspace
A 175-word timed response mixing conflict, ownership, and reflection
A 180-220 word Kira-style answer on motivation for the program
A 200-word sustained response at full test cadence
A 195-word sustained response about productive conflict
A 205-word sustained response on failure and long-term growth
A 190-word sustained response on community contribution
Two consecutive 100-word responses, 200 words total, real cadence
Two consecutive responses, 210 words total, no recovery pause
A 215-word continuous response at full simulation length
Two written follow-ups, 250 words total, at real test cadence
Two written follow-ups, 260 words total, ethics and self-awareness
Two written follow-ups, 255 words total, failure and motivation
Two written follow-ups, 265 words total, collaboration and pressure
Two written follow-ups, 270 words total, growth and future practice
A 300-word graded final mixing every skill in the course
A relaxed 120-word review of the habits this course built
Lesson Stage
Part of the SureTyping guided lesson path.
56 lessons
An 85-word orientation to the written side of Duet
A 95-word rationale typed against the clock -- your baseline
A 150-word timed diagnostic mixing ranking, defense, and tradeoff
The 60-word master list of Duet values terms
A 70-word drill on clinical-care values words in context
A 72-word drill on justice-family values words in context
A 74-word drill on integrity-family values words in context
A 76-word drill on resource-values words in context
A 78-word drill on the connective words every ranking needs
An 80-word bank of priority-claim phrases typed as prose
An 82-word bank of tension-naming phrases typed as prose
A 75-word drill on public-facing values words in context
A 155-word timed passage weaving the module's vocabulary into live reasoning
Opening stems that structure a written Duet justification
An 85-word drill on first-sentence templates for any ranking
An 88-word drill on sentence shapes that compare two profiles
An 84-word drill on the connective tissue between ranking moves
A 90-word drill on the concession sentence that closes strong rationales
An 86-word drill on final sentences that land the rationale
An 88-word drill on acknowledging the other side without folding
A 92-word no-pause drill typing complete four-value orderings
A 95-word drill on commas, colons, semicolons, and dashes in ranking prose
A 160-word timed passage assembling the module's templates into one response
A 110-130 word healthcare-scenario rationale
A 110-130 word educational-scenario rationale
A 105-word clinical rationale on safety versus efficiency
A 108-word academic rationale on fairness versus seniority
A 106-word workplace rationale on honesty versus loyalty
A 110-word community rationale on urgent need versus sustainability
A 104-word clinical rationale on consent versus throughput
A 107-word workplace rationale on impartiality versus friendship
A 165-word timed block -- two short rationales typed back to back
A 150-180 word response weighing competing values
A 145-word clinical rationale ranking four values under pressure
A 140-word academic rationale on transparency versus discretion
A 150-word workplace rationale on accountability versus self-preservation
A 145-word community rationale on inclusion versus economic growth
A 135-word continuous drill -- four mini-rankings, zero pauses
A 130-word continuous drill on typing concessions without stalling
A 148-word clinical rationale on education versus patient preference
A 170-word timed rationale demanding every mid-length skill at once
A 180-220 word ranking and defense
A 190-word sustained rationale on public safety versus company survival
A 185-word sustained rationale on merit, need, and the donor's wishes
A 195-word sustained rationale on confidentiality inside a small community
Two complete rationales, 200 words total, typed in one sitting
Two complete rationales, 205 words total, at real test cadence
A 200-word sustained rationale on housing, heritage, and who gets heard
A 210-word timed defense mixing every endurance skill in the module
Two full rationales, 250 words total, under one continuous clock
Two full rationales, 260 words total, academic and community scenarios
Two full rationales, 265 words total, clinical and workplace scenarios
Two full rationales, 270 words total, policy and education scenarios
Two full rationales, 275 words total, the hardest pairings in the course
A 290-word graded final -- one scenario, one full ranking, every skill
A 110-word reflective review to close the course
Lesson Stage
Part of the SureTyping guided lesson path.
55 lessons
A 100-word orientation to the written side of Snapshot
A timed 65-word reflection -- type it once, note your speed and accuracy
A 135-word timed passage that sets your starting numbers
High-frequency words for one and two minute reflections
A 55-word bank of the action words reflective answers run on
A 55-word bank of honest emotional vocabulary
A 55-word bank for talking about progress without cliches
A 65-word bank of the glue words that hold short reflections together
A 55-word bank of the people and settings your stories live in
A 55-word bank of value words worth having in your fingers
A 55-word bank spanning clinical, academic, workplace, and community life
A 75-word bank of ready-made phrases for reflective answers
A 125-word timed passage built from this module's word banks
Short hooks that buy you time to think on Snapshot follow-ups
A 105-word drill on the three-sentence shape that fits any window
A 100-word drill moving smoothly between ideas mid-response
A 95-word bank of endings that land instead of trailing off
A 95-word drill on extending an answer you just gave out loud
A 100-word drill on sounding truthful without undermining yourself
A 95-word drill on landing a concrete example in one sentence
A 100-word drill on naming the cost of your own choices
A 110-word run combining openers, transitions, tradeoffs, and closers
A 140-word timed passage chaining every template in the module
A tight 60-80 word reflective paragraph
A tight 60-80 word reflective paragraph
A 75-word reflection from a free-clinic waiting room
A 78-word reflection on an academic setback
A 74-word reflection on a workplace disagreement
A 72-word reflection on ordinary service
A 70-word reflection on a daily habit
A 74-word reflection on the shortest feedback I ever received
Three back-to-back 55-word reflections, 165 words in total
A 130-160 word deeper reflection
A 150-word reflection on a manager who shaped my standards
A 155-word reflection on disagreeing without damage
A 150-word reflection on a research failure and its lesson
A 150-word reflection on values observed in a clinical setting
A 150-word reflection on teamwork during a community project
A 135-word steady passage -- type straight through, no backspacing
A 140-word reflective passage typed straight through, no backspacing
A 170-word timed reflection mixing the module's themes
Two paired responses totaling 200-240 words
Two back-to-back reflections totaling about 190 words
Two back-to-back reflections totaling about 200 words
A single 200-word response held at steady cadence
A single 205-word response held at steady cadence
Three quick follow-ups at test rhythm, about 195 words total
A 210-word paired block mixing the module's themes at test rhythm
Three written follow-ups at full length, about 250 words
Three written follow-ups at full length, about 255 words
Two longer written follow-ups, about 250 words total
Three written follow-ups at full length, about 260 words
Three written follow-ups at full length, about 265 words
The graded final -- three follow-ups, about 270 words at full test cadence
A relaxed 95-word review lap -- no timer pressure, just smooth typing
Lesson Stage
Part of the SureTyping guided lesson path.
55 lessons
A 100-word orientation to the AWA typing workload
A timed 110-word essay block to set your baseline
A timed 150-word block mixing claim, evidence, and close
Formal vocabulary expected in a 30-minute GRE essay
A 60-word rotation of argument-analysis terms
A 60-word rotation of evidence-handling terms
A 70-word drill on qualifiers that keep claims defensible
A 65-word drill on the language of disagreement
A 75-word drill of phrase pairs that recur in strong essays
A 75-word drill placing precise verbs in short sentences
A 100-word drill weaving formal vocabulary into flowing prose
A timed 150-word relay mixing every vocabulary drill in this module
Connecting phrases that move an essay forward without clutter
An 85-word drill of thesis shapes you can adapt to any prompt
A 90-word drill of openers that announce a paragraph's job
An 85-word drill of phrases that introduce and interpret support
A 90-word drill of concede-then-answer sentence pairs
An 85-word drill of closings that resolve without repeating
A 95-word drill of first sentences on varied Issue themes
A 110-word passage showing pivots inside real paragraphs
A timed 160-word relay chaining thesis, topic, evidence, and close
A 130-160 word original introduction on an Issue prompt
A 110-word thesis-plus-support paragraph on a technology prompt
A 110-word paragraph staking a qualified position on testing
A 105-word paragraph arguing from a concrete civic example
A 110-word paragraph testing a claim against its strongest objection
A 110-word paragraph reasoning about unpredictable payoffs
A 105-word paragraph on a governance prompt with a clear close
A 100-word burst of complete claims -- type without pausing
A timed 210-word double block on two unrelated prompts
A 180-220 word original body paragraph with analysis
A 180-220 word paragraph analyzing an argument's flaws
A 185-word body paragraph built on a historical comparison
A 180-word body paragraph tracing incentives to outcomes
A 175-word paragraph granting the objection its full strength first
A 180-word paragraph that earns its general claim from one case
A 120-word conclusion that resolves without restating
A 140-word unbroken analytical passage -- keep the cursor moving
A timed 220-word block chaining a body paragraph into a close
A 320-380 word combined essay opening for the 30-minute drill
A 200-word double paragraph typed at steady essay pace
A 205-word double paragraph on a policy prompt
A 190-word drill pairing an introduction with its conclusion
A 215-word set of two unrelated blocks with no reset between
A 180-word single paragraph -- hold one even pace throughout
A 165-word passage typed the way a final read-through sounds
A 190-word relay moving from word bank to frames to full prose
A timed 230-word sustained block -- half a real essay's length
A timed 290-word block -- one section of the real 30-minute essay
A timed 280-word block -- one section of the real 30-minute essay
A timed 300-word block -- one section of the real 30-minute essay
A timed 290-word block -- one section of the real 30-minute essay
A timed 310-word block -- one section of the real 30-minute essay
A graded 320-word finale at full 30-minute cadence
A slow 75-word accuracy pass -- precision over pace
Lesson Stage
Part of the SureTyping guided lesson path.
55 lessons
A 100-word orientation to the LSAT Writing typing workload
A timed 110-word decision block to set your baseline
A timed 150-word block with a choice, a reason, and a concession
Vocabulary that signals clear legal-style reasoning
A 60-word rotation of terms from the law's neighborhood
A 65-word drill on the language of stated standards
A 70-word drill on comparative judgment phrases
A 75-word drill placing precise argument verbs in short sentences
A 75-word drill of phrase pairs that recur in strong samples
A 70-word drill on qualifiers that keep a recommendation honest
A 100-word drill weaving decision vocabulary into flowing prose
A timed 150-word relay mixing every vocabulary drill in this module
Sentence frames for announcing and defending a choice
An 85-word drill of first sentences that commit immediately
A 90-word drill of sentences that measure options against standards
A 90-word drill of honest acknowledgments of the other option
A 90-word drill of sentences that answer the concession
An 85-word drill naming what each option buys and surrenders
An 85-word drill of endings that resolve the weighing cleanly
A 110-word passage that walks the five-block essay shape
A timed 160-word relay chaining opener, criteria, concession, and close
A 130-160 word paragraph announcing and framing a choice
A 105-word response defending the reversible option
A 110-word response weighing this year against next
A 105-word response measuring the six weeks against the eighteen months
A 105-word response on cost, timing, and postponement
A 115-word response that answers its own strongest objection
A 110-word response on recoverable and unrecoverable losses
An 85-word drill of openers typed without pausing
A timed 155-word block chaining two complete short responses
A 180-220 word paragraph building the affirmative case
A 180-220 word paragraph acknowledging and rebutting the alternative
A 175-word body block that lets a stated ranking do the work
A 170-word body block built only from supplied facts
A 165-word body block choosing the recoverable mistake
A 180-word block that refuses to weaken the objection
A 175-word block that rebuts without dismissing
A 130-word ending that finishes the weighing instead of restating it
A 100-word drill of concessions that pivot in the same breath
A timed 195-word relay running support, counter, and close
A 185-word run from the opening commitment through the first reason
A 190-word run pairing the affirmative case with its best objection
A 185-word run from ranked criteria to a resolved ending
A 180-word run that commits early and resolves cleanly
A 185-word run resolving three unrelated decisions in sequence
A 195-word passage on pacing the session, typed at that pace
A 180-word passage on the five moves of the last four minutes
A timed 215-word block running frame, decision, counter, and close
A timed 410-word full draft -- framing, decision, counter, and close
A timed 315-word decision essay on access and irreversible risk
A timed 315-word decision essay on stability against capability
A timed 320-word decision essay weighing depth against completion
A timed 315-word decision essay on concentration against diversification
A graded 350-word essay -- the full 35-minute workload end to end
A 150-word review passage to type slowly after the final
Lesson Stage
Part of the SureTyping guided lesson path.
55 lessons
A 110-word orientation to what the clock actually charges you
A timed restatement plus a short Python solution to set your baseline
A timed 150-word block mixing restatement, code, and a complexity note
Common assessment function signatures across languages
Imports and class skeletons every assessment begins with
A 16-line drill of declaration shapes in Python, Java, and Go
A 15-line drill of stdin parsing, the mini problem before the problem
A 20-line drill of the linked-list and tree definitions you retype constantly
A 18-line drill of the main blocks that prove a solution runs
A 70-token drill of the symbol runs that slow every language down
A 16-line drill of the dense bracket work that costs the most keystrokes
A timed 22-line relay from empty editor to a running, tested skeleton
An 85-word drill of the sentences that prove you read the prompt
A 90-word drill of the limits that decide which approach fits
A 95-word drill explaining running time the way a reviewer wants to read it
An 85-word drill of the cases that separate a passing submission from a partial one
A 16-line drill of comments in four comment syntaxes
A 17-line drill of the plan you sketch before you commit to syntax
An 80-word drill of the questions worth asking before you type
A 100-word drill of the paragraph that frames a solution before the code
A timed 160-word relay chaining restatement, constraints, plan, and complexity
A working two-sum on a sorted array in Python
Longest substring without repeating characters in JavaScript
An 18-line Python drill on the exact-match and lower-bound variants
A 17-line Java drill on frequency maps and anagram grouping
A 19-line Python drill on running totals and subarray counting
A 20-line TypeScript drill on the classic validity check
A 18-line drill on custom orderings in Python, Java, and Go
A 20-line C++ drill on swapping without extra allocation
A timed 26-line relay chaining a window, a binary search, and a counter
A reusable breadth-first search template in Python
Bottom-up coin change in Python
A 22-line Python drill on depth, path sums, and traversal order
A 24-line Python drill on flood fill and connected-component counting
A 21-line Python drill on top-down caching and grid paths
A 23-line Python drill on subsets, permutations, and the undo step
A 20-line drill on the k-largest pattern in Python and Java
A 22-line Python drill on disjoint sets with path compression
A timed 27-line relay chaining a graph build, a search, and a DP table
A 170-word block running the full answer shape without a pause
A 34-line Python program with a helper, a solver, and a harness
A 180-word block narrating a bug and typing the corrected function
A 175-word block retyping a working solution into its cleaner form
A 200-word block solving two short problems without stopping between them
A 30-line block typing the parsing ritual and the solve in one run
A 185-word block alternating prose and code at even pace
A 190-word block typing the same solution twice, in Python and in Go
A timed 210-word block with restatement, edge cases, solution, and analysis
A timed 250-word answer -- restatement, solution, and analysis
A timed 260-word answer in JavaScript with a full test harness
A timed 280-word answer -- a topological sort with cycle detection
A timed 270-word answer -- parsing, counting, and formatted output
A timed 290-word answer -- a dynamic programming table with a space reduction
A graded 320-word block -- clarify, restate, plan, implement, analyze
A 130-word prose review to close the course at an easy pace
Get the course
Save $18 · 32%These beginner lessons are free. Complete Colemak Mastery adds the intermediate, advanced, and punctuation & numbers courses — one-time purchase, lifetime access.
$57 if bought separately — this bundle is $39, saving you $18.
One-time purchase · lifetime access · first 2 lessons free · 30-day money-back guarantee
Each stage of the Colemak path sells separately. The bundle above costs less than any two of them together.