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

Exercism

Common Lisp

via Exercism

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Common Lisp is an offshoot of the long-running family of Lisp programming languages. It's a multi-paradigm programming language that allows you to choose the approach and paradigm according to your application domain. Common Lisp has fast prototyping capabilities, and exceptional support for object oriented programming. It also boasts a macro system which allows you to adapt the language to your needs, and a run-time environment which allows modification of running applications.

Syllabus

  • Hello World
    • Exercism's classic introductory exercise. Just say "Hello, World!".
  • Sorting Socks and Sexprs
    • Learn the basics of Common Lisp by helping your friend clean their room so they can go out and have some fun.
  • The Key to Comparison
    • Learn about equality by helping find the keys to the rooms of a maze.
  • Pizza Pi
    • Learn about arithmetic with integers and floating-point numbers by helping to make pizza.
  • Leslie's Lengthy Lists
    • Learn about Lists by helping to keep track of a shopping list.
  • Pal Picker
    • Learn about conditionals and truth and falseness by helping to choose and take care of a pet.
  • Lilly's Lasagna
    • Learn about functions by helping to cook lasagna.
  • Lilly's Lasagna Leftovers
    • Learn about keyword, optional and rest arguments by again helping with lasagna.
  • Log Levels
    • Learn about Common Lisp strings by processing log messages
  • Character Study
    • Learn the basics of Common Lisp characters by helping Lewis learn about Earth letters.
  • Larry's Winning Checker
    • Learn the basics of Common Lisp arrays by helping Larry check for winner of their tic-tac-toe like game.
  • High Scores
    • Learn about hash tables by keeping track of the high scores in a game that Lamont wants to write.
  • Lucy's Magnificent Mapper
    • Help Lucy try to make numbers more magnificent and keep only those that are.
  • Gigasecond Anniversary
    • Learn about handling dates and times in Common Lisp by helping compute Gigasecond Anniversary dates
  • Logan's Numeric Partition
    • Help Logan partition numbers into evens and odds by using reduce.
  • Reporting for Duty
    • Help Layla produce short reports
  • Two Fer
    • Create a sentence of the form "One for X, one for me.".
  • Hamming
    • Calculate the Hamming distance between two DNA strands.
  • House
    • Output the nursery rhyme 'This is the House that Jack Built'.
  • RNA Transcription
    • Given a DNA strand, return its RNA complement.
  • Leap
    • Determine whether a given year is a leap year.
  • Anagram
    • Given a word and a list of possible anagrams, select the correct sublist.
  • Roman Numerals
    • Convert modern Arabic numbers into Roman numerals.
  • Word Count
    • Given a phrase, count the occurrences of each word in that phrase.
  • Bob
    • Bob is a lackadaisical teenager. In conversation, his responses are very limited.
  • 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.
  • Armstrong Numbers
    • Determine if a number is an Armstrong number.
  • Binary Search
    • Implement a binary search algorithm.
  • Collatz Conjecture
    • Calculate the number of steps to reach 1 using the Collatz conjecture.
  • Difference of Squares
    • Find the difference between the square of the sum and the sum of the squares of the first N natural numbers.
  • ETL
    • Change the data format for scoring a game to more easily add other languages.
  • 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.
  • Grains
    • Calculate the number of grains of wheat on a chessboard given that the number on each square doubles.
  • Isogram
    • Determine if a word or phrase is an isogram.
  • Nucleotide Count
    • Given a DNA string, compute how many times each nucleotide occurs in the string.
  • Pascal's Triangle
    • Compute Pascal's triangle up to a given number of rows.
  • Perfect Numbers
    • Determine if a number is perfect, abundant, or deficient based on Nicomachus' (60 - 120 CE) classification scheme for positive integers.
  • Raindrops
    • Convert a number into its corresponding raindrop sounds - Pling, Plang and Plong.
  • 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.
  • 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.
  • Sublist
    • Write a function to determine if a list is a sublist of another list.
  • Triangle
    • Determine if a triangle is equilateral, isosceles, or scalene.
  • Atbash Cipher
    • Create an implementation of the Atbash cipher, an ancient encryption system created in the Middle East.
  • Grade School
    • Given students' names along with the grade that they are in, create a roster for the school.
  • 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.
  • Relative Distance
    • Given a family tree, calculate the degree of separation.
  • Robot Name
    • Manage robot factory settings.
  • Robot Simulator
    • Write a robot simulator.
  • Crypto Square
    • Implement the classic method for composing secret messages called a square code.
  • Meetup
    • Calculate the date of meetups.
  • Luhn
    • Given a number determine whether or not it is valid per the Luhn formula.
  • 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.
  • ISBN Verifier
    • Check if a given string is a valid ISBN-10 number.
  • Sum of Multiples
    • Given a number, find the sum of all the multiples of particular numbers up to but not including that number.
  • Matching Brackets
    • Make sure the brackets and braces all match.
  • Run-Length Encoding
    • Implement run-length encoding and decoding.
  • Largest Series Product
    • Given a string of digits, calculate the largest product for a contiguous substring of digits of length n.
  • 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.
  • Nth Prime
    • Given a number n, determine what the nth prime is.
  • 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.
  • Rail Fence Cipher
    • Implement encoding and decoding for the rail fence cipher.
  • Pig Latin
    • Implement a program that translates from English to Pig Latin.
  • Protein Translation
    • Translate RNA sequences into proteins.
  • Saddle Points
    • Detect saddle points in a matrix.
  • Matrix
    • Given a string representing a matrix of numbers, return the rows and columns of that matrix.
  • Palindrome Products
    • Detect palindrome products in a given range.
  • Pythagorean Triplet
    • Given an integer N, find all Pythagorean triplets for which a + b + c = N.
  • Affine Cipher
    • Create an implementation of the Affine cipher, an ancient encryption algorithm from the Middle East.
  • Say
    • Given a number from 0 to 999,999,999,999, spell out that number in English.
  • Two Bucket
    • Given two buckets of different size, demonstrate how to measure an exact number of liters.
  • Flatten Array
    • Take a nested list and return a single list with all values except nil/null.
  • Spiral Matrix
    • Given the size, return a square matrix of numbers in spiral order.
  • Diamond
    • Given a letter, print a diamond starting with 'A' with the supplied letter at the widest point.
  • Rotational Cipher
    • Create an implementation of the rotational cipher, also sometimes called the Caesar cipher.
  • Pangram
    • Determine if a sentence is a pangram.
  • Secret Handshake
    • Given a decimal number, convert it to the appropriate sequence of events for a secret handshake.
  • Darts
    • Calculate the points scored in a single toss of a Darts game.
  • Proverb
    • For want of a horseshoe nail, a kingdom was lost, or so the saying goes. Output the full text of this proverbial rhyme.
  • Food Chain
    • Generate the lyrics of the song 'I Know an Old Lady Who Swallowed a Fly'.
  • Yacht
    • Score a single throw of dice in the game Yacht.
  • Bottle Song
    • Produce the lyrics to the popular children's repetitive song: Ten Green Bottles.
  • Square Root
    • Given a natural radicand, return its square root.
  • 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.
  • Resistor Color Trio
    • Convert color codes, as used on resistors, to a human-readable label.
  • Line Up
    • Help lining up customers at YaÊ»qÅ«b's Deli.

Reviews

Start your review of Common Lisp

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.