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

Exercism

TypeScript

via Exercism

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
TypeScript (TS) is a superset of JavaScript (JS), created at Microsoft in response to frustration developing large-scale applications in JS. In a large JS project, knowing what properties your own objects have, what arguments your functions take (and what type they need to be) can become difficult. Similarly, since there is no ability to intelligently inspect JS code, when you include a package (like from npm ), you have to keep the documentation up so you know what methods are available and what arguments they take. TS solves these issues. It is currently an open-source project hosted on Github. It supports tools for any browser as well as Node, for any host, on any OS. TS compiles to readable, standards-based JavaScript.

Syllabus

  • Hello World
    • Exercism's classic introductory exercise. Just say "Hello, World!".
  • Two Fer
    • Create a sentence of the form "One for X, one for me.".
  • 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.
  • Leap
    • Determine whether a given year is a leap year.
  • Line Up
    • Help lining up customers at YaÊ»qÅ«b's Deli.
  • RNA Transcription
    • Given a DNA strand, return its RNA complement.
  • Space Age
    • Given an age in seconds, calculate how old someone is in terms of a given planet's solar years.
  • D&D Character
    • Randomly generate Dungeons & Dragons characters.
  • Darts
    • Calculate the points scored in a single toss of a Darts game.
  • Pangram
    • Determine if a sentence is a pangram.
  • Bob
    • Bob is a lackadaisical teenager. In conversation, his responses are very limited.
  • Matrix
    • Given a string representing a matrix of numbers, return the rows and columns of that matrix.
  • Robot Name
    • Manage robot factory settings.
  • Grade School
    • Given students' names along with the grade that they are in, create a roster for the school.
  • Clock
    • Implement a clock that handles times without dates.
  • Split-Second Stopwatch
    • Keep track of time through a digital stopwatch.
  • Secret Handshake
    • Given a decimal number, convert it to the appropriate sequence of events for a secret handshake.
  • Binary Search
    • Implement a binary search algorithm.
  • Linked List
    • Implement a doubly linked list.
  • Prism
    • Calculate the path of a laser through reflective prisms.
  • Rational Numbers
    • Implement rational numbers.
  • Atbash Cipher
    • Create an implementation of the Atbash cipher, an ancient encryption system created in the Middle East.
  • Simple Cipher
    • Implement the Vigenère cipher, a simple substitution cipher.
  • Wordy
    • Parse and evaluate simple math word problems returning the answer as an integer.
  • List Ops
    • Implement basic list operations.
  • Word Count
    • Given a phrase, count the occurrences of each word in that phrase.
  • Difference of Squares
    • Find the difference between the square of the sum and the sum of the squares of the first N natural numbers.
  • Gigasecond
    • Given a moment, determine the moment that would be after a gigasecond has passed.
  • Square Root
    • Given a natural radicand, return its square root.
  • Reverse String
    • Reverse a given string.
  • Triangle
    • Determine if a triangle is equilateral, isosceles, or scalene.
  • Collatz Conjecture
    • Calculate the number of steps to reach 1 using the Collatz conjecture.
  • ETL
    • Change the data format for scoring a game to more easily add other languages.
  • Protein Translation
    • Translate RNA sequences into proteins.
  • Raindrops
    • Convert a number into its corresponding raindrop sounds - Pling, Plang and Plong.
  • Hamming
    • Calculate the Hamming distance between two DNA strands.
  • Nucleotide Count
    • Given a DNA string, compute how many times each nucleotide occurs in the string.
  • Camicia
    • Simulate the card game and determine whether the match ends or enters an infinite loop.
  • Scrabble Score
    • Given a word, compute the Scrabble score for that word.
  • Allergies
    • Given a person's allergy score, determine whether or not they're allergic to a given item, and their full list of allergies.
  • Perfect Numbers
    • Determine if a number is perfect, abundant, or deficient based on Nicomachus' (60 - 120 CE) classification scheme for positive integers.
  • Complex Numbers
    • Implement complex numbers.
  • Luhn
    • Given a number determine whether or not it is valid per the Luhn formula.
  • Grains
    • Calculate the number of grains of wheat on a chessboard given that the number on each square doubles.
  • Pythagorean Triplet
    • Given an integer N, find all Pythagorean triplets for which a + b + c = N.
  • Relative Distance
    • Given a family tree, calculate the degree of separation.
  • Sum of Multiples
    • Given a number, find the sum of all the multiples of particular numbers up to but not including that number.
  • Acronym
    • Convert a long phrase to its acronym.
  • Anagram
    • Given a word and a list of possible anagrams, select the correct sublist.
  • Isogram
    • Determine if a word or phrase is an isogram.
  • Roman Numerals
    • Convert modern Arabic numbers into Roman numerals.
  • Series
    • Given a string of digits, output all the contiguous substrings of length `n` in that string.
  • State of Tic-Tac-Toe
    • Determine the game state of a match of Tic-Tac-Toe.
  • Phone Number
    • Clean up user-entered phone numbers so that they can be sent SMS messages.
  • Two Bucket
    • Given two buckets of different size, demonstrate how to measure an exact number of liters.
  • Variable Length Quantity
    • Implement variable length quantity encoding and decoding.
  • Largest Series Product
    • Given a string of digits, calculate the largest product for a contiguous substring of digits of length n.
  • Food Chain
    • Generate the lyrics of the song 'I Know an Old Lady Who Swallowed a Fly'.
  • House
    • Output the nursery rhyme 'This is the House that Jack Built'.
  • ISBN Verifier
    • Check if a given string is a valid ISBN-10 number.
  • Pig Latin
    • Implement a program that translates from English to Pig Latin.
  • Proverb
    • For want of a horseshoe nail, a kingdom was lost, or so the saying goes. Output the full text of this proverbial rhyme.
  • Twelve Days
    • Output the lyrics to 'The Twelve Days of Christmas'.
  • Say
    • Given a number from 0 to 999,999,999,999, spell out that number in English.
  • Rectangles
    • Count the rectangles in an ASCII diagram.
  • Saddle Points
    • Detect saddle points in a matrix.
  • Spiral Matrix
    • Given the size, return a square matrix of numbers in spiral order.
  • Transpose
    • Take input text and output it transposed.
  • OCR Numbers
    • Given a 3 x 4 grid of pipes, underscores, and spaces, determine which number is represented, or whether it is garbled.
  • Nth Prime
    • Given a number n, determine what the nth prime is.
  • Alphametics
    • Given an alphametics puzzle, find the correct solution.
  • Connect
    • Compute the result for a game of Hex / Polygon.
  • Bowling
    • Score a bowling game.
  • Prime Factors
    • Compute the prime factors of a given natural number.
  • Diamond
    • Given a letter, print a diamond starting with 'A' with the supplied letter at the widest point.
  • Pascal's Triangle
    • Compute Pascal's triangle up to a given number of rows.
  • Binary Search Tree
    • Insert and search for numbers in a binary tree.
  • Sublist
    • Write a function to determine if a list is a sublist of another list.
  • Custom Set
    • Create a custom set type.
  • Circular Buffer
    • A data structure that uses a single, fixed-size buffer as if it were connected end-to-end.
  • Word Search
    • Create a program to solve a word search puzzle.
  • Sieve
    • Use the Sieve of Eratosthenes to find all the primes from 2 up to a given number.
  • Palindrome Products
    • Detect palindrome products in a given range.
  • Diffie-Hellman
    • Diffie-Hellman key exchange.
  • Robot Simulator
    • Write a robot simulator.
  • Armstrong Numbers
    • Determine if a number is an Armstrong number.
  • Run-Length Encoding
    • Implement run-length encoding and decoding.
  • Bank Account
    • Simulate a bank account supporting opening/closing, withdraws, and deposits of money. Watch out for concurrent transactions!
  • 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.
  • Bottle Song
    • Produce the lyrics to the popular children's repetitive song: Ten Green Bottles.
  • Rotational Cipher
    • Create an implementation of the rotational cipher, also sometimes called the Caesar cipher.
  • Strain
    • Implement the `keep` and `discard` operation on collections.
  • All Your Base
    • Convert a number, represented as a sequence of digits in one base, to any other base.
  • Flatten Array
    • Take a nested list and return a single list with all values except nil/null.
  • Matching Brackets
    • Make sure the brackets and braces all match.
  • Tournament
    • Tally the results of a small football competition.
  • Flower Field
    • Mark all the flowers in a garden.
  • Kindergarten Garden
    • Given a diagram, determine which plants each child in the kindergarten class is responsible for.
  • 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.
  • React
    • Implement a basic reactive system.
  • Crypto Square
    • Implement the classic method for composing secret messages called a square code.
  • 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.
  • Conway's Game of Life
    • Implement Conway's Game of Life.
  • Yacht
    • Score a single throw of dice in the game Yacht.

Reviews

Start your review of TypeScript

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.