1,590
students have developed their Crystal skills on Exercism.

Students
1,590
Submissions
16,320
Mentoring Discussions
853

The Crystal track needs attention ⚠️

Building

Build

Use your knowledge to build the Crystal track itself

Build Test Runners

Learn More

Create Test Runners that have the single responsibility of taking a solution, running all tests and returning a standardized output.

Usage statistics

Total Test Runner Runs
12,126
Test Run Pass Rate
35.8% (4342)
Test Run Fail Rate
24.9% (3023)
Test Run Error Rate
39.3% (4761)

Build Analyzers

Learn More

Build an Analyzer for Crystal: Exercism's analyzers automatically assess student's submissions and provide mentor-style commentary.

Next goal: Build an Analyzer. Find out more.

Build Representers

Learn More

Build a Representer: a bit of code that has the single responsibility of taking a solution and returning a normalized representation of it.

Next goal: Build a Representer. Find out more.

Create Practice Exercises

Learn More

Practice Exercises are exercises designed to allow students to solve an arbitrary problem, with the aim of them making use of the concepts they have learned so far.

Next goal: Implement 129 practice exercises. Find out more.

Usage statistics

66 active practice exercises
Started
Attempts
Completions
Mentoring requests
Hello World Hello World
1,093
1,314 (avg. 1.2)
932 (85.3%)
5 (0.5%)
Acronym Acronym
307
1,590 (avg. 5.2)
181 (59.0%)
13 (4.2%)
Anagram Anagram
219
923 (avg. 4.2)
170 (77.6%)
13 (5.9%)
Armstrong Numbers Armstrong Numbers
129
422 (avg. 3.3)
108 (83.7%)
6 (4.7%)
Atbash Cipher Atbash Cipher
161
940 (avg. 5.8)
123 (76.4%)
9 (5.6%)
Binary Binary
125
474 (avg. 3.8)
101 (80.8%)
9 (7.2%)
Binary Search Tree Binary Search Tree
104
659 (avg. 6.3)
42 (40.4%)
10 (9.6%)
Bob Bob
303
670 (avg. 2.2)
244 (80.5%)
72 (23.8%)
Bottle Song Bottle Song
6
24 (avg. 4.0)
5 (83.3%)
0 (0.0%)
Clock Clock
35
275 (avg. 7.9)
27 (77.1%)
1 (2.9%)
Collatz Conjecture Collatz Conjecture
69
263 (avg. 3.8)
54 (78.3%)
3 (4.3%)
Difference of Squares Difference of Squares
160
334 (avg. 2.1)
147 (91.9%)
37 (23.1%)
ETL ETL
48
85 (avg. 1.8)
36 (75.0%)
2 (4.2%)
Flatten Array Flatten Array
78
119 (avg. 1.5)
60 (76.9%)
5 (6.4%)
Gigasecond Gigasecond
345
575 (avg. 1.7)
310 (89.9%)
89 (25.8%)
Hamming Hamming
543
927 (avg. 1.7)
404 (74.4%)
187 (34.4%)
Isogram Isogram
60
203 (avg. 3.4)
50 (83.3%)
6 (10.0%)
Largest Series Product Largest Series Product
130
368 (avg. 2.8)
107 (82.3%)
32 (24.6%)
Leap Leap
218
323 (avg. 1.5)
202 (92.7%)
42 (19.3%)
Matching Brackets Matching Brackets
174
239 (avg. 1.4)
128 (73.6%)
19 (10.9%)
Pangram Pangram
177
364 (avg. 2.1)
158 (89.3%)
41 (23.2%)
Pascal's Triangle Pascal's Triangle
53
161 (avg. 3.0)
37 (69.8%)
1 (1.9%)
Raindrops Raindrops
236
404 (avg. 1.7)
211 (89.4%)
62 (26.3%)
Resistor Color Resistor Color
45
87 (avg. 1.9)
36 (80.0%)
3 (6.7%)
Resistor Color Duo Resistor Color Duo
45
128 (avg. 2.8)
35 (77.8%)
4 (8.9%)
Reverse String Reverse String
63
102 (avg. 1.6)
54 (85.7%)
2 (3.2%)
Rotational Cipher Rotational Cipher
7
15 (avg. 2.1)
7 (100.0%)
1 (14.3%)
RNA Transcription RNA Transcription
299
566 (avg. 1.9)
275 (92.0%)
72 (24.1%)
Roman Numerals Roman Numerals
105
159 (avg. 1.5)
77 (73.3%)
6 (5.7%)
Run-Length Encoding Run-Length Encoding
63
119 (avg. 1.9)
42 (66.7%)
4 (6.3%)
Scrabble Score Scrabble Score
46
131 (avg. 2.8)
37 (80.4%)
3 (6.5%)
Sieve Sieve
124
171 (avg. 1.4)
93 (75.0%)
10 (8.1%)
Space Age Space Age
43
88 (avg. 2.0)
31 (72.1%)
1 (2.3%)
Triangle Triangle
158
434 (avg. 2.7)
132 (83.5%)
46 (29.1%)
Two Fer Two Fer
61
69 (avg. 1.1)
52 (85.2%)
4 (6.6%)
Darts Darts
36
94 (avg. 2.6)
29 (80.6%)
3 (8.3%)
Resistor Color Trio Resistor Color Trio
10
293 (avg. 29.3)
8 (80.0%)
2 (20.0%)
ISBN Verifier ISBN Verifier
36
151 (avg. 4.2)
26 (72.2%)
0 (0.0%)
Luhn Luhn
42
264 (avg. 6.3)
26 (61.9%)
1 (2.4%)
Strain Strain
38
49 (avg. 1.3)
26 (68.4%)
0 (0.0%)
Binary Search Binary Search
8
49 (avg. 6.1)
7 (87.5%)
0 (0.0%)
Phone Number Phone Number
6
83 (avg. 13.8)
6 (100.0%)
1 (16.7%)
Nucleotide Count Nucleotide Count
7
43 (avg. 6.1)
6 (85.7%)
1 (14.3%)
High Scores High Scores
7
20 (avg. 2.9)
7 (100.0%)
1 (14.3%)
All Your Base All Your Base
28
79 (avg. 2.8)
18 (64.3%)
1 (3.6%)
Wordy Wordy
6
6 (avg. 1.0)
3 (50.0%)
0 (0.0%)
Forth Forth
59
138 (avg. 2.3)
33 (55.9%)
6 (10.2%)
Meetup Meetup
32
70 (avg. 2.2)
20 (62.5%)
1 (3.1%)
Nth Prime Nth Prime
31
186 (avg. 6.0)
21 (67.7%)
2 (6.5%)
Prime Factors Prime Factors
28
59 (avg. 2.1)
20 (71.4%)
0 (0.0%)
Protein Translation Protein Translation
37
80 (avg. 2.2)
29 (78.4%)
3 (8.1%)
Series Series
33
119 (avg. 3.6)
24 (72.7%)
0 (0.0%)
Word Count Word Count
10
45 (avg. 4.5)
8 (80.0%)
0 (0.0%)
Robot Simulator Robot Simulator
5
10 (avg. 2.0)
5 (100.0%)
0 (0.0%)
Killer Sudoku Helper Killer Sudoku Helper
2
1 (avg. 0.5)
1 (50.0%)
0 (0.0%)
Palindrome Products Palindrome Products
5
12 (avg. 2.4)
2 (40.0%)
0 (0.0%)
Linked List Linked List
4
8 (avg. 2.0)
3 (75.0%)
0 (0.0%)
Allergies Allergies
39
102 (avg. 2.6)
29 (74.4%)
3 (7.7%)
Grains Grains
58
172 (avg. 3.0)
44 (75.9%)
3 (5.2%)
Perfect Numbers Perfect Numbers
50
73 (avg. 1.5)
37 (74.0%)
1 (2.0%)
Proverb Proverb
41
57 (avg. 1.4)
31 (75.6%)
3 (7.3%)
Pig Latin Pig Latin
2
1 (avg. 0.5)
1 (50.0%)
0 (0.0%)
Secret Handshake Secret Handshake
42
66 (avg. 1.6)
27 (64.3%)
1 (2.4%)
Sum of Multiples Sum of Multiples
41
114 (avg. 2.8)
30 (73.2%)
0 (0.0%)
Pythagorean Triplet Pythagorean Triplet
5
12 (avg. 2.4)
4 (80.0%)
0 (0.0%)
React React
106
139 (avg. 1.3)
42 (39.6%)
5 (4.7%)
63 unimplemented practice exercises
Affine Cipher Affine Cipher
Alphametics Alphametics
Bank Account Bank Account
Book Store Book Store
Bowling Bowling
Change Change
Circular Buffer Circular Buffer
Complex Numbers Complex Numbers
Connect Connect
Crypto Square Crypto Square
Custom Set Custom Set
D&D Character D&D Character
DOT DSL DOT DSL
Diamond Diamond
Dominoes Dominoes
Error Handling Error Handling
Food Chain Food Chain
Go Counting Go Counting
Grade School Grade School
Grep Grep
Hangman Hangman
House House
Kindergarten Garden Kindergarten Garden
Knapsack Knapsack
Ledger Ledger
Lens Person Lens Person
List Ops List Ops
Markdown Markdown
Matrix Matrix
Micro Blog Micro Blog
Minesweeper Minesweeper
OCR Numbers OCR Numbers
POV POV
PaaS I/O PaaS I/O
Parallel Letter Frequency Parallel Letter Frequency
Poker Poker
Queen Attack Queen Attack
REST API REST API
Rail Fence Cipher Rail Fence Cipher
Rational Numbers Rational Numbers
Rectangles Rectangles
Robot Name Robot Name
SGF Parsing SGF Parsing
Saddle Points Saddle Points
Satellite Satellite
Say Say
Scale Generator Scale Generator
Simple Cipher Simple Cipher
Simple Linked List Simple Linked List
Spiral Matrix Spiral Matrix
Square Root Square Root
State of Tic-Tac-Toe State of Tic-Tac-Toe
Sublist Sublist
Tournament Tournament
Transpose Transpose
Tree Building Tree Building
Twelve Days Twelve Days
Two Bucket Two Bucket
Variable Length Quantity Variable Length Quantity
Word Search Word Search
Yacht Yacht
Zebra Puzzle Zebra Puzzle
Zipper Zipper