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

Exercism

Pharo

via Exercism

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Welcome to Pharo, an environment and language that embraces creativity, exploration and fun. It features a world that is: Simple and Powerful: No constructors, type declarations, interfaces or primitive types. Yet it's a powerful and elegant language with a full syntax that fits on a ! The magic is objects and messages all the way down.

Syllabus

  • Hello World
    • Exercism's classic introductory exercise. Just say "Hello, World!".
  • Die
    • A small DSL for dice rolling
  • Gigasecond
    • Given a moment, determine the moment that would be after a gigasecond has passed.
  • Leap
    • Determine whether a given year is a leap year.
  • Resistor Color Duo
    • Convert color codes, as used on resistors, to a numeric value.
  • Reverse String
    • Reverse a given string.
  • 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.".
  • Acronym
    • Convert a long phrase to its acronym.
  • Armstrong Numbers
    • Determine if a number is an Armstrong number.
  • Clock
    • Implement a clock that handles times without dates.
  • Collatz Conjecture
    • Calculate the number of steps to reach 1 using the Collatz conjecture.
  • Darts
    • Write a function that returns the earned points in a single toss of a Darts game.
  • ETL
    • Change the data format for scoring a game to more easily add other languages.
  • Flatten Array
    • Take a nested list and return a single list with all values except nil/null.
  • Grains
    • Calculate the number of grains of wheat on a chessboard given that the number on each square doubles.
  • Hamming
    • Calculate the Hamming difference between two DNA strands.
  • High Scores
    • Manage a player's High Score list.
  • Isogram
    • Determine if a word or phrase is an isogram.
  • Pangram
    • Determine if a sentence is a pangram.
  • Raindrops
    • Convert a number to a string, the content of which depends on the number's factors.
  • Secret Handshake
    • Given a decimal number, convert it to the appropriate sequence of events for a secret handshake.
  • Twelve Days
    • Output the lyrics to 'The Twelve Days of Christmas'.
  • 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.
  • Binary
    • Convert a binary number, represented as a string (e.g. '101010'), to its decimal equivalent using first principles.
  • 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.
  • Proverb
    • For want of a horseshoe nail, a kingdom was lost, or so the saying goes. Output the full text of this proverbial rhyme.
  • 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.
  • 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.
  • All Your Base
    • Convert a number, represented as a sequence of digits in one base, to any other base.
  • Grade School
    • Given students' names along with the grade that they are in, create a roster for the school.
  • Luhn
    • Given a number determine whether or not it is valid per the Luhn formula.
  • 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.
  • Robot Simulator
    • Write a robot simulator.
  • Simple Cipher
    • Implement a simple shift cipher like Caesar and a more secure substitution cipher.
  • Bowling
    • Score a bowling game.
  • Circular Buffer
    • A data structure that uses a single, fixed-size buffer as if it were connected end-to-end.
  • Minesweeper
    • Add the numbers to a minesweeper board.
  • Tournament
    • Tally the results of a small football competition.
  • Binary Search Tree
    • Insert and search for numbers in a binary tree.
  • Forth
    • Implement an evaluator for a very simple subset of Forth.
  • OCR Numbers
    • Given a 3 x 4 grid of pipes, underscores, and spaces, determine which number is represented, or whether it is garbled.
  • Word Search
    • Create a program to solve a word search puzzle.
  • Rectangles
    • Count the rectangles in an ASCII diagram.

Reviews

Start your review of Pharo

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.