Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Exercism

Cairo

via Exercism

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Get fluent in Cairo by solving 68 exercises. And then level up with mentoring from our world-class team.

Syllabus

  • Hello World
    • Exercism's classic introductory exercise. Just say "Hello, World!".
  • Lucian's Luscious Lasagna
    • Learn about the basics of Cairo by following a lasagna recipe.
  • Annalyn's Infiltration
    • Learn about booleans by helping Annalyn free her best friend.
  • Cryptographer
    • Learn how to work with the Felt type by helping a cryptographer configure a secure communication system.
  • Magician in Training
    • Help Elyse with her Enchantments and learn about arrays in the process.
  • weather-report
    • Learn enums while building a weather reporting system.
  • Bakery Order System
    • Learn Cairo's control flow constructs while managing a bakery's daily operations.
  • Welcome To Tech Palace!
    • Learn how to represent strings by generating text for a store's new display.
  • Gross Store
    • Learn about maps by selling items by the dozen at the Gross Store.
  • Election Day
    • Learn about ownership and structs by creating a simple voting system.
  • Red vs. Blue: Darwin Style
    • Learn about modules by managing car development teams.
  • Health Statistics
    • Learn structs to store statistics for a health-monitoring system.
  • Airport Robot
    • Learn about generic types by programming an airport service robot.
  • Low-power Embedded Game
    • Learn tuples while writing convenience functions for a low-power embedded game
  • Lucian's Luscious Lasagna
    • Learn about the basics of Cairo by following a lasagna recipe.
  • The Realm of Echoes
    • Learn printing and formatting values with the art of EchoSpeak.
  • Role Playing Game
    • Learn about the `Option` enum by creating a minimal role-playing game
  • Magical Measurements
    • Learn Cairo's type conversion traits while helping Astrid the alchemist standardize magical measurements.
  • Calculator Conundrum
    • Learn about error handling by working on a simple calculator.
  • Chrono Realms
    • Learn operator overloading by implementing custom operators for a time manipulation system
  • Chrono Realms Chrono Chain
    • Learn smart pointers by building the magical Chrono Chain
  • Reverse String
    • Reverse a given string.
  • Acronym
    • Convert a long phrase to its acronym.
  • Atbash Cipher
    • Create an implementation of the Atbash cipher, an ancient encryption system created in the Middle East.
  • Collatz Conjecture
    • Calculate the number of steps to reach 1 using the Collatz conjecture.
  • Bob
    • Bob is a lackadaisical teenager. In conversation, his responses are very limited.
  • Hamming
    • Calculate the Hamming distance between two DNA strands.
  • Leap
    • Determine whether a given year is a leap year.
  • Semi Structured Logs
    • Learn enums while building a logging utility.
  • Darts
    • Calculate the points scored in a single toss of a Darts game.
  • Difference of Squares
    • Find the difference between the square of the sum and the sum of the squares of the first N natural numbers.
  • Eliud's Eggs
    • Help Eliud count the number of eggs in her chicken coop by counting the number of 1 bits in a binary representation.
  • Isogram
    • Determine if a word or phrase is an isogram.
  • Nucleotide Count
    • Given a DNA string, compute how many times each nucleotide occurs in the string.
  • Pangram
    • Determine if a sentence is a pangram.
  • Pascal's Triangle
    • Compute Pascal's triangle up to a given number of rows.
  • Perfect Numbers
    • Determine if a number is perfect, abundant, or deficient based on Nicomachus' (60 - 120 CE) classification scheme for positive integers.
  • Raindrops
    • Convert a number into its corresponding raindrop sounds - Pling, Plang and Plong.
  • RNA Transcription
    • Given a DNA strand, return its RNA complement.
  • Rotational Cipher
    • Create an implementation of the rotational cipher, also sometimes called the Caesar cipher.
  • Secret Handshake
    • Given a decimal number, convert it to the appropriate sequence of events for a secret handshake.
  • Square Root
    • Given a natural radicand, return its square root.
  • Triangle
    • Determine if a triangle is equilateral, isosceles, or scalene.
  • Armstrong Numbers
    • Determine if a number is an Armstrong number.
  • Sublist
    • Write a function to determine if a list is a sublist of another list.
  • Scrabble Score
    • Given a word, compute the Scrabble score for that word.
  • Two-Fer
    • Create a sentence of the form "One for X, one for me.".
  • Yacht
    • Score a single throw of dice in the game Yacht.
  • Beer Song
    • Produce the lyrics to that beloved classic, that field-trip favorite: 99 Bottles of Beer on the Wall.
  • Clock
    • Implement a clock that handles times without dates.
  • Phone Number
    • Clean up user-entered phone numbers so that they can be sent SMS messages.
  • Roman Numerals
    • Convert modern Arabic numbers into Roman numerals.
  • Binary Search
    • Implement a binary search algorithm.
  • Largest Series Product
    • Given a string of digits, calculate the largest product for a contiguous substring of digits of length n.
  • Allergies
    • Given a person's allergy score, determine whether or not they're allergic to a given item, and their full list of allergies.
  • Matching Brackets
    • Make sure the brackets and braces all match.
  • Rational Numbers
    • Implement rational numbers.
  • Anagram
    • Given a word and a list of possible anagrams, select the correct sublist.
  • Custom Set
    • Create a custom set type.
  • Robot Simulator
    • Write a robot simulator.
  • Simple Linked List
    • Write a simple linked list implementation that uses Elements and a List.
  • Protein Translation
    • Translate RNA sequences into proteins.
  • Dominoes
    • Make a chain of dominoes.
  • Linked List
    • Implement a doubly linked list.
  • Resistor Color
    • Convert a resistor band's color to its numeric representation.
  • Resistor Color Duo
    • Convert color codes, as used on resistors, to a numeric value.
  • Prime Factors
    • Compute the prime factors of a given natural number.
  • Nth Prime
    • Given a number n, determine what the nth prime is.
  • Grains
    • Calculate the number of grains of wheat on a chessboard given that the number on each square doubles.
  • Proverb
    • For want of a horseshoe nail, a kingdom was lost, or so the saying goes. Output the full text of this proverbial rhyme.
  • Wordy
    • Parse and evaluate simple math word problems returning the answer as an integer.
  • High Scores
    • Manage a player's High Score list.
  • Sum of Multiples
    • Given a number, find the sum of all the multiples of particular numbers up to but not including that number.
  • Space Age
    • Given an age in seconds, calculate how old someone is in terms of a given planet's solar years.
  • Series
    • Given a string of digits, output all the contiguous substrings of length `n` in that string.
  • Flower Field
    • Mark all the flowers in a garden.
  • Kindergarten Garden
    • Given a diagram, determine which plants each child in the kindergarten class is responsible for.
  • Luhn
    • Given a number determine whether or not it is valid per the Luhn formula.
  • All Your Base
    • Convert a number, represented as a sequence of digits in one base, to any other base.
  • Word Count
    • Given a phrase, count the occurrences of each word in that phrase.
  • Binary Search Tree
    • Insert and search for numbers in a binary tree.
  • Knapsack
    • Given a knapsack that can only carry a certain weight, determine which items to put in the knapsack in order to maximize their combined value.
  • Zipper
    • Creating a zipper for a binary tree.
  • Word Search
    • Create a program to solve a word search puzzle.
  • ISBN Verifier
    • Check if a given string is a valid ISBN-10 number.
  • Variable Length Quantity
    • Implement variable length quantity encoding and decoding.
  • ETL
    • Change the data format for scoring a game to more easily add other languages.

Reviews

Start your review of Cairo

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.