Skip to content
This repository has been archived by the owner on Aug 31, 2021. It is now read-only.

Latest commit

 

History

History
161 lines (155 loc) · 55.3 KB

README.md

File metadata and controls

161 lines (155 loc) · 55.3 KB

Stories

This file is auto-generated and should not be modified manually.

A collection of story and narrative ideas that can be used when writing Concept Exercise specs.

Concept Story Description
actor-model Take-A-Number Machine You are writing an embedded system for a Take-A-Number machine. It is a very simple model. It can give out consecutive numbers and report what was the last number given out.
anonymous-functions Bomb Disarming Hello again, Agent Double-Null0111.
arrays Elyse's Enchantments As a magician-to-be, Elyse needs to practice some basics. She has a stack of cards that she wants to manipulate.
arrays Garden bird count You're an avid bird watcher that keeps track of how many birds have visited your garden in the last seven days.
basics Lasagna Recipe The story of this exercise uses a lasagna recipe to focus on the creation of basic functions, operators, integers, and return values.
binary-data File Sniffer The story of this exercise uses the premise of comparing the file extension to the binary file format to explore the ideas of binary data, pattern matching, string encoding. The student is tasked with writing some functions to compare the expected media type to the file's encoded media type.
booleans Pac-Man This story uses the classic arcade game Pac-Man as a basis for teaching the boolean type / boolean logic concept.
booleans RPG Quest Logic In this exercise, you'll be implementing the quest logic for a new RPG game a friend is developing. The game's main character is Annalyn, a brave girl with a fierce and loyal pet dog. Unfortunately, disaster strikes, as her best friend was kidnapped while searching for berries in the forest. Annalyn will try to find and free her best friend, optionally taking her dog with her on this quest.
classes Amustment Park Attendee In this story, you are working with an amusement park to implement an admittance system. People (attendee) come in to the park and are measured for their height on arrival. This is because certain rides in the park require you to be a certain height to ride for safety purposes.
classes Remote control car In this exercise you'll be playing around with a remote controlled car, which you've finally saved enough money for to buy.
closures Web Design Agency Your design company has primarily been working with CSS transformations to build webpages. After some discussion, a decision is made to start using JavaScript to perform some of the calculations dynamically. Some of your teammates are less experienced with JavaScript, so you decide to use a function closure to create reusable transformation for {x, y} coordinate pairs.
conditionals Vehicle Purchase In this exercise you're going to write some code to help you help you prepare to buy a new vehicle.
constructors Remote control car race In this exercise you'll be organizing races between various types of remote controlled cars. Each car has its own speed and battery drain characteristics.
datetimes Appointment scheduler In this exercise you'll be working on an appointment scheduler for a beauty salon in New York that opened on September 15th in 2012.
datetimes The Time-Keeper Sarah is a time-keeper. She's actually the best there is. When asked by kids what a time-keeper does, she loves to show them a jar full of white sand. See, she says: "I'm keeping time safe!"
deep-dig Basketball team website You're working on a website for basketball team. The website displays lots of data, but unfortunately what is displayed changes often. As the data is stored in a single object, this is not hard to do, but it is time-consuming and boring. You've therefore decided to automate things.
enumerable Fashion Boutique You are running an online fashion boutique. Black Friday is coming up, so you need to take stock of your inventory to make sure you're ready.
enums Log line parser In this exercise you'll be processing log-lines.
errors Instruments of Texas In this exercise you will be handling errors being raised by functions created by your team while creating an RPN calculator.
flag-enums Website account permissions In this exercise you'll be checking permissions of user accounts on an internet forum. The forum supports three different permissions:
floating-point-numbers Savings account In this exercise you'll be working with savings accounts. Each year, the balance of your savings account is updated based on its interest rate. The interest rate your bank gives you depends on the amount of money in your account (its balance):
functions Lasagna Master In this exercise you're going to write some more code to help you cook your brilliant lasagna from your favorite cooking book.
higher-order-functions Secret Agent Hello, Agent Double-Null0111.
inheritance Role-playing game In this exercise you're playing a role-playing game named "Wizard and Warriors," which allows you to play as either a Wizard or a Warrior.
io RPG Character Sheet You and your friends love to play pen-and-paper role-playing games, but you noticed that it's difficult to get new people to join your group. They often struggle with character creation. They don't know where to start. To help new players out, you decided to write a small program that will guide them through the process.
lambda-function Secret Device This story uses the setting of creating a device to encrypt messages reliably and repeatedly using anonymous functions.
lists Language List This story facilitates the exploration of lists in a language.
loops Bartender You are a master mixologist, making tasty drinks for the public to enjoy on their nights out. But you figured that you could make your life easier by writing a bit of code to help you with your job.
maps High Score Board This exercise uses the setting of maintaining a high-score board for an arcade hall to teach the concept of key-value collections (maps, hashes, associative arrays, dictionaries, etc.). A player's name serves as the key, and the score serves as the value.
matrices Exercism Logo Matrix This story involves playing around with a matrix representing the Exercism logo, making it frown, rotating it, ...
method-overloading Game Master of a Role Playing Game In this exercise you're playing a role-playing game named "Wizard and Warriors" with your best friends. You are the game master, the person tasked with making the game world come alive for the other players. A key aspect of this is describing the game to the players: what is a character's status, what the town they're visiting looks like, etc.
nullability Name badges In this exercise you'll be writing code to print name badges for factory employees. Employees have an ID, name and department name. Employee badge labels are formatted as follows: "[id] - [name] - [DEPARTMENT]".
numbers Car production line In this exercise you'll be writing code to analyze the production of an assembly line in a car factory. The assembly line's speed can range from 0 (off) to 10 (maximum).
numbers Freelancer Rates In this exercise you'll be writing code to help a freelancer communicate with a project manager by providing a few utilities to quickly calculate day- and month rates, optionally with a given discount.
optionals Pizza Slices You have a number of pizza slice shops in your town and you want to write a web app that will let you compare two different pizza configurations to let you know who will give you the bigger slice.
pattern-matching Number guessing game In this exercise, you are playing a number guessing game with a friend. The rules are simple: you secretly choose a number between 1 and 100 and your friend tries to guess what number you've chosen. To help your friend, you respond differently depending on how close the guess was to the number you've chosen (42). These are the rules for the different replies:
primitive-types RNA & DNA Processing In biology libraries, Nucleic Acids may be encoded as 4-bit types (see for example BioSymbols.jl). This can be used as a context for an exercise introducing primitive types, or other concepts related to bit manipulation.
promises Klingon Translation Service In this exercise you'll be providing a TranslationService where paid members have some quality assurance.
properties Weighing machine In this exercise you'll be modelling a weighing machine.
randomness RPG Quest Logic 2 In this exercise, you'll be extending the quest logic for the new RPG game a friend is developing. To make the game more interesting, your friend wants you to add random events that change the situation.
records Root for NBA team algorithm In this exercise you're a big sports fan and you've just discovered a passion for NBA basketball. Being new to NBA basketball, you're doing a deep dive into NBA history, keeping track of teams, coaches, their win/loss stats and comparing them against each other.
recursion Pizza delivery In this exercise you're working at a pizza place that delivers to customers.
regex Event Ingest In this story, you have a program which needs to ingest events, but messages are using 3 different date formats:
shopping-cart Shopping cart We need to model a shopping cart for a corner shop. The cart should keep track of the list of items added, and correctly calculate the price.
strings Eccentric Party Robot Once there was an eccentric programmer living in a strange house with barred windows. One day he accepted a job from an online job board to build a party robot. The robot is supposed to greet people and help them to their seats. The first addition was very technical and showed the programmers lack of human interaction. Some of which also made it into the final edition.
strings High school sweethearts In this exercise, you are going to help high school sweethearts profess their love on social media by generating an ASCII heart with their initials:
strings Log line parser In this exercise you'll be processing log-lines.
strings Poetry club door policy A new poetry club has opened in town, and you're thinking of attending. Because there have been incidents in the past, the club has a very specific door policy which you'll need to master, before attempting entry.
strings-and-characters Custom Signs In this exercise you'll be writing code to help a sign company create custom messages for their signs.
structs-and-classes Windowing system In this exercise, you will be simulating a windowing based computer system. You will create some windows that can be moved and resized and display their contents. The following image is representative of the values you will be working with below.
sum-types Valentines day In this exercise, it's Valentine's day and you and your partner are planning on doing something nice together. Your partner has lots of ideas, and is now asking you to rate the ideas, in order to find the activity to engage in.
ternary-operators Employee Salary In this exercise, you'll be implementing rules for calculating the total salary of a empyoyee in a month. The International Siderurgy Company (ISC) needs help to calculate the salary for the employees, given that different factors can alter the final wage value for each employee.
tuples Kitchen Calculator The story facilitates the exploration of tuples in a language.
tuples Santa's Helper You are an elf working in Santa Claus' logistics division and you have been given a pair of tasks from the boss for upgrading the system's software.

