Swift Track Management

This page provides the Exercism community with the information and tools needed to manage the Swift track.

Students
28,912
Submissions
470,109
Mentoring Discussions
3,479

The Swift track needs attention ⚠️

Building

Swift syllabus

Learn More

Help create the track syllabus: is a set of concepts and learning exercises put together to teach foundational elements of the programming language.

Next goal: Create a complete syllabus with at least 40 concepts. Find out more.
35 concepts being taught
Ba
Basics
6,705 learnt
Bo
Booleans
3,273 learnt
Nu
Numbers
3,714 learnt
Ch
Characters and Strings
3,109 learnt
Es
Escaping functions
2,173 learnt
Hi
Higher Order Functions
2,173 learnt
Co
Conditionals
2,394 learnt
Te
Ternary operator
2,394 learnt
Ar
Arrays
1,851 learnt
Ra
Ranges
438 learnt
fo
for loops
388 learnt
Tu
Tuples
1,546 learnt
Op
Optionals
1,290 learnt
Co
Conditionals Switch
877 learnt
Co
Control transfer
877 learnt
Wh
While and repeat loops
877 learnt
Ca
Capturing
695 learnt
Cl
Closures
695 learnt
Sh
Shorthand arguments
695 learnt
Tr
Trailing closures
695 learnt
Di
Dictionaries
846 learnt
Im
Importing
835 learnt
St
String Indexing
835 learnt
St
String Methods
835 learnt
De
Default Parameters
1,070 learnt
Fu
Function Overloading
1,070 learnt
In
Inout Parameters
1,070 learnt
Mu
Multiple Return Values
1,070 learnt
Ne
Nested Functions
1,070 learnt
Va
Variadic Parameters
1,070 learnt
Me
Methods
688 learnt
Se
Self
688 learnt
St
Structs And Classes
688 learnt
Va
Value and reference types
688 learnt
En
Enumerations
608 learnt
18 active learning exercises
Started
Attempts
Completions
Mentoring requests
Layers of Lasagna Layers of Lasagna
9,743
53,043 (avg. 5.4)
6,705 (68.8%)
99 (1.0%)
Wings Quest Wings Quest
3,783
16,335 (avg. 4.3)
3,273 (86.5%)
43 (1.1%)
Freelancer Rates Freelancer Rates
4,794
56,517 (avg. 11.8)
3,714 (77.5%)
56 (1.2%)
Cal's Custom Sign Shop Cal's Custom Sign Shop
3,566
30,550 (avg. 8.6)
3,109 (87.2%)
20 (0.6%)
Secret Agent Double-Null0111 Secret Agent Double-Null0111
2,711
12,384 (avg. 4.6)
2,173 (80.2%)
25 (0.9%)
Vexing Vehicle Purchase Vexing Vehicle Purchase
2,932
28,953 (avg. 9.9)
2,394 (81.7%)
38 (1.3%)
Magician-in-Training Magician-in-Training
2,117
25,983 (avg. 12.3)
1,851 (87.4%)
31 (1.5%)
ChessBoard ChessBoard
485
2,735 (avg. 5.6)
438 (90.3%)
2 (0.4%)
Bird Watcher Bird Watcher
434
2,085 (avg. 4.8)
388 (89.4%)
5 (1.2%)
Santa's Swifty Helper Santa's Swifty Helper
1,630
6,905 (avg. 4.2)
1,546 (94.8%)
10 (0.6%)
Slice Sizing Slice Sizing
1,463
19,065 (avg. 13.0)
1,290 (88.2%)
34 (2.3%)
Expert Mixologist Expert Mixologist
1,045
13,396 (avg. 12.8)
877 (83.9%)
18 (1.7%)
Double-Null0111: Closures Are Forever Double-Null0111: Closures Are Forever
809
5,718 (avg. 7.1)
695 (85.9%)
8 (1.0%)
High Score Board High Score Board
925
6,137 (avg. 6.6)
846 (91.5%)
7 (0.8%)
The 1st Rule of Poetry Club The 1st Rule of Poetry Club
943
9,554 (avg. 10.1)
835 (88.5%)
10 (1.1%)
Lasagna Master Lasagna Master
1,168
10,307 (avg. 8.8)
1,070 (91.6%)
20 (1.7%)
Windowing System Windowing System
813
9,204 (avg. 11.3)
688 (84.6%)
13 (1.6%)
Log Lines Log Lines
659
2,621 (avg. 4.0)
608 (92.3%)
2 (0.3%)

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.

Synced primary repo: 48a8008020eb93077d480ceeb84c430de08e8331 (Updates should be instant)

