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

Exercism

Unison

via Exercism

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Unison is a statically typed, functional, and fun programming language which aims to change how programmers interact with their code. Unison is different. Unlike many programming languages, your Unison codebase is not stored as a mutable set of text files. Instead, each Unison definition is identified by a hash of its syntax tree. Put another way, Unison code is content-addressed.

Syllabus

  • Hello World
    • Exercism's classic introductory exercise. Just say "Hello, World!".
  • 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.
  • Armstrong Numbers
    • Determine if a number is an Armstrong number.
  • Bowling
    • Score a bowling game.
  • Clock
    • Implement a clock that handles times without dates.
  • Crypto Square
    • Implement the classic method for composing secret messages called a square code.
  • Change
    • Correctly determine change to be given using the least number of coins.
  • 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.
  • Diamond
    • Given a letter, print a diamond starting with 'A' with the supplied letter at the widest point.
  • All Your Base
    • Convert a number, represented as a sequence of digits in one base, to any other base.
  • Leap
    • Determine whether a given year is a leap year.
  • Matching Brackets
    • Make sure the brackets and braces all match.
  • Majority Element
    • Find the color of candy in a bag which represents the majority element
  • Nucleotide Count
    • Given a DNA string, compute how many times each nucleotide occurs in the string.
  • 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.
  • Sieve
    • Use the Sieve of Eratosthenes to find all the primes from 2 up to a given number.
  • Simple Linked List
    • Write a simple linked list implementation that uses Elements and a List.
  • Space Age
    • Given an age in seconds, calculate how old someone is in terms of a given planet's solar years.
  • Spiral Matrix
    • Given the size, return a square matrix of numbers in spiral order.
  • Stream Ops
    • Implement basic Stream operations with ability handlers.
  • Sublist
    • Write a function to determine if a list is a sublist of another list.
  • Sum Of Multiples
    • Given a number, find the sum of all the multiples of particular numbers up to but not including that number.
  • Raindrops
    • Convert a number into its corresponding raindrop sounds - Pling, Plang and Plong.
  • Run Length Encoding
    • Implement run-length encoding and decoding.
  • 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.
  • Zebra Puzzle
    • Solve the zebra puzzle.
  • Zipper
    • Creating a zipper for a binary tree.
  • Reverse String
    • Reverse a given string.
  • Protein Translation
    • Translate RNA sequences into proteins.
  • Difference of Squares
    • Find the difference between the square of the sum and the sum of the squares of the first N natural numbers.
  • 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.
  • Roman Numerals
    • Convert modern Arabic numbers into Roman numerals.
  • Largest Series Product
    • Given a string of digits, calculate the largest product for a contiguous substring of digits of length n.
  • ETL
    • Change the data format for scoring a game to more easily add other languages.
  • Bob
    • Bob is a lackadaisical teenager. In conversation, his responses are very limited.
  • Isogram
    • Determine if a word or phrase is an isogram.
  • D&D Character
    • Randomly generate Dungeons & Dragons characters.
  • List Ops
    • Implement basic list operations.
  • Luhn
    • Given a number determine whether or not it is valid per the Luhn formula.
  • Scrabble Score
    • Given a word, compute the Scrabble score for that word.
  • Pangram
    • Determine if a sentence is a pangram.
  • Minesweeper
    • Add the numbers to a minesweeper board.
  • Yacht
    • Score a single throw of dice in the game Yacht.
  • Pig Latin
    • Implement a program that translates from English to Pig Latin.
  • Binary Search
    • Implement a binary search algorithm.
  • Secret Handshake
    • Given a decimal number, convert it to the appropriate sequence of events for a secret handshake.
  • Kindergarten Garden
    • Given a diagram, determine which plants each child in the kindergarten class is responsible for.
  • Anagram
    • Given a word and a list of possible anagrams, select the correct sublist.
  • Flower Field
    • Mark all the flowers in a garden.
  • Conway's Game of Life
    • Implement Conway's Game of Life.

Reviews

Start your review of Unison

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.