15,034
students have developed their Scala skills on Exercism.

Students
15,034
Submissions
118,630
Mentoring Discussions
6,732

The Scala track needs attention ⚠️

Building

Build

Use your knowledge to build the Scala 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
93,997
Test Run Pass Rate
34.3% (32249)
Test Run Fail Rate
14.6% (13765)
Test Run Error Rate
51.0% (47983)

Build Analyzers

Learn More

Build an Analyzer for Scala: 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 130 practice exercises. Find out more.

Usage statistics

92 active practice exercises
Started
Attempts
Completions
Mentoring requests
Hello World Hello World
9,011
11,852 (avg. 1.3)
7,557 (83.9%)
86 (1.0%)
Two Fer Two Fer
4,166
17,348 (avg. 4.2)
2,677 (64.3%)
650 (15.6%)
Leap Leap
3,954
7,750 (avg. 2.0)
3,402 (86.0%)
743 (18.8%)
Space Age Space Age
2,868
6,381 (avg. 2.2)
2,283 (79.6%)
557 (19.4%)
Grade School Grade School
2,330
7,734 (avg. 3.3)
1,591 (68.3%)
449 (19.3%)
Bob Bob
2,974
8,628 (avg. 2.9)
2,466 (82.9%)
596 (20.0%)
Hamming Hamming
1,927
4,282 (avg. 2.2)
1,712 (88.8%)
455 (23.6%)
ETL ETL
1,431
2,790 (avg. 1.9)
1,189 (83.1%)
276 (19.3%)
Robot Simulator Robot Simulator
1,035
3,151 (avg. 3.0)
733 (70.8%)
184 (17.8%)
Secret Handshake Secret Handshake
793
1,837 (avg. 2.3)
613 (77.3%)
153 (19.3%)
Robot Name Robot Name
1,568
2,527 (avg. 1.6)
914 (58.3%)
186 (11.9%)
Matching Brackets Matching Brackets
971
2,163 (avg. 2.2)
559 (57.6%)
77 (7.9%)
Beer Song Beer Song
762
1,829 (avg. 2.4)
490 (64.3%)
35 (4.6%)
House House
610
1,094 (avg. 1.8)
355 (58.2%)
15 (2.5%)
Food Chain Food Chain
313
388 (avg. 1.2)
155 (49.5%)
6 (1.9%)
Armstrong Numbers Armstrong Numbers
644
1,267 (avg. 2.0)
527 (81.8%)
43 (6.7%)
Collatz Conjecture Collatz Conjecture
859
1,507 (avg. 1.8)
712 (82.9%)
56 (6.5%)
Triangle Triangle
567
1,287 (avg. 2.3)
487 (85.9%)
31 (5.5%)
Pascal's Triangle Pascal's Triangle
382
807 (avg. 2.1)
263 (68.8%)
13 (3.4%)
Prime Factors Prime Factors
440
1,210 (avg. 2.8)
313 (71.1%)
22 (5.0%)
Spiral Matrix Spiral Matrix
230
278 (avg. 1.2)
118 (51.3%)
8 (3.5%)
Nth Prime Nth Prime
253
446 (avg. 1.8)
172 (68.0%)
9 (3.6%)
Forth Forth
204
338 (avg. 1.7)
58 (28.4%)
5 (2.5%)
Clock Clock
409
747 (avg. 1.8)
277 (67.7%)
13 (3.2%)
Meetup Meetup
328
401 (avg. 1.2)
259 (79.0%)
8 (2.4%)
Nucleotide Count Nucleotide Count
627
1,118 (avg. 1.8)
565 (90.1%)
92 (14.7%)
Word Count Word Count
910
1,591 (avg. 1.7)
786 (86.4%)
99 (10.9%)
Parallel Letter Frequency Parallel Letter Frequency
155
327 (avg. 2.1)
85 (54.8%)
13 (8.4%)
Alphametics Alphametics
138
241 (avg. 1.7)
48 (34.8%)
4 (2.9%)
Lens Person Lens Person
131
176 (avg. 1.3)
55 (42.0%)
2 (1.5%)
Binary Search Binary Search
346
716 (avg. 2.1)
248 (71.7%)
10 (2.9%)
Grains Grains
445
1,211 (avg. 2.7)
369 (82.9%)
32 (7.2%)
Phone Number Phone Number
638
1,150 (avg. 1.8)
560 (87.8%)
62 (9.7%)
RNA Transcription RNA Transcription
389
642 (avg. 1.7)
345 (88.7%)
24 (6.2%)
Strain Strain
371
561 (avg. 1.5)
298 (80.3%)
14 (3.8%)
Linked List Linked List
163
344 (avg. 2.1)
92 (56.4%)
0 (0.0%)
Queen Attack Queen Attack
189
392 (avg. 2.1)
152 (80.4%)
9 (4.8%)
Simple Cipher Simple Cipher
131
142 (avg. 1.1)
75 (57.3%)
2 (1.5%)
Simple Linked List Simple Linked List
194
300 (avg. 1.5)
80 (41.2%)
5 (2.6%)
Binary Search Tree Binary Search Tree
182
279 (avg. 1.5)
113 (62.1%)
12 (6.6%)
Dominoes Dominoes
96
179 (avg. 1.9)
42 (43.8%)
0 (0.0%)
Sublist Sublist
198
324 (avg. 1.6)
169 (85.4%)
18 (9.1%)
Connect Connect
93
84 (avg. 0.9)
40 (43.0%)
5 (5.4%)
Say Say
106
152 (avg. 1.4)
55 (51.9%)
3 (2.8%)
Crypto Square Crypto Square
155
190 (avg. 1.2)
111 (71.6%)
3 (1.9%)
Bowling Bowling
93
158 (avg. 1.7)
37 (39.8%)
0 (0.0%)
Pythagorean Triplet Pythagorean Triplet
163
254 (avg. 1.6)
113 (69.3%)
3 (1.8%)
Bank Account Bank Account
212
301 (avg. 1.4)
145 (68.4%)
20 (9.4%)
Zebra Puzzle Zebra Puzzle
93
84 (avg. 0.9)
39 (41.9%)
0 (0.0%)
Darts Darts
225
404 (avg. 1.8)
176 (78.2%)
10 (4.4%)
Difference of Squares Difference of Squares
643
934 (avg. 1.5)
542 (84.3%)
52 (8.1%)
Gigasecond Gigasecond
633
705 (avg. 1.1)
493 (77.9%)
41 (6.5%)
Sum of Multiples Sum of Multiples
2,179
3,071 (avg. 1.4)
1,670 (76.6%)
670 (30.7%)
Accumulate Accumulate
905
1,321 (avg. 1.5)
788 (87.1%)
192 (21.2%)
Flatten Array Flatten Array
657
875 (avg. 1.3)
470 (71.5%)
24 (3.7%)
High Scores High Scores
170
297 (avg. 1.7)
132 (77.6%)
2 (1.2%)
Pangram Pangram
723
1,173 (avg. 1.6)
629 (87.0%)
106 (14.7%)
Raindrops Raindrops
435
701 (avg. 1.6)
388 (89.2%)
29 (6.7%)
Isogram Isogram
364
520 (avg. 1.4)
299 (82.1%)
20 (5.5%)
Perfect Numbers Perfect Numbers
493
816 (avg. 1.7)
417 (84.6%)
106 (21.5%)
Protein Translation Protein Translation
247
447 (avg. 1.8)
195 (78.9%)
5 (2.0%)
Scrabble Score Scrabble Score
424
727 (avg. 1.7)
376 (88.7%)
29 (6.8%)
Sieve Sieve
389
555 (avg. 1.4)
280 (72.0%)
26 (6.7%)
Acronym Acronym
196
386 (avg. 2.0)
152 (77.6%)
3 (1.5%)
All Your Base All Your Base
168
199 (avg. 1.2)
109 (64.9%)
8 (4.8%)
Allergies Allergies
269
346 (avg. 1.3)
198 (73.6%)
4 (1.5%)
Anagram Anagram
785
1,091 (avg. 1.4)
697 (88.8%)
82 (10.4%)
Diamond Diamond
71
82 (avg. 1.2)
43 (60.6%)
1 (1.4%)
Kindergarten Garden Kindergarten Garden
188
268 (avg. 1.4)
137 (72.9%)
8 (4.3%)
Largest Series Product Largest Series Product
190
357 (avg. 1.9)
148 (77.9%)
7 (3.7%)
Matrix Matrix
498
620 (avg. 1.2)
392 (78.7%)
75 (15.1%)
Saddle Points Saddle Points
139
149 (avg. 1.1)
101 (72.7%)
3 (2.2%)
Series Series
283
347 (avg. 1.2)
216 (76.3%)
9 (3.2%)
Atbash Cipher Atbash Cipher
158
219 (avg. 1.4)
134 (84.8%)
18 (11.4%)
Book Store Book Store
259
269 (avg. 1.0)
132 (51.0%)
40 (15.4%)
Custom Set Custom Set
108
107 (avg. 1.0)
71 (65.7%)
1 (0.9%)
Luhn Luhn
171
305 (avg. 1.8)
132 (77.2%)
7 (4.1%)
Roman Numerals Roman Numerals
211
251 (avg. 1.2)
157 (74.4%)
15 (7.1%)
Rotational Cipher Rotational Cipher
78
87 (avg. 1.1)
52 (66.7%)
0 (0.0%)
Run-Length Encoding Run-Length Encoding
224
349 (avg. 1.6)
181 (80.8%)
23 (10.3%)
Complex Numbers Complex Numbers
126
169 (avg. 1.3)
83 (65.9%)
3 (2.4%)
OCR Numbers OCR Numbers
108
106 (avg. 1.0)
71 (65.7%)
4 (3.7%)
Palindrome Products Palindrome Products
157
237 (avg. 1.5)
97 (61.8%)
7 (4.5%)
Pig Latin Pig Latin
87
83 (avg. 1.0)
52 (59.8%)
3 (3.4%)
Rail Fence Cipher Rail Fence Cipher
70
78 (avg. 1.1)
43 (61.4%)
0 (0.0%)
Change Change
115
194 (avg. 1.7)
45 (39.1%)
3 (2.6%)
Minesweeper Minesweeper
112
124 (avg. 1.1)
75 (67.0%)
3 (2.7%)
Wordy Wordy
103
173 (avg. 1.7)
69 (67.0%)
4 (3.9%)
Yacht Yacht
3
22 (avg. 7.3)
1 (33.3%)
0 (0.0%)
SGF Parsing SGF Parsing
68
77 (avg. 1.1)
22 (32.4%)
2 (2.9%)
Variable Length Quantity Variable Length Quantity
62
93 (avg. 1.5)
28 (45.2%)
2 (3.2%)
Zipper Zipper
103
144 (avg. 1.4)
45 (43.7%)
4 (3.9%)
4 deprecated practice exercises
Started
Attempts
Completions
Mentoring requests
Binary Binary
65
107 (avg. 1.6)
65 (100.0%)
10 (15.4%)
Hexadecimal Hexadecimal
31
39 (avg. 1.3)
31 (100.0%)
2 (6.5%)
Octal Octal
21
29 (avg. 1.4)
21 (100.0%)
1 (4.8%)
Trinary Trinary
18
19 (avg. 1.1)
18 (100.0%)
0 (0.0%)
38 unimplemented practice exercises
Affine Cipher Affine Cipher
Bottle Song Bottle Song
Circular Buffer Circular Buffer
D&D Character D&D Character
DOT DSL DOT DSL
Error Handling Error Handling
Go Counting Go Counting
Grep Grep
Hangman Hangman
ISBN Verifier ISBN Verifier
Killer Sudoku Helper Killer Sudoku Helper
Knapsack Knapsack
Ledger Ledger
List Ops List Ops
Markdown Markdown
Micro Blog Micro Blog
POV POV
PaaS I/O PaaS I/O
Poker Poker
Proverb Proverb
REST API REST API
Rational Numbers Rational Numbers
React React
Rectangles Rectangles
Resistor Color Resistor Color
Resistor Color Duo Resistor Color Duo
Resistor Color Trio Resistor Color Trio
Reverse String Reverse String
Satellite Satellite
Scale Generator Scale Generator
Square Root Square Root
State of Tic-Tac-Toe State of Tic-Tac-Toe
Tournament Tournament
Transpose Transpose
Tree Building Tree Building
Twelve Days Twelve Days
Two Bucket Two Bucket
Word Search Word Search