Implementations

These are the implementations of the stories in the various tracks.

Story Track Exercise
Amustment Park Attendee Ruby instance-variables
Appointment scheduler C# booking-up-for-beauty
Appointment scheduler F# booking-up-for-beauty
Bartender Swift master-mixologist
Bomb Disarming Swift bomb-defuser
Car production line C# cars-assemble
Car production line F# cars-assemble
Custom Signs Swift custom-signs
Eccentric Party Robot Go strings
Elyse's Enchantments JavaScript elyses-analytic-enchantments
Elyse's Enchantments JavaScript elyses-destructured-enchantments
Elyse's Enchantments JavaScript elyses-enchantments
Elyse's Enchantments JavaScript elyses-transformative-enchantments
Elyse's Enchantments Swift magician-in-training
Employee Salary Java ternary-operators
Event Ingest Elixir date-parser
Exercism Logo Matrix Julia exercism-matrix
Fashion Boutique Elixir boutique-inventory
Fashion Boutique Elixir boutique-suggestions
File Sniffer Elixir file-sniffer
Freelancer Rates Elixir freelancer-rates
Freelancer Rates JavaScript numbers
Freelancer Rates Swift freelancer-rates
Game Master of a Role Playing Game C# wizards-and-warriors-2
Garden bird count C# bird-watcher
Garden bird count Elixir bird-count
Garden bird count F# bird-watcher
High Score Board Elixir high-score
High Score Board Swift high-score-board
High school sweethearts Elixir high-school-sweetheart
Instruments of Texas Elixir rpn-calculator
Kitchen Calculator Elixir kitchen-calculator
Klingon Translation Service JavaScript promises
Language List Clojure tracks-on-tracks-on-tracks
Language List Elixir language-list
Language List F# tracks-on-tracks-on-tracks
Lasagna Master Swift lasagna-master
Lasagna Recipe C# lucians-luscious-lasagna
Lasagna Recipe Elixir lasagna
Lasagna Recipe F# lucians-luscious-lasagna
Lasagna Recipe JavaScript basics
Lasagna Recipe Java basics
Lasagna Recipe Julia lasagna
Lasagna Recipe Ruby lasagna
Lasagna Recipe Swift lasagna
Log line parser C# logs-logs-logs
Log line parser Python log-levels
Log line parser Rust enums
Log line parser Swift log-lines
Log line parser C# log-levels
Log line parser C++ strings
Log line parser F# log-levels
Log line parser Go strings-package
Log line parser Java strings
Log line parser Python processing-logs
Log line parser Ruby strings
Name badges C# tim-from-marketing
Name badges Elixir name-badge
Name badges JavaScript nullability
Number guessing game Elixir guessing-game
Number guessing game F# guessing-game
Pac-Man Elixir pacman-rules
Pac-Man Python ghost-gobble-arcade-game
Pizza Slices Swift pizza-slices
Pizza delivery F# pizza-pricing
Pizza delivery JavaScript recursion
Poetry club door policy JavaScript strings
Poetry club door policy Swift poetry-club
RNA & DNA Processing Elixir dna-encoding
RPG Character Sheet Elixir rpg-character-sheet
RPG Quest Logic 2 Julia annalyns-infiltration2
RPG Quest Logic F# annalyns-infiltration
RPG Quest Logic JavaScript booleans
RPG Quest Logic Julia annalyns-infiltration
Remote control car race C# need-for-speed
Remote control car C# elons-toys
Remote control car Elixir remote-control-car
Role-playing game C# wizards-and-warriors
Root for NBA team algorithm F# bandwagoner
Santa's Helper Swift santas-helper
Savings account C# interest-is-interesting
Savings account C# interest-is-interesting
Secret Agent Swift secret-agent
Secret Device Elixir secrets
Take-A-Number Machine Elixir take-a-number
Valentines day F# valentines-day
Vehicle Purchase Julia vehicle-purchase
Vehicle Purchase Swift vehicle-purchase
Web Design Agency JavaScript closures
Website account permissions C# attack-of-the-trolls
Weighing machine C# weighing-machine
Windowing system Swift windowing-system