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

Students
1,713
Submissions
18,660
Mentoring Discussions
868

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
14,456
Test Run Pass Rate
34.7% (5010)
Test Run Fail Rate
25.7% (3718)
Test Run Error Rate
39.6% (5728)

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.

Usage statistics

Total Representer Runs
858
Total Representation Comments Made
0
Feedback Given Frequency
0.0%

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

82 active practice exercises
Started
Attempts
Completions
Mentoring requests
Hello World Hello World
1,188
1,465 (avg. 1.2)
1,011 (85.1%)
5 (0.4%)
Acronym Acronym
365
1,988 (avg. 5.4)
213 (58.4%)
16 (4.4%)
Anagram Anagram
246
1,100 (avg. 4.5)
195 (79.3%)
14 (5.7%)
Armstrong Numbers Armstrong Numbers
153
530 (avg. 3.5)
129 (84.3%)
6 (3.9%)
Atbash Cipher Atbash Cipher
176
1,206 (avg. 6.9)
132 (75.0%)
9 (5.1%)
Binary Binary
138
554 (avg. 4.0)
110 (79.7%)
9 (6.5%)
Binary Search Tree Binary Search Tree
112
838 (avg. 7.5)
44 (39.3%)
10 (8.9%)
Bob Bob
312
714 (avg. 2.3)
249 (79.8%)
72 (23.1%)
Bottle Song Bottle Song
19
57 (avg. 3.0)
15 (78.9%)
0 (0.0%)
Clock Clock
41
307 (avg. 7.5)
33 (80.5%)
1 (2.4%)
Collatz Conjecture Collatz Conjecture
78
296 (avg. 3.8)
62 (79.5%)
5 (6.4%)
Difference of Squares Difference of Squares
166
344 (avg. 2.1)
153 (92.2%)
37 (22.3%)
ETL ETL
55
116 (avg. 2.1)
42 (76.4%)
2 (3.6%)
Flatten Array Flatten Array
84
147 (avg. 1.8)
66 (78.6%)
5 (6.0%)
Gigasecond Gigasecond
349
583 (avg. 1.7)
314 (90.0%)
89 (25.5%)
Hamming Hamming
546
935 (avg. 1.7)
407 (74.5%)
187 (34.2%)
Isogram Isogram
68
232 (avg. 3.4)
57 (83.8%)
6 (8.8%)
Largest Series Product Largest Series Product
133
375 (avg. 2.8)
110 (82.7%)
32 (24.1%)
Leap Leap
223
337 (avg. 1.5)
207 (92.8%)
43 (19.3%)
Matching Brackets Matching Brackets
180
263 (avg. 1.5)
133 (73.9%)
19 (10.6%)
Pangram Pangram
183
382 (avg. 2.1)
164 (89.6%)
41 (22.4%)
Pascal's Triangle Pascal's Triangle
58
201 (avg. 3.5)
42 (72.4%)
1 (1.7%)
Raindrops Raindrops
240
412 (avg. 1.7)
215 (89.6%)
62 (25.8%)
Resistor Color Resistor Color
51
106 (avg. 2.1)
42 (82.4%)
4 (7.8%)
Resistor Color Duo Resistor Color Duo
49
213 (avg. 4.3)
39 (79.6%)
5 (10.2%)
Reverse String Reverse String
70
118 (avg. 1.7)
59 (84.3%)
3 (4.3%)
Rotational Cipher Rotational Cipher
13
54 (avg. 4.2)
13 (100.0%)
1 (7.7%)
RNA Transcription RNA Transcription
301
569 (avg. 1.9)
277 (92.0%)
72 (23.9%)
Roman Numerals Roman Numerals
108
166 (avg. 1.5)
80 (74.1%)
6 (5.6%)
Run-Length Encoding Run-Length Encoding
67
136 (avg. 2.0)
45 (67.2%)
4 (6.0%)
Scrabble Score Scrabble Score
48
135 (avg. 2.8)
39 (81.3%)
3 (6.3%)
Sieve Sieve
125
173 (avg. 1.4)
94 (75.2%)
10 (8.0%)
Space Age Space Age
46
92 (avg. 2.0)
33 (71.7%)
2 (4.3%)
Triangle Triangle
160
437 (avg. 2.7)
133 (83.1%)
46 (28.7%)
Two Fer Two Fer
64
73 (avg. 1.1)
55 (85.9%)
5 (7.8%)
Darts Darts
38
102 (avg. 2.7)
31 (81.6%)
3 (7.9%)
Resistor Color Trio Resistor Color Trio
13
299 (avg. 23.0)
10 (76.9%)
2 (15.4%)
ISBN Verifier ISBN Verifier
40
188 (avg. 4.7)
29 (72.5%)
0 (0.0%)
Luhn Luhn
43
275 (avg. 6.4)
27 (62.8%)
1 (2.3%)
Strain Strain
39
49 (avg. 1.3)
26 (66.7%)
0 (0.0%)
Binary Search Binary Search
9
50 (avg. 5.6)
8 (88.9%)
0 (0.0%)
Phone Number Phone Number
10
128 (avg. 12.8)
8 (80.0%)
1 (10.0%)
Nucleotide Count Nucleotide Count
9
45 (avg. 5.0)
8 (88.9%)
1 (11.1%)
High Scores High Scores
11
25 (avg. 2.3)
11 (100.0%)
1 (9.1%)
All Your Base All Your Base
28
104 (avg. 3.7)
18 (64.3%)
1 (3.6%)
Wordy Wordy
8
10 (avg. 1.3)
5 (62.5%)
0 (0.0%)
Saddle Points Saddle Points
2
1 (avg. 0.5)
1 (50.0%)
0 (0.0%)
Forth Forth
60
146 (avg. 2.4)
34 (56.7%)
7 (11.7%)
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
81 (avg. 2.2)
29 (78.4%)
3 (8.1%)
Series Series
34
122 (avg. 3.6)
25 (73.5%)
0 (0.0%)
Sublist Sublist
5
9 (avg. 1.8)
5 (100.0%)
0 (0.0%)
Word Count Word Count
12
48 (avg. 4.0)
10 (83.3%)
0 (0.0%)
Matrix Matrix
4
8 (avg. 2.0)
2 (50.0%)
0 (0.0%)
Queen Attack Queen Attack
2
2 (avg. 1.0)
2 (100.0%)
0 (0.0%)
Robot Simulator Robot Simulator
10
43 (avg. 4.3)
10 (100.0%)
0 (0.0%)
Killer Sudoku Helper Killer Sudoku Helper
3
6 (avg. 2.0)
2 (66.7%)
0 (0.0%)
Minesweeper Minesweeper
2
1 (avg. 0.5)
1 (50.0%)
0 (0.0%)
Bank Account Bank Account
3
4 (avg. 1.3)
3 (100.0%)
0 (0.0%)
Palindrome Products Palindrome Products
6
20 (avg. 3.3)
4 (66.7%)
1 (16.7%)
Linked List Linked List
9
116 (avg. 12.9)
6 (66.7%)
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
51
74 (avg. 1.5)
38 (74.5%)
1 (2.0%)
Proverb Proverb
42
58 (avg. 1.4)
32 (76.2%)
3 (7.1%)
Pig Latin Pig Latin
2
1 (avg. 0.5)
1 (50.0%)
0 (0.0%)
Diamond Diamond
4
13 (avg. 3.3)
4 (100.0%)
0 (0.0%)
Rail Fence Cipher Rail Fence Cipher
3
6 (avg. 2.0)
2 (66.7%)
0 (0.0%)
Rational Numbers Rational Numbers
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
42
115 (avg. 2.7)
31 (73.8%)
0 (0.0%)
Pythagorean Triplet Pythagorean Triplet
7
15 (avg. 2.1)
5 (71.4%)
0 (0.0%)
State of Tic-Tac-Toe State of Tic-Tac-Toe
2
1 (avg. 0.5)
1 (50.0%)
0 (0.0%)
Change Change
4
15 (avg. 3.8)
3 (75.0%)
0 (0.0%)
Dominoes Dominoes
2
2 (avg. 1.0)
1 (50.0%)
0 (0.0%)
Connect Connect
3
3 (avg. 1.0)
1 (33.3%)
0 (0.0%)
React React
109
139 (avg. 1.3)
42 (38.5%)
5 (4.6%)
Say Say
2
1 (avg. 0.5)
1 (50.0%)
0 (0.0%)
Two Bucket Two Bucket
4
1 (avg. 0.3)
1 (25.0%)
0 (0.0%)
Alphametics Alphametics
1
0 (avg. 0.0)
0 (0.0%)
0 (0.0%)
47 unimplemented practice exercises
Affine Cipher Affine Cipher
Book Store Book Store
Bowling Bowling
Circular Buffer Circular Buffer
Complex Numbers Complex Numbers
Crypto Square Crypto Square
Custom Set Custom Set
D&D Character D&D Character
DOT DSL DOT DSL
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
Micro Blog Micro Blog
OCR Numbers OCR Numbers
POV POV
PaaS I/O PaaS I/O
Parallel Letter Frequency Parallel Letter Frequency
Poker Poker
REST API REST API
Rectangles Rectangles
Robot Name Robot Name
SGF Parsing SGF Parsing
Satellite Satellite
Scale Generator Scale Generator
Simple Cipher Simple Cipher
Simple Linked List Simple Linked List
Spiral Matrix Spiral Matrix
Square Root Square Root
Tournament Tournament
Transpose Transpose
Tree Building Tree Building
Twelve Days Twelve Days
Variable Length Quantity Variable Length Quantity
Word Search Word Search
Yacht Yacht
Zebra Puzzle Zebra Puzzle
Zipper Zipper