🎉 Exercism Research is now launched. Help Exercism, help science and have some fun at research.exercism.io 🎉

Swift

Join the Swift Track
Swift is a modern open-source language with the aim of making programming simple things easy, and difficult things possible while still being fast and safe by design. Swift can run in scripting mode in the included REPL or it can be compiled with full support for C and Objective-C interoperability.
Join the Swift Track
Track mentors

19 Mentors

Our mentors are friendly, experienced Swift developers who will help teach you new techniques and tricks.
Track students

8,816 Students

Join thousands of students who have enjoyed learning and improving their skills by taking this track.
Track exercises

83 Exercises

Hundreds of hours have gone into making these exercises fun, useful, and challenging to help you enjoy learning.

About Swift

//
// HelloWorld.swift
//

struct HelloWorld {
    static func hello(_ text: String = "World") -> String {
        return "Hello, \(text)!"
    }
}

Swift is a modern open source programming language that runs on macOS, Linux and on Windows using a linux subsystem.

Swift was developed initially by Apple to interoperate with their key frameworks, Cocoa and CocoaTouch, both of which are mostly implemented in Objective-C.

Swift is influenced by a large number of existing programming languages, and it incorporates concepts from a wide range of programming methods. Everything from scripting to object oriented and functional programming.

Apple refers to Swift as a "protocol oriented programming language" and has expressed the goal of eventually making Swift useful for everything from scripts to an operating system.


This Swift Tour is an introduction the language on Apple's Public Developer Website.


Wikipedia's Swift Page giving a good, Wikipedia-styled overview.


Swift is documented in The Swift Programming Language - again, on Apple's Public Developer Website - and in the iBooks Store. The ePub version is also available on Swift.org.

Join the Swift track

A tremendous learning opportunity to explore the depth of your own knowledge

Exercism is fantastic in learning new languages but that is not the extent of it. If you are a "more experienced" programmer you may have encountered impostor syndrome: the idea you don't really know what you think you know. Exercism lets you solve problems and put them in the space of open feedback which is a tremendous learning opportunity to explore the depth of your own knowledge. Even if you have been programming in a language for awhile it is worth checking into Exercism to see where you stand with current implementation practices.

Relaxed. Encouraging. Supportive.

Meet the Swift Track mentors

Once you join the Swift language track, you will receive support and feedback from our team of mentors. Here are the bios of a few of the mentors of this track.

Avatar of Farhan Ahmed

Farhan Ahmed https://github.com/insha

I have been using Swift professionally for the last 5+ years. It is a wonderful language and evolving quickly. My overall software design experience extends to a little over 2 decades in multiple industries including health care, fintech, and logistics.
Avatar of Emre Kucukayvaz

Emre Kucukayvaz Personal website

I started programming with Java, then moved to Scala, and later ended up in iOS development with Objective-C and Swift. I'm happy to help newcomers from all disciplines.
Avatar of Timothy J

Timothy J https://github.com/timothybarraclough

I'm a professional iOS Developer, leaning towards a functional approach and mathematics based approach. I've been using Swift professionally since 2.0 was released.
Avatar of Sarthak Khillon

Sarthak Khillon Website

Swift is my favorite language! I've been using Swift for 6 years (1 professionally) and it's a joy to read AND write. I'm excited to introduce developers to the language and learn from all of you as well.
Avatar of Greg Stromire

Greg Stromire https://github.com/gstro

I learned to program on embedded devices, and later moved to iOS development in Objective-C and Swift. Most recently, I've been exploring functional programming in Scala. I'm interested in security principles and applied cryptography. And if I can ever find some spare free time, I would love to try out Rust!
Avatar of Victor S. Melo

Victor S. Melo My personal website

A former student of Apple Developer Academy, currently working as a software engineer at ThoughtWorks Brazil.
Fun. Challenging. Interesting

Community-sourced Swift exercises

These are a few of the 83 exercises on the Swift track. You can see all the exercises here.

Run Length Encoding
medium
algorithms
transforming
Bob
easy
control flow if else statements
strings
Secret Handshake
easy
bitwise operations
lists
Difference Of Squares
easy
integers
math
Isogram
easy
filtering
strings
Anagram
medium
filtering
strings

Get started with the Swift track. As with everything on Exercism, it's 100% free!

Join the Swift Track