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

Exercism

Gleam

via Exercism

Overview

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

Syllabus

  • Hello World
    • Exercism's classic introductory exercise. Just say "Hello, World!".
  • Lasagna
    • Learn about the basics of Gleam by following a lasagna recipe.
  • Pacman Rules
    • Learn about bools by implementing the rules of the Pac-Man game.
  • Betty's Bike Shop
    • Learn about modules by helping Betty to display her bikes prices.
  • Guessing Game
    • Learn about case expressions by implementing a simple game in which the player needs to guess a secret number
  • Tisbury Treasure Hunt
    • Learn usage of Tuples by designing a pirate treasure game
  • Tracks on Tracks on Tracks
    • Learn abouts lists by keeping track of the programming languages you want to learn.
  • Log Levels
    • Learn about strings by parsing application logs
  • Valentine's Day
    • Learn usage of Custom Types while deciding what to do for Valentines Day
  • Bandwagoner
    • Learn about labelled fields by keeping a history of basketball statistics
  • Bird Count
    • Learn about recursion by keeping track of how many birds visit your garden each day.
  • Pizza Pricing
    • Learn about tail call optimisation by implementing a pizza-pricing algorithm
  • Secrets
    • Learn about anonymous functions by writing the software for an encryption device.
  • High School Sweetheart
    • Learn about the pipe operator by helping high school sweethearts profess their love on social media via ASCII art.
  • Treasure Chest
    • Learn about generics in Gleam by creating a treasure chest
  • Go
    • Learn usage of Result by applying the rules of the game of Go
  • High Score Board
    • Practice Gleam dicts by tracking high scores of an arcade game.
  • Weather Ranking
    • Learn about the Order type by ranking weather conditions
  • Wine Cellar
    • Learn about labelled arguments by providing wine suggestions to the customers in your restaurant.
  • Gotta Snatch 'Em All
    • Learn to use sets by playing a trading card game
  • Role Playing Game
    • Learn the Option type by designing game mechanics
  • Spring Cleaning
    • Learn about let assertions by cleaning some poorly organised data.
  • DNA Encoding
    • Learn about bit arrays by encoding DNA sequences as binary data.
  • Newsletter
    • Learn about IO by sending out a newsletter.
  • Secure Treasure Chest
    • Learn about opaque types by making a more secure treasure chest
  • Sticker Shop
    • Learn about Phantom Types by selling cute programming stickers
  • Erlang Extraction
    • Learn about external types and functions by using an Erlang library
  • Expert Experiments
    • Learn about use expressions by conducting some experiments
  • Difference Of Squares
    • Find the difference between the square of the sum and the sum of the squares of the first N natural numbers.
  • Resistor Color
    • Convert a resistor band's color to its numeric representation.
  • Reverse String
    • Reverse a given string.
  • RNA Transcription
    • Given a DNA strand, return its RNA complement.
  • Two Fer
    • Create a sentence of the form "One for X, one for me.".
  • Accumulate
    • Implement the `accumulate` operation, which, given a collection and an operation to perform on each element of the collection, returns a new collection containing the result of applying that operation to each element of the input collection.
  • Clock
    • Implement a clock that handles times without dates.
  • Darts
    • Calculate the points scored in a single toss of a Darts game.
  • 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.
  • High Scores
    • Manage a player's High Score list.
  • House
    • Output the nursery rhyme 'This is the House that Jack Built'.
  • Leap
    • Determine whether a given year is a leap year.
  • Pangram
    • Determine if a sentence is a pangram.
  • Raindrops
    • Convert a number into its corresponding raindrop sounds - Pling, Plang and Plong.
  • Resistor Color Duo
    • Convert color codes, as used on resistors, to a numeric value.
  • Secret Handshake
    • Given a decimal number, convert it to the appropriate sequence of events for a secret handshake.
  • Series
    • Given a string of digits, output all the contiguous substrings of length `n` in that string.
  • Space Age
    • Given an age in seconds, calculate how old someone is in terms of a given planet's solar years.
  • Strain
    • Implement the `keep` and `discard` operation on collections.
  • Triangle
    • Determine if a triangle is equilateral, isosceles, or scalene.
  • Anagram
    • Given a word and a list of possible anagrams, select the correct sublist.
  • Armstrong Numbers
    • Determine if a number is an Armstrong number.
  • Bob
    • Bob is a lackadaisical teenager. In conversation, his responses are very limited.
  • Collatz Conjecture
    • Calculate the number of steps to reach 1 using the Collatz conjecture.
  • Grade School
    • Given students' names along with the grade that they are in, create a roster for the school.
  • Isogram
    • Determine if a word or phrase is an isogram.
  • Kindergarten Garden
    • Given a diagram, determine which plants each child in the kindergarten class is responsible for.
  • Largest Series Product
    • Given a string of digits, calculate the largest product for a contiguous substring of digits of length n.
  • Matching Brackets
    • Make sure the brackets and braces all match.
  • Matrix
    • Given a string representing a matrix of numbers, return the rows and columns of that matrix.
  • Nth Prime
    • Given a number n, determine what the nth prime is.
  • Nucleotide Count
    • Given a DNA string, compute how many times each nucleotide occurs in the string.
  • Perfect Numbers
    • Determine if a number is perfect, abundant, or deficient based on Nicomachus' (60 - 120 CE) classification scheme for positive integers.
  • Pig Latin
    • Implement a program that translates from English to Pig Latin.
  • 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.
  • 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.
  • Robot Simulator
    • Write a robot simulator.
  • Roman Numerals
    • Convert modern Arabic numbers into Roman numerals.
  • Twelve Days
    • Output the lyrics to 'The Twelve Days of Christmas'.
  • 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.
  • Allergies
    • Given a person's allergy score, determine whether or not they're allergic to a given item, and their full list of allergies.
  • Atbash Cipher
    • Create an implementation of the Atbash cipher, an ancient encryption system created in the Middle East.
  • Binary Search Tree
    • Insert and search for numbers in a binary tree.
  • D&D Character
    • Randomly generate Dungeons & Dragons characters.
  • Flatten Array
    • Take a nested list and return a single list with all values except nil/null.
  • ISBN Verifier
    • Check if a given string is a valid ISBN-10 number.
  • Killer Sudoku Helper
    • Write a tool that makes it easier to solve Killer Sudokus
  • 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.
  • OCR Numbers
    • Given a 3 x 4 grid of pipes, underscores, and spaces, determine which number is represented, or whether it is garbled.
  • Pascal's Triangle
    • Compute Pascal's triangle up to a given number of rows.
  • Phone Number
    • Clean up user-entered phone numbers so that they can be sent SMS messages.
  • Prime Factors
    • Compute the prime factors of a given natural number.
  • Saddle Points
    • Detect saddle points in a matrix.
  • Satellite
    • Rebuild binary trees from pre-order and in-order traversals.
  • Scrabble Score
    • Given a word, compute the Scrabble score for that word.
  • Sieve
    • Use the Sieve of Eratosthenes to find all the primes from 2 up to a given number.
  • Square Root
    • Given a natural radicand, return its square root.
  • Sum of Multiples
    • Given a number, find the sum of all the multiples of particular numbers up to but not including that number.
  • 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.
  • 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.
  • Bottle Song
    • Produce the lyrics to the popular children's repetitive song: Ten Green Bottles.
  • Circular Buffer
    • A data structure that uses a single, fixed-size buffer as if it were connected end-to-end.
  • Crypto Square
    • Implement the classic method for composing secret messages called a square code.
  • Custom Set
    • Create a custom set type.
  • Flower Field
    • Mark all the flowers in a garden.
  • Luhn
    • Given a number determine whether or not it is valid per the Luhn formula.
  • Rotational Cipher
    • Create an implementation of the rotational cipher, also sometimes called the Caesar cipher.
  • Run-Length Encoding
    • Implement run-length encoding and decoding.
  • Say
    • Given a number from 0 to 999,999,999,999, spell out that number in English.
  • Simple Cipher
    • Implement the Vigenère cipher, a simple substitution cipher.
  • Sublist
    • Write a function to determine if a list is a sublist of another list.
  • Tournament
    • Tally the results of a small football competition.
  • Variable Length Quantity
    • Implement variable length quantity encoding and decoding.
  • Affine Cipher
    • Create an implementation of the Affine cipher, an ancient encryption algorithm from the Middle East.
  • Bowling
    • Score a bowling game.
  • Change
    • Correctly determine change to be given using the least number of coins.
  • List Ops
    • Implement basic list operations.
  • Pythagorean Triplet
    • Given an integer N, find all Pythagorean triplets for which a + b + c = N.
  • Rectangles
    • Count the rectangles in an ASCII diagram.
  • Zipper
    • Creating a zipper for a binary tree.
  • Connect
    • Compute the result for a game of Hex / Polygon.
  • Dominoes
    • Make a chain of dominoes.
  • Alphametics
    • Given an alphametics puzzle, find the correct solution.
  • Diamond
    • Given a letter, print a diamond starting with 'A' with the supplied letter at the widest point.
  • POV
    • Reparent a graph on a selected node.
  • Wordy
    • Parse and evaluate simple math word problems returning the answer as an integer.
  • Forth
    • Implement an evaluator for a very simple subset of Forth.

Reviews

Start your review of Gleam

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.