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

Exercism

Odin

via Exercism

Overview

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

Syllabus

  • Hello World
    • Exercism's classic introductory exercise. Just say "Hello, World!".
  • Leap
    • Determine whether a given year is a leap year.
  • Space Age
    • Given an age in seconds, calculate how old someone is in terms of a given planet's solar years.
  • Two Fer
    • Create a sentence of the form "One for X, one for me.".
  • All Your Base
    • Convert a number, represented as a sequence of digits in one base, to any other base.
  • Armstrong Numbers
    • Determine if a number is an Armstrong number.
  • Bob
    • Bob is a lackadaisical teenager. In conversation, his responses are very limited.
  • Bottle Song
    • Produce the lyrics to the popular children's repetitive song: Ten Green Bottles.
  • Clock
    • Implement a clock that handles times without dates.
  • Collatz Conjecture
    • Calculate the number of steps to reach 1 using the Collatz conjecture.
  • Custom Set
    • Create a custom set type.
  • D&D Character
    • Randomly generate Dungeons & Dragons characters.
  • 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.
  • Food Chain
    • Generate the lyrics of the song 'I Know an Old Lady Who Swallowed a Fly'.
  • Gigasecond
    • Given a moment, determine the moment that would be after a gigasecond has passed.
  • Grains
    • Calculate the number of grains of wheat on a chessboard given that the number on each square doubles.
  • Hamming
    • Calculate the Hamming distance between two DNA strands.
  • High Scores
    • Manage a player's High Score list.
  • ISBN Verifier
    • Check if a given string is a valid ISBN-10 number.
  • Isogram
    • Determine if a word or phrase is an isogram.
  • Line Up
    • Help lining up customers at YaÊ»qÅ«b's Deli.
  • Luhn
    • Given a number determine whether or not it is valid per the Luhn formula.
  • 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.
  • Protein Translation
    • Translate RNA sequences into proteins.
  • Proverb
    • For want of a horseshoe nail, a kingdom was lost, or so the saying goes. Output the full text of this proverbial rhyme.
  • Pythagorean Triplet
    • Given an integer N, find all Pythagorean triplets for which a + b + c = N.
  • Queen Attack
    • Given the position of two queens on a chess board, indicate whether or not they are positioned so that they can attack each other.
  • Raindrops
    • Convert a number into its corresponding raindrop sounds - Pling, Plang and Plong.
  • 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.
  • RNA Transcription
    • Given a DNA strand, return its RNA complement.
  • Robot Name
    • Manage robot factory settings.
  • Robot Simulator
    • Write a robot simulator.
  • Series
    • Given a string of digits, output all the contiguous substrings of length `n` in that string.
  • Simple Cipher
    • Implement the Vigenère cipher, a simple substitution cipher.
  • Triangle
    • Determine if a triangle is equilateral, isosceles, or scalene.
  • Acronym
    • Convert a long phrase to its acronym.
  • Allergies
    • Given a person's allergy score, determine whether or not they're allergic to a given item, and their full list of allergies.
  • Anagram
    • Given a word and a list of possible anagrams, select the correct sublist.
  • Atbash Cipher
    • Create an implementation of the Atbash cipher, an ancient encryption system created in the Middle East.
  • Bank Account
    • Simulate a bank account supporting opening/closing, withdraws, and deposits of money. Watch out for concurrent transactions!
  • Binary Search
    • Implement a binary search algorithm.
  • Binary Search Tree
    • Insert and search for numbers in a binary tree.
  • Book Store
    • To try and encourage more sales of different books from a popular 5 book series, a bookshop has decided to offer discounts of multiple-book purchases.
  • Change
    • Correctly determine change to be given using the least number of coins.
  • Circular Buffer
    • A data structure that uses a single, fixed-size buffer as if it were connected end-to-end.
  • Diamond
    • Given a letter, print a diamond starting with 'A' with the supplied letter at the widest point.
  • Flatten Array
    • Take a nested list and return a single list with all values except nil/null.
  • Grade School
    • Given students' names along with the grade that they are in, create a roster for the school.
  • 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.
  • Linked List
    • Implement a doubly linked list.
  • List Ops
    • Implement basic list operations.
  • Matching Brackets
    • Make sure the brackets and braces all match.
  • Rational Numbers
    • Implement rational numbers.
  • Reverse String
    • Reverse a given string.
  • Roman Numerals
    • Convert modern Arabic numbers into Roman numerals.
  • Sieve
    • Use the Sieve of Eratosthenes to find all the primes from 2 up to a given number.
  • Two Bucket
    • Given two buckets of different size, demonstrate how to measure an exact number of liters.
  • Word Count
    • Given a phrase, count the occurrences of each word in that phrase.
  • Yacht
    • Score a single throw of dice in the game Yacht.
  • Bowling
    • Score a bowling game.
  • Dominoes
    • Make a chain of dominoes.
  • Forth
    • Implement an evaluator for a very simple subset of Forth.
  • Intergalactic Transmission
    • Add parity bits to a message for transmission
  • Zebra Puzzle
    • Solve the zebra puzzle.
  • Zipper
    • Creating a zipper for a binary tree.

Reviews

Start your review of Odin

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.