Next goal: Implement 138 practice exercises. Find out more.
98 active practice exercises
Started
Attempts
Completions
Mentoring requests
Hello World Hello World
21,229
45,169 (avg. 2.1)
15,368 (72.4%)
16 (0.1%)
Difference of Squares Difference of Squares
2,543
9,385 (avg. 3.7)
1,680 (66.1%)
230 (9.0%)
Gigasecond Gigasecond
2,181
4,083 (avg. 1.9)
1,493 (68.5%)
277 (12.7%)
Leap Leap
3,104
7,051 (avg. 2.3)
2,600 (83.8%)
585 (18.8%)
RNA Transcription RNA Transcription
1,449
3,698 (avg. 2.6)
1,197 (82.6%)
157 (10.8%)
Space Age Space Age
1,156
2,728 (avg. 2.4)
956 (82.7%)
95 (8.2%)
Sum of Multiples Sum of Multiples
1,231
3,659 (avg. 3.0)
1,004 (81.6%)
123 (10.0%)
Two Fer Two Fer
2,487
4,494 (avg. 1.8)
1,974 (79.4%)
921 (37.0%)
Reverse String Reverse String
389
1,218 (avg. 3.1)
318 (81.7%)
4 (1.0%)
Resistor Color Resistor Color
104
473 (avg. 4.5)
83 (79.8%)
2 (1.9%)
Darts Darts
177
611 (avg. 3.5)
137 (77.4%)
4 (2.3%)
Bob Bob
1,069
4,143 (avg. 3.9)
881 (82.4%)
87 (8.1%)
ETL ETL
843
1,612 (avg. 1.9)
733 (87.0%)
19 (2.3%)
Armstrong Numbers Armstrong Numbers
140
699 (avg. 5.0)
119 (85.0%)
3 (2.1%)
Grade School Grade School
818
2,774 (avg. 3.4)
649 (79.3%)
27 (3.3%)
Grains Grains
794
2,889 (avg. 3.6)
664 (83.6%)
61 (7.7%)
Hamming Hamming
961
2,283 (avg. 2.4)
879 (91.5%)
76 (7.9%)
Isogram Isogram
689
1,672 (avg. 2.4)
586 (85.1%)
17 (2.5%)
List Ops List Ops
720
5,337 (avg. 7.4)
508 (70.6%)
15 (2.1%)
Nucleotide Count Nucleotide Count
1,109
2,510 (avg. 2.3)
839 (75.7%)
64 (5.8%)
Raindrops Raindrops
836
1,738 (avg. 2.1)
717 (85.8%)
32 (3.8%)
Resistor Color Duo Resistor Color Duo
67
180 (avg. 2.7)
53 (79.1%)
4 (6.0%)
High Scores High Scores
70
193 (avg. 2.8)
55 (78.6%)
0 (0.0%)
D&D Character D&D Character
33
68 (avg. 2.1)
24 (72.7%)
0 (0.0%)
Square Root Square Root
31
62 (avg. 2.0)
24 (77.4%)
0 (0.0%)
Binary Search Binary Search
445
1,225 (avg. 2.8)
334 (75.1%)
3 (0.7%)
Circular Buffer Circular Buffer
339
1,653 (avg. 4.9)
241 (71.1%)
3 (0.9%)
Clock Clock
537
1,759 (avg. 3.3)
413 (76.9%)
12 (2.2%)
Collatz Conjecture Collatz Conjecture
356
918 (avg. 2.6)
301 (84.6%)
4 (1.1%)
Diamond Diamond
314
937 (avg. 3.0)
231 (73.6%)
1 (0.3%)
Flatten Array Flatten Array
375
1,150 (avg. 3.1)
292 (77.9%)
7 (1.9%)
ISBN Verifier ISBN Verifier
313
1,078 (avg. 3.4)
242 (77.3%)
6 (1.9%)
Kindergarten Garden Kindergarten Garden
377
918 (avg. 2.4)
307 (81.4%)
5 (1.3%)
Perfect Numbers Perfect Numbers
384
1,217 (avg. 3.2)
326 (84.9%)
7 (1.8%)
Phone Number Phone Number
528
1,965 (avg. 3.7)
441 (83.5%)
10 (1.9%)
Protein Translation Protein Translation
299
1,138 (avg. 3.8)
228 (76.3%)
5 (1.7%)
Proverb Proverb
254
782 (avg. 3.1)
201 (79.1%)
5 (2.0%)
Queen Attack Queen Attack
360
896 (avg. 2.5)
300 (83.3%)
7 (1.9%)
Robot Name Robot Name
515
1,079 (avg. 2.1)
412 (80.0%)
7 (1.4%)
Robot Simulator Robot Simulator
355
892 (avg. 2.5)
277 (78.0%)
10 (2.8%)
Scrabble Score Scrabble Score
489
1,238 (avg. 2.5)
421 (86.1%)
6 (1.2%)
Secret Handshake Secret Handshake
290
521 (avg. 1.8)
235 (81.0%)
1 (0.3%)
Sieve Sieve
341
792 (avg. 2.3)
285 (83.6%)
2 (0.6%)
Strain Strain
348
518 (avg. 1.5)
285 (81.9%)
2 (0.6%)
Sublist Sublist
292
873 (avg. 3.0)
218 (74.7%)
4 (1.4%)
Triangle Triangle
518
1,424 (avg. 2.7)
433 (83.6%)
6 (1.2%)
Bottle Song Bottle Song
116
668 (avg. 5.8)
71 (61.2%)
2 (1.7%)
Resistor Color Trio Resistor Color Trio
49
131 (avg. 2.7)
37 (75.5%)
1 (2.0%)
Yacht Yacht
23
79 (avg. 3.4)
16 (69.6%)
0 (0.0%)
Acronym Acronym
409
1,486 (avg. 3.6)
267 (65.3%)
8 (2.0%)
All Your Base All Your Base
278
928 (avg. 3.3)
180 (64.7%)
3 (1.1%)
Allergies Allergies
415
1,084 (avg. 2.6)
305 (73.5%)
9 (2.2%)
Anagram Anagram
443
1,225 (avg. 2.8)
374 (84.4%)
13 (2.9%)
House House
199
521 (avg. 2.6)
142 (71.4%)
1 (0.5%)
Largest Series Product Largest Series Product
216
734 (avg. 3.4)
161 (74.5%)
6 (2.8%)
Matrix Matrix
260
497 (avg. 1.9)
190 (73.1%)
0 (0.0%)
Meetup Meetup
231
532 (avg. 2.3)
146 (63.2%)
2 (0.9%)
Pangram Pangram
234
519 (avg. 2.2)
181 (77.4%)
4 (1.7%)
Pascal's Triangle Pascal's Triangle
203
382 (avg. 1.9)
145 (71.4%)
1 (0.5%)
Prime Factors Prime Factors
205
384 (avg. 1.9)
158 (77.1%)
3 (1.5%)
Pythagorean Triplet Pythagorean Triplet
198
616 (avg. 3.1)
140 (70.7%)
3 (1.5%)
Rotational Cipher Rotational Cipher
152
442 (avg. 2.9)
111 (73.0%)
2 (1.3%)
Saddle Points Saddle Points
161
519 (avg. 3.2)
117 (72.7%)
2 (1.2%)
Say Say
124
395 (avg. 3.2)
77 (62.1%)
1 (0.8%)
Series Series
228
565 (avg. 2.5)
170 (74.6%)
1 (0.4%)
Simple Linked List Simple Linked List
234
714 (avg. 3.1)
160 (68.4%)
0 (0.0%)
Twelve Days Twelve Days
242
444 (avg. 1.8)
180 (74.4%)
1 (0.4%)
Word Count Word Count
549
977 (avg. 1.8)
436 (79.4%)
13 (2.4%)
Atbash Cipher Atbash Cipher
135
498 (avg. 3.7)
105 (77.8%)
1 (0.7%)
Binary Search Tree Binary Search Tree
192
799 (avg. 4.2)
133 (69.3%)
3 (1.6%)
Crypto Square Crypto Square
130
496 (avg. 3.8)
93 (71.5%)
0 (0.0%)
Custom Set Custom Set
161
446 (avg. 2.8)
100 (62.1%)
4 (2.5%)
Food Chain Food Chain
107
232 (avg. 2.2)
72 (67.3%)
0 (0.0%)
Knapsack Knapsack
44
164 (avg. 3.7)
28 (63.6%)
0 (0.0%)
Linked List Linked List
174
467 (avg. 2.7)
119 (68.4%)
6 (3.4%)
Luhn Luhn
155
566 (avg. 3.7)
115 (74.2%)
5 (3.2%)
OCR Numbers OCR Numbers
116
277 (avg. 2.4)
73 (62.9%)
2 (1.7%)
Roman Numerals Roman Numerals
179
460 (avg. 2.6)
129 (72.1%)
3 (1.7%)
Run-Length Encoding Run-Length Encoding
132
371 (avg. 2.8)
94 (71.2%)
1 (0.8%)
Simple Cipher Simple Cipher
118
306 (avg. 2.6)
77 (65.3%)
0 (0.0%)
Rail Fence Cipher Rail Fence Cipher
21
39 (avg. 1.9)
16 (76.2%)
0 (0.0%)
Spiral Matrix Spiral Matrix
21
35 (avg. 1.7)
17 (81.0%)
0 (0.0%)
Word Search Word Search
22
153 (avg. 7.0)
16 (72.7%)
0 (0.0%)
Conway's Game of Life Conway's Game of Life
19
33 (avg. 1.7)
13 (68.4%)
0 (0.0%)
Affine Cipher Affine Cipher
15
17 (avg. 1.1)
10 (66.7%)
0 (0.0%)
Bowling Bowling
128
387 (avg. 3.0)
70 (54.7%)
0 (0.0%)
Complex Numbers Complex Numbers
105
288 (avg. 2.7)
65 (61.9%)
1 (1.0%)
Nth Prime Nth Prime
148
411 (avg. 2.8)
105 (70.9%)
1 (0.7%)
Palindrome Products Palindrome Products
116
555 (avg. 4.8)
77 (66.4%)
0 (0.0%)
Pig Latin Pig Latin
118
317 (avg. 2.7)
74 (62.7%)
2 (1.7%)
Tournament Tournament
115
434 (avg. 3.8)
82 (71.3%)
2 (1.7%)
Transpose Transpose
108
387 (avg. 3.6)
68 (63.0%)
0 (0.0%)
Matching Brackets Matching Brackets
148
358 (avg. 2.4)
110 (74.3%)
1 (0.7%)
Dominoes Dominoes
111
177 (avg. 1.6)
66 (59.5%)
0 (0.0%)
Flower Field Flower Field
24
39 (avg. 1.6)
17 (70.8%)
0 (0.0%)
Wordy Wordy
144
436 (avg. 3.0)
95 (66.0%)
4 (2.8%)
SGF Parsing SGF Parsing
18
127 (avg. 7.1)
12 (66.7%)
1 (5.6%)
Poker Poker
343
506 (avg. 1.5)
76 (22.2%)
1 (0.3%)
8 deprecated practice exercises
Started
Attempts
Completions
Mentoring requests
Accumulate Accumulate
972
2,234 (avg. 2.3)
705 (72.5%)
42 (4.3%)
Beer Song Beer Song
182
256 (avg. 1.4)
133 (73.1%)
1 (0.5%)
Binary Binary
23
35 (avg. 1.5)
23 (100.0%)
0 (0.0%)
Hexadecimal Hexadecimal
6
6 (avg. 1.0)
6 (100.0%)
0 (0.0%)
Minesweeper Minesweeper
122
335 (avg. 2.7)
78 (63.9%)
2 (1.6%)
Octal Octal
14
18 (avg. 1.3)
14 (100.0%)
0 (0.0%)
Scale Generator Scale Generator
179
385 (avg. 2.2)
108 (60.3%)
1 (0.6%)
Trinary Trinary
17
23 (avg. 1.4)
17 (100.0%)
0 (0.0%)
40 unimplemented practice exercises
Alphametics Alphametics
Baffling Birthdays Baffling Birthdays
Bank Account Bank Account
Book Store Book Store
Camicia Camicia
Change Change
Connect Connect
DOT DSL DOT DSL
Eliud's Eggs Eliud's Eggs
Error Handling Error Handling
Forth Forth
Go Counting Go Counting
Grep Grep
Intergalactic Transmission Intergalactic Transmission
Killer Sudoku Helper Killer Sudoku Helper
Ledger Ledger
Lens Person Lens Person
Line Up Line Up
Markdown Markdown
Micro Blog Micro Blog
PaaS I/O PaaS I/O
Parallel Letter Frequency Parallel Letter Frequency
Piecing It Together Piecing It Together
POV POV
Prism Prism
Rational Numbers Rational Numbers
React React
Rectangles Rectangles
Relative Distance Relative Distance
REST API REST API
Satellite Satellite
Save the Cow Save the Cow
Split-Second Stopwatch Split-Second Stopwatch
State of Tic-Tac-Toe State of Tic-Tac-Toe
Swift Scheduling Swift Scheduling
Tree Building Tree Building
Two Bucket Two Bucket
Variable Length Quantity Variable Length Quantity
Zebra Puzzle Zebra Puzzle
Zipper Zipper

Test Runner

Learn More

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

Current version: 0b02fc4f587420e8c7f570abb4f480b411a302b3 (Takes up to 10 mins to deploy)

Total Test Runner Runs
453,880
Test Run Pass Rate
18.3% (83196)
Test Run Fail Rate
22.5% (102329)
Test Run Error Rate
59.1% (268355)

Representer

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.

Analyzer

Learn More

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

Next goal: Build an Analyzer. Find out more.