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

Exercism

Raku

via Exercism

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Raku (formerly known as Perl 6) is a clean, modern, multi-paradigm language; it offers procedural, object-oriented AND functional programming methodologies. It is a supremely flexible language, adapting to your style of programming, whether that be quick one­liners for sysadmins, scripts to manage a database import, or the full stack of modules necessary to realise an entire website.

Syllabus

  • Hello World
    • Exercism's classic introductory exercise. Just say "Hello, World!".
  • Leap
    • Determine whether a given year is a leap year.
  • Bob
    • Bob is a lackadaisical teenager. In conversation, his responses are very limited.
  • Nucleotide Count
    • Given a DNA string, compute how many times each nucleotide occurs in the string.
  • Pangram
    • Determine if a sentence is a pangram.
  • Clock
    • Implement a clock that handles times without dates.
  • Raindrops
    • Convert a number into its corresponding raindrop sounds - Pling, Plang and Plong.
  • Phone Number
    • Clean up user-entered phone numbers so that they can be sent SMS messages.
  • Allergies
    • Given a person's allergy score, determine whether or not they're allergic to a given item, and their full list of allergies.
  • All Your Base
    • Convert a number, represented as a sequence of digits in one base, to any other base.
  • Robot Name
    • Manage robot factory settings.
  • Two Fer
    • Create a sentence of the form "One for X, one for me.".
  • Luhn
    • Given a number determine whether or not it is valid per the Luhn formula.
  • RNA Transcription
    • Given a DNA strand, return its RNA complement.
  • Hamming
    • Calculate the Hamming distance between two DNA strands.
  • Anagram
    • Given a word and a list of possible anagrams, select the correct sublist.
  • Word Count
    • Given a phrase, count the occurrences of each word in that phrase.
  • ETL
    • Change the data format for scoring a game to more easily add other languages.
  • Meetup
    • Calculate the date of meetups.
  • 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.
  • Acronym
    • Convert a long phrase to its acronym.
  • Grains
    • Calculate the number of grains of wheat on a chessboard given that the number on each square doubles.
  • 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.
  • Space Age
    • Given an age in seconds, calculate how old someone is in terms of a given planet's solar years.
  • Atbash Cipher
    • Create an implementation of the Atbash cipher, an ancient encryption system created in the Middle East.
  • Roman Numerals
    • Convert modern Arabic numbers into Roman numerals.
  • Scrabble Score
    • Given a word, compute the Scrabble score for that word.
  • Linked List
    • Implement a doubly linked list.
  • Wordy
    • Parse and evaluate simple math word problems returning the answer as an integer.
  • Binary Search Tree
    • Insert and search for numbers in a binary tree.
  • Bowling
    • Score a bowling game.
  • Collatz Conjecture
    • Calculate the number of steps to reach 1 using the Collatz conjecture.
  • Crypto Square
    • Implement the classic method for composing secret messages called a square code.
  • Armstrong Numbers
    • Determine if a number is an Armstrong number.
  • Difference of Squares
    • Find the difference between the square of the sum and the sum of the squares of the first N natural numbers.
  • Affine Cipher
    • Create an implementation of the Affine cipher, an ancient encryption algorithm from the Middle East.
  • Bottle Song
    • Produce the lyrics to the popular children's repetitive song: Ten Green Bottles.
  • Binary Search
    • Implement a binary search algorithm.
  • Isogram
    • Determine if a word or phrase is an isogram.
  • ISBN Verifier
    • Check if a given string is a valid ISBN-10 number.
  • Darts
    • Calculate the points scored in a single toss of a Darts game.
  • Gigasecond
    • Given a moment, determine the moment that would be after a gigasecond has passed.
  • Series
    • Given a string of digits, output all the contiguous substrings of length `n` in that string.
  • Pascal's Triangle
    • Compute Pascal's triangle up to a given number of rows.
  • 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.
  • Sum of Multiples
    • Given a number, find the sum of all the multiples of particular numbers up to but not including that number.
  • Largest Series Product
    • Given a string of digits, calculate the largest product for a contiguous substring of digits of length n.
  • Triangle
    • Determine if a triangle is equilateral, isosceles, or scalene.
  • Prime Factors
    • Compute the prime factors of a given natural number.
  • Sieve
    • Use the Sieve of Eratosthenes to find all the primes from 2 up to a given number.
  • House
    • Output the nursery rhyme 'This is the House that Jack Built'.
  • Secret Handshake
    • Given a decimal number, convert it to the appropriate sequence of events for a secret handshake.
  • Sublist
    • Write a function to determine if a list is a sublist of another list.
  • Matching Brackets
    • Make sure the brackets and braces all match.
  • Reverse String
    • Reverse a given string.
  • Killer Sudoku Helper
    • Write a tool that makes it easier to solve Killer Sudokus
  • Pythagorean Triplet
    • Given an integer N, find all Pythagorean triplets for which a + b + c = N.
  • Transpose
    • Take input text and output it transposed.
  • Matrix
    • Given a string representing a matrix of numbers, return the rows and columns of that matrix.
  • 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.
  • Diamond
    • Given a letter, print a diamond starting with 'A' with the supplied letter at the widest point.
  • Square Root
    • Given a natural radicand, return its square root.
  • Resistor Color
    • Convert a resistor band's color to its numeric representation.
  • Strain
    • Implement the `keep` and `discard` operation on collections.
  • Yacht
    • Score a single throw of dice in the game Yacht.
  • Resistor Color Duo
    • Convert color codes, as used on resistors, to a numeric value.
  • Resistor Color Trio
    • Convert color codes, as used on resistors, to a human-readable label.
  • Perfect Numbers
    • Determine if a number is perfect, abundant, or deficient based on Nicomachus' (60 - 120 CE) classification scheme for positive integers.
  • Rotational Cipher
    • Create an implementation of the rotational cipher, also sometimes called the Caesar cipher.
  • Circular Buffer
    • A data structure that uses a single, fixed-size buffer as if it were connected end-to-end.
  • Parallel Letter Frequency
    • Count the frequency of letters in texts using parallel computation.
  • Protein Translation
    • Translate RNA sequences into proteins.
  • Zebra Puzzle
    • Solve the zebra puzzle.
  • Kindergarten Garden
    • Given a diagram, determine which plants each child in the kindergarten class is responsible for.
  • State of Tic-Tac-Toe
    • Determine the game state of a match of Tic-Tac-Toe.
  • 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.
  • Variable Length Quantity
    • Implement variable length quantity encoding and decoding.
  • Proverb
    • For want of a horseshoe nail, a kingdom was lost, or so the saying goes. Output the full text of this proverbial rhyme.
  • Run-Length Encoding
    • Implement run-length encoding and decoding.
  • Rail Fence Cipher
    • Implement encoding and decoding for the rail fence cipher.
  • OCR Numbers
    • Given a 3 x 4 grid of pipes, underscores, and spaces, determine which number is represented, or whether it is garbled.
  • Flower Field
    • Mark all the flowers in a garden.
  • Custom Set
    • Create a custom set type.
  • Nth Prime
    • Given a number n, determine what the nth prime is.
  • Saddle Points
    • Detect saddle points in a matrix.
  • Bank Account
    • Simulate a bank account supporting opening/closing, withdraws, and deposits of money. Watch out for concurrent transactions!
  • Say
    • Given a number from 0 to 999,999,999,999, spell out that number in English.
  • Line Up
    • Help lining up customers at YaÊ»qÅ«b's Deli.
  • Micro Blog
    • Given an input string, truncate it to 5 characters.
  • Rational Numbers
    • Implement rational numbers.
  • Complex Numbers
    • Implement complex numbers.
  • High Scores
    • Manage a player's High Score list.

Reviews

Start your review of Raku

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.