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

Exercism

MoonScript

via Exercism

Overview

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

Syllabus

  • Hello World
    • Exercism's classic introductory exercise. Just say "Hello, World!".
  • Armstrong Numbers
    • Determine if a number is an Armstrong number.
  • 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.
  • 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.
  • ETL
    • Change the data format for scoring a game to more easily add other languages.
  • 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.
  • Isogram
    • Determine if a word or phrase is an isogram.
  • Leap
    • Determine whether a given year is a leap year.
  • Line Up
    • Help lining up customers at YaÊ»qÅ«b's Deli.
  • Nucleotide Count
    • Given a DNA string, compute how many times each nucleotide occurs in the string.
  • Pangram
    • Determine if a sentence is a pangram.
  • 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.
  • Strain
    • Implement the `keep` and `discard` operation on collections.
  • Sum of Multiples
    • Given a number, find the sum of all the multiples of particular numbers up to but not including that number.
  • Triangle
    • Determine if a triangle is equilateral, isosceles, or scalene.
  • Two-Fer
    • Create a sentence of the form "One for X, one for me.".
  • Acronym
    • Convert a long phrase to its acronym.
  • All Your Base
    • Convert a number, represented as a sequence of digits in one base, to any other base.
  • Anagram
    • Given a word and a list of possible anagrams, select the correct sublist.
  • 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.
  • Bob
    • Bob is a lackadaisical teenager. In conversation, his responses are very limited.
  • Clock
    • Implement a clock that handles times without dates.
  • D&D Character
    • Randomly generate Dungeons & Dragons characters.
  • House
    • Output the nursery rhyme 'This is the House that Jack Built'.
  • Matrix
    • Given a string representing a matrix of numbers, return the rows and columns of that matrix.
  • Micro Blog
    • Given an input string, truncate it to 5 characters.
  • Prime Factors
    • Compute the prime factors of a given natural number.
  • Proverb
    • For want of a horseshoe nail, a kingdom was lost, or so the saying goes. Output the full text of this proverbial rhyme.
  • 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.
  • Resistor Color Trio
    • Convert color codes, as used on resistors, to a human-readable label.
  • Reverse String
    • Reverse a given string.
  • Rotational Cipher
    • Create an implementation of the rotational cipher, also sometimes called the Caesar cipher.
  • Scrabble Score
    • Given a word, compute the Scrabble score for that word.
  • Secret Handshake
    • Given a decimal number, convert it to the appropriate sequence of events for a secret handshake.
  • Space Age
    • Given an age in seconds, calculate how old someone is in terms of a given planet's solar years.
  • Square Root
    • Given a natural radicand, return its square root.
  • Allergies
    • Given a person's allergy score, determine whether or not they're allergic to a given item, and their full list of allergies.
  • Diamond
    • Given a letter, print a diamond starting with 'A' with the supplied letter at the widest point.
  • ISBN Verifier
    • Check if a given string is a valid ISBN-10 number.
  • Largest Series Product
    • Given a string of digits, calculate the largest product for a contiguous substring of digits of length n.
  • Linked List
    • Implement a doubly linked list.
  • Luhn
    • Given a number determine whether or not it is valid per the Luhn formula.
  • Nth Prime
    • Given a number n, determine what the nth prime is.
  • Prism
    • Calculate the path of a laser through reflective prisms.
  • Robot Simulator
    • Write a robot simulator.
  • Roman Numerals
    • Convert modern Arabic numbers into Roman numerals.
  • Run-Length Encoding
    • Implement run-length encoding and decoding.
  • Saddle Points
    • Detect saddle points in a matrix.
  • Sieve
    • Use the Sieve of Eratosthenes to find all the primes from 2 up to a given number.
  • Split-Second Stopwatch
    • Keep track of time through a digital stopwatch.
  • Twelve Days
    • Output the lyrics to 'The Twelve Days of Christmas'.
  • 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.
  • Camicia
    • Simulate the card game and determine whether the match ends or enters an infinite loop.
  • Circular Buffer
    • A data structure that uses a single, fixed-size buffer as if it were connected end-to-end.
  • Flower Field
    • Mark all the flowers in a garden.
  • Matching Brackets
    • Make sure the brackets and braces all match.
  • Pig Latin
    • Implement a program that translates from English to Pig Latin.
  • Spiral Matrix
    • Given the size, return a square matrix of numbers in spiral order.
  • Change
    • Correctly determine change to be given using the least number of coins.
  • Complex Numbers
    • Implement complex numbers.
  • Palindrome Products
    • Detect palindrome products in a given range.
  • Say
    • Given a number from 0 to 999,999,999,999, spell out that number in English.
  • 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.
  • Satellite
    • Rebuild binary trees from pre-order and in-order traversals.
  • Forth
    • Implement an evaluator for a very simple subset of Forth.
  • React
    • Implement a basic reactive system.

Reviews

Start your review of MoonScript

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.