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

Exercism

PowerShell

via Exercism

Overview

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

Syllabus

  • Hello World
    • Exercism's classic introductory exercise. Just say "Hello, World!".
  • 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.
  • Strain
    • Implement the `keep` and `discard` operation on collections.
  • 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 Expert
    • Convert color codes as used on resistors with different bands to a human-readable label.
  • Flatten Array
    • Take a nested list and return a single list with all values except nil/null.
  • Sum of Multiples
    • Given a number, find the sum of all the multiples of particular numbers up to but not including that number.
  • Secret Handshake
    • Given a decimal number, convert it to the appropriate sequence of events for a secret handshake.
  • Resistor Color Trio
    • Convert color codes, as used on resistors, to a human-readable label.
  • Raindrops
    • Convert a number into its corresponding raindrop sounds - Pling, Plang and Plong.
  • Gigasecond
    • Given a moment, determine the moment that would be after a gigasecond has passed.
  • Nucleotide Count
    • Given a DNA string, compute how many times each nucleotide occurs in the string.
  • Hamming
    • Calculate the Hamming distance between two DNA strands.
  • Leap
    • Determine whether a given year is a leap year.
  • Pangram
    • Determine if a sentence is a pangram.
  • Darts
    • Calculate the points scored in a single toss of a Darts game.
  • Reverse String
    • Reverse a given string.
  • RNA Transcription
    • Given a DNA strand, return its RNA complement.
  • Anagram
    • Given a word and a list of possible anagrams, select the correct sublist.
  • Two-Fer
    • Create a sentence of the form "One for X, one for me.".
  • Binary Search
    • Implement a binary search algorithm.
  • Armstrong Numbers
    • Determine if a number is an Armstrong number.
  • Isogram
    • Determine if a word or phrase is an isogram.
  • Triangle
    • Determine if a triangle is equilateral, isosceles, or scalene.
  • Space Age
    • Given an age in seconds, calculate how old someone is in terms of a given planet's solar years.
  • House
    • Output the nursery rhyme 'This is the House that Jack Built'.
  • Micro Blog
    • Given an input string, truncate it to 5 characters.
  • ETL
    • Change the data format for scoring a game to more easily add other languages.
  • Series
    • Given a string of digits, output all the contiguous substrings of length `n` in that string.
  • Grade School
    • Given students' names along with the grade that they are in, create a roster for the school.
  • Rotational Cipher
    • Create an implementation of the rotational cipher, also sometimes called the Caesar cipher.
  • Protein Translation
    • Translate RNA sequences into proteins.
  • 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.
  • Atbash Cipher
    • Create an implementation of the Atbash cipher, an ancient encryption system created in the Middle East.
  • Prime Factors
    • Compute the prime factors of a given natural 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.
  • Perfect Numbers
    • Determine if a number is perfect, abundant, or deficient based on Nicomachus' (60 - 120 CE) classification scheme for positive integers.
  • Grains
    • Calculate the number of grains of wheat on a chessboard given that the number on each square doubles.
  • Acronym
    • Convert a long phrase to its acronym.
  • D&D Character
    • Randomly generate Dungeons & Dragons characters.
  • Scrabble Score
    • Given a word, compute the Scrabble score for that word.
  • Sublist
    • Write a function to determine if a list is a sublist of another list.
  • ISBN Verifier
    • Check if a given string is a valid ISBN-10 number.
  • Word Count
    • Given a phrase, count the occurrences of each word in that phrase.
  • Square Root
    • Given a natural radicand, return its square root.
  • High Scores
    • Manage a player's High Score list.
  • Proverb
    • For want of a horseshoe nail, a kingdom was lost, or so the saying goes. Output the full text of this proverbial rhyme.
  • Diamond
    • Given a letter, print a diamond starting with 'A' with the supplied letter at the widest point.
  • Matching Brackets
    • Make sure the brackets and braces all match.
  • Transpose
    • Take input text and output it transposed.
  • Yacht
    • Score a single throw of dice in the game Yacht.
  • Twelve Days
    • Output the lyrics to 'The Twelve Days of Christmas'.
  • Run-Length Encoding
    • Implement run-length encoding and decoding.
  • Pig Latin
    • Implement a program that translates from English to Pig Latin.
  • 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.
  • Line Up
    • Help lining up customers at YaÊ»qÅ«b's Deli.
  • Parallel Letter Frequency
    • Count the frequency of letters in texts using parallel computation.
  • Error Handling
    • Implement various kinds of error handling and resource management.
  • Wordy
    • Parse and evaluate simple math word problems returning the answer as an integer.
  • List Ops
    • Implement basic list operations.
  • Matrix
    • Given a string representing a matrix of numbers, return the rows and columns of that matrix.
  • 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.
  • Nth Prime
    • Given a number n, determine what the nth prime is.
  • Luhn
    • Given a number determine whether or not it is valid per the Luhn formula.
  • Kindergarten Garden
    • Given a diagram, determine which plants each child in the kindergarten class is responsible for.
  • Simple Cipher
    • Implement the Vigenère cipher, a simple substitution cipher.
  • 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.
  • Saddle Points
    • Detect saddle points in a matrix.
  • Clock
    • Implement a clock that handles times without dates.
  • Circular Buffer
    • A data structure that uses a single, fixed-size buffer as if it were connected end-to-end.
  • Bottle Song
    • Produce the lyrics to the popular children's repetitive song: Ten Green Bottles.
  • Pythagorean Triplet
    • Given an integer N, find all Pythagorean triplets for which a + b + c = N.
  • OCR Numbers
    • Given a 3 x 4 grid of pipes, underscores, and spaces, determine which number is represented, or whether it is garbled.
  • Robot Simulator
    • Write a robot simulator.
  • Crypto Square
    • Implement the classic method for composing secret messages called a square code.
  • Robot Name
    • Manage robot factory settings.
  • Swift Scheduling
    • Convert delivery date descriptions to actual delivery dates.
  • Simple Linked List
    • Write a simple linked list implementation that uses Elements and a List.
  • Pascal's Triangle
    • Compute Pascal's triangle up to a given number of rows.
  • Largest Series Product
    • Given a string of digits, calculate the largest product for a contiguous substring of digits of length n.
  • Tournament
    • Tally the results of a small football competition.
  • Meetup
    • Calculate the date of meetups.
  • 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.
  • Rail Fence Cipher
    • Implement encoding and decoding for the rail fence cipher.
  • All Your Base
    • Convert a number, represented as a sequence of digits in one base, to any other base.
  • Variable Length Quantity
    • Implement variable length quantity encoding and decoding.
  • Spiral Matrix
    • Given the size, return a square matrix of numbers in spiral order.
  • Complex Numbers
    • Implement complex numbers.
  • Flower Field
    • Mark all the flowers in a garden.
  • Food Chain
    • Generate the lyrics of the song 'I Know an Old Lady Who Swallowed a Fly'.
  • Killer Sudoku Helper
    • Write a tool that makes it easier to solve Killer Sudokus
  • Say
    • Given a number from 0 to 999,999,999,999, spell out that number in English.
  • Palindrome Products
    • Detect palindrome products in a given range.
  • Relative Distance
    • Given a family tree, calculate the degree of separation.
  • Hangman
    • Implement the logic of the hangman game using functional reactive programming.
  • Baffling Birthdays
    • Estimate the birthday paradox's probabilities.
  • Split Second Stopwatch
    • Keep track of time through a digital stopwatch.
  • Affine Cipher
    • Create an implementation of the Affine cipher, an ancient encryption algorithm from the Middle East.
  • Markdown
    • Refactor a Markdown parser.
  • Change
    • Correctly determine change to be given using the least number of coins.
  • State of Tic-Tac-Toe
    • Determine the game state of a match of Tic-Tac-Toe.
  • Dominoes
    • Make a chain of dominoes.
  • Binary Search Tree
    • Insert and search for numbers in a binary tree.
  • Rational Numbers
    • Implement rational numbers.
  • DOT DSL
    • Write a Domain Specific Language similar to the Graphviz dot language.
  • Connect
    • Compute the result for a game of Hex / Polygon.
  • Custom Set
    • Create a custom set type.
  • Grep
    • Search a file for lines matching a regular expression pattern. Return the line number and contents of each matching line.
  • Linked List
    • Implement a doubly linked list.
  • Ledger
    • Refactor a ledger printer.
  • Tree Building
    • Refactor a tree building algorithm.
  • Conway's Game of Life
    • Implement Conway's Game of Life.
  • Intergalactic Transmission
    • Add parity bits to a message for transmission
  • Camicia
    • Simulate the card game and determine whether the match ends or enters an infinite loop.
  • Piecing It Together
    • Fill in missing jigsaw puzzle details from partial data
  • Rectangles
    • Count the rectangles in an ASCII diagram.
  • Two Bucket
    • Given two buckets of different size, demonstrate how to measure an exact number of liters.
  • Word Search
    • Create a program to solve a word search puzzle.
  • 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.
  • Bowling
    • Score a bowling game.
  • Poker
    • Pick the best hand(s) from a list of poker hands.
  • 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.
  • Satellite
    • Rebuild binary trees from pre-order and in-order traversals.
  • REST API
    • Implement a RESTful API for tracking IOUs.
  • Zipper
    • Creating a zipper for a binary tree.
  • Forth
    • Implement an evaluator for a very simple subset of Forth.
  • Zebra Puzzle
    • Solve the zebra puzzle.
  • Go Counting
    • Count the scored points on a Go board.
  • SGF Parsing
    • Parsing a Smart Game Format string.
  • Alphametics
    • Write a function to solve alphametics puzzles.
  • POV
    • Reparent a graph on a selected node.

Reviews

Start your review of PowerShell

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.