Exercise stories


Via the menu entries in this section you can browse through the different stories that were already invented for Concept Exercises.

Additionally, the table below gives an overview which exercises are currently used to teach which concepts. The last column includes links to the respective implementations in the tracks.

(The table below is currently auto-generated every now and then with this script. No need to update manually.)

Exercise Slug Concepts Tracks
lasagna basics, variables, functions, integer-introduction, comments, constants, type-annotations abap (wip), elixir, go, java, javascript, jq, julia (wip), nim (wip), ruby, swift, unison (wip)
bird-watcher arrays, for-loops, foreach-loops, vectors, increment-decrement csharp, clojure, fsharp, go, java, javascript
lucians-luscious-lasagna basics, basics-1, functions csharp, clojure, elm, fsharp, haskell, kotlin (wip), rust
annalyns-infiltration booleans csharp, clojure, elm, fsharp, go, java, javascript, kotlin (wip)
secure-munchester-united casting csharp
squeaky-clean chars, string-builder csharp, clojure (wip), java
elons-toys classes, methods csharp, go
authentication-system constants, defensive-copying, readonly-collections csharp
need-for-speed constructors, alias, import, structs csharp, elixir, go, java
booking-up-for-beauty datetimes, time csharp, fsharp, go
international-calling-connoisseur dictionaries csharp, clojure (wip)
logs-logs-logs enums, runes csharp, go
faceid-2 equality, sets csharp
calculator-conundrum exceptions, exception-handling csharp, java (wip)
the-weather-in-deather ternary-operators, expression-bodied-members, switch-expressions, throw-expressions csharp
attack-of-the-trolls attributes, flag-enums csharp
interest-is-interesting do-while-loops, floating-point-numbers, while-loops csharp, clojure, fsharp, go
wizards-and-warriors inheritance csharp, java
hyper-optimized-telemetry integral-numbers csharp
remote-control-competition interfaces, ordering csharp, java
tracks-on-tracks-on-tracks generic-types, lists csharp, clojure, elm, fsharp
wizards-and-warriors-2 method-overloading, named-arguments, optional-parameters csharp
red-vs-blue-darwin-style namespaces csharp
remote-control-cleanup nested-types csharp
tim-from-marketing nullability csharp
cars-assemble if-statements, numbers, conditionals, if-then-else-expressions, arithmetic-operators csharp, clojure, fsharp, go, java
developer-privileges object-initializers csharp
hyperia-forex operator-overloading csharp
hyperinflation-hits-hyperia overflow csharp
building-telemetry parameters csharp
weighing-machine properties csharp
roll-the-die randomness csharp
parsing-log-files regular-expressions csharp, go
object-relational-mapping resource-cleanup csharp
orm-in-one-go resource-lifetime csharp
high-school-sweethearts string-formatting, verbatim-strings csharp
log-levels strings, enums csharp, cpp (wip), clojure, common-lisp, fsharp, java, python (wip)
land-grab-in-space structs csharp
football-match-reports switch-statements, switch-statement csharp, java
beauty-salon-goes-global time, timezone csharp
phone-number-analysis tuples csharp
instruments-of-texas user-defined-exceptions, exception-filtering csharp
log-analysis extension-methods csharp
elyses-destructured-enchantments sequential-destructuring, array-destructuring, rest-and-spread clojure, javascript
date-parser clojure (wip)
coordinate-transformation closures clojure (wip), javascript
socks-and-sexprs comments, expressions, cons, symbols common-lisp
key-comparison equality common-lisp
pizza-pi integers, floating-point-numbers, arithmetic common-lisp
leslies-lists lists common-lisp
pal-picker conditionals, truthy-and-falsy common-lisp
lillys-lasagna functions common-lisp
lillys-lasagna-leftovers lambda-list, keyword-parameters, optional-parameters, rest-parameters common-lisp
character-study characters common-lisp
larrys-winning-checker arrays, vectors common-lisp
high-scores hash-tables common-lisp
lucys-magnificent-mapper mapping, filtering common-lisp
gigasecond-anniversary date-time, multiple-values common-lisp
logans-numeric-partition reducing common-lisp
reporting-for-duty format-basics common-lisp
futures futures dart (wip)
numbers numbers-basic, type-conversion dart (wip)
strings strings-basic dart (wip)
pacman-rules booleans elixir, haskell (wip), unison (wip)
freelancer-rates integers, floating-point-numbers, numbers, arithmetic-operators elixir, javascript, swift
secrets anonymous-functions, bit-manipulation elixir
log-level cond, atoms elixir
language-list lists elixir
guessing-game multiple-clause-functions, guards, default-arguments, pattern-matching, pattern-matching-literals elixir, fsharp, haskell
kitchen-calculator tuples, pattern-matching elixir
high-school-sweetheart strings, pipe-operator elixir
bird-count recursion, arrays, enumeration elixir, jq, ruby
high-score module-attributes-as-constants, maps elixir
city-office docs, typespecs elixir
german-sysadmin charlists, case elixir
rpg-character-sheet io elixir
name-badge nil, if elixir
take-a-number processes, pids elixir
wine-cellar keyword-lists elixir
dna-encoding bitstrings, tail-call-recursion elixir
library-fees dates-and-time elixir
basketball-website access-behaviour elixir
boutique-inventory enum, advanced-enumeration elixir, ruby
file-sniffer binaries elixir
newsletter file elixir
chessboard ranges, range-iteration, type-definitions elixir, go
remote-control-car structs, functions elixir, jq
boutique-suggestions list-comprehensions elixir
community-garden agent elixir
bread-and-potions protocols elixir
captains-log erlang-libraries, randomness elixir
rpn-calculator errors, try-rescue, vec-stack elixir, rust
stack-underflow exceptions elixir
rpn-calculator-output try-rescue-else-after, dynamic-dispatch elixir (wip)
rpn-calculator-inspection links, tasks elixir
lucas-numbers streams elixir
new-passport with elixir
top-secret ast elixir
dancing-dots behaviours, use elixir
take-a-number-deluxe genserver elixir
log-parser regular-expressions elixir
bettys-bike-shop basics-2 elm
bandwagoner records elm, fsharp
valentines-day custom-types, discriminated-unions, algebraic-data-types elm, fsharp, haskell
tisbury-treasure-hunt tuples elm, fsharp, python
role-playing-game maybe, option elm, rust
go result elm
ticket-please pattern-matching elm
marios-marvellous-lasagna let elm
top-scorers dict elm
paolas-prestigious-pizza parsing elm
monster-attack partial-application-composition elm
blorkemon-cards comparison elm
gotta-snatch-em-all set elm
treasure-chest generics elm
secure-treasure-chest opaque-types elm
treasure-factory phantom-types elm
pizza-pricing recursion fsharp
party-robot string-formatting, packages go
weather-forecast comments go
savings-account constants, loops, modules go (wip), ruby
blackjack conditionals-switch, conditionals-if go, java
vehicle-purchase comparison, conditionals-if, conditionals, compare, booleans, conditionals-guard, conditionals-switch, ternary-operator go, javascript, jq, swift
gross-store maps go
lasagna-master functions, function-overloading, multiple-return-values, default-parameters, variadic-parameters, inout-parameters, nested-functions go, javascript, swift
card-tricks slices, variadic-functions go
sorting-room type-assertion, type-conversion go
airport-robot interfaces go
the-farm errors go
census zero-values go
welcome-to-tech-palace strings, strings-package go
election-day pointers go
expenses first-class-functions go
animal-magic randomness go
meteorology stringers go
temperature numbers haskell
karls-languages lists, generic-types java
elons-toy-car classes java
salary-calculator ternary-operators java
poetry-club-door-policy strings javascript
elyses-enchantments arrays javascript
mixed-juices while-loops, conditionals-switch javascript
lucky-numbers type-conversion javascript
elyses-analytic-enchantments arrow-functions, array-analysis javascript
elyses-looping-enchantments array-loops javascript
amusement-park null-undefined, instance-variables, nil javascript, ruby
pizza-order recursion javascript (wip)
fruit-picker callbacks javascript
translation-service promises javascript
high-score-board objects, dictionaries javascript, jq, swift
ozans-playlist sets javascript
factory-sensors errors, inheritance javascript
elyses-transformative-enchantments array-transformations javascript
custom-signs conditionals-ternary, template-strings, characters javascript, swift
windowing-system classes, methods, self, structs-and-classes, value-and-reference-types javascript, swift
regular-chatbot regular-expressions javascript, jq
shopping basics jq
assembly-line numbers, floating-point-numbers, conditionals, integers jq, ruby, rust
log-line-parser strings jq, ruby
grade-stats reduce jq
recursive-functions recursion jq
booleans booleans purescript (wip)
guidos-gorgeous-lasagna basics python
ghost-gobble-arcade-game bools python
currency-exchange numbers python
meltdown-mitigation conditionals python
black-jack comparisons python
little-sisters-essay string-methods python
little-sisters-vocab strings python
pretty-leaflet string-formatting python (wip)
card-games lists python
chaitanas-colossal-coaster list-methods python
making-the-grade loops python
inventory-management dicts python
locomotive-engineer unpacking-and-multiple-assignment, multiple-assignment-and-decomposition python, ruby
cater-waiter sets python
ellens-alien-game classes python
plane-tickets generators python (wip)
restaurant-rozalynn none python (wip)
amusement-park-improvements booleans ruby
boutique-inventory-improvements ostruct ruby
moviegoer ternary-operator ruby
simple-calculator exceptions ruby
magazine-cutout entry-api rust
semi-structured-logs enums rust
resistor-color external-crates rust
health-statistics methods, structs rust
low-power-embedded-game tuples, destructuring rust
short-fibonacci vec-macro rust
csv-builder string-vs-str rust (wip)
basics basics scala (wip), x86-64-assembly (wip)
bomb-defuser capturing, closures, shorthand-arguments, trailing-closures swift
log-lines enumerations swift
master-mixologist loops, for-loops, while-loops, repeat-while, control-transfer swift
magician-in-training arrays swift
pizza-slices optionals swift
poetry-club importing, string-components, string-indexing swift
santas-helper tuples swift
secret-agent escaping-functions, higher-order-functions swift