The book gives you the right amount of information needed as you go through the exercises. Along with the exercise app the bundle offers an interactive learning experience suitable for beginners.
Swift 3 + 2.0/2.1/2.2 support
Training app + the PDF and ePub versions of the book!
Swift Programming from Scratch
“Read by over 100,000 people, We ❤ Swift is hands down one of the best resources for people who have no programming experience and want to learn programming or how to make an App.”
“Designed for people with no programming experience, these text-based tutorials take you from zero to hero when it comes to coding in Swift.”
“Before you know it, you will have spent hours playing with the exercise platform. It’s very addictive and I highly recommend it for anyone wanting to learn or brush up their Swift skills.” – Darrell Nicholas in
iOS Learning Weekly #16
Build a strong foundationof coding skills
“I just finished the last exercise! Man, what a workout! Thanks for giving me the chance to write so much code in swift. I now feel like I have a smattering of capability (and intensely aware of how much more command of the language I need to have).
When I started, I had not written a single line of code in Swift. So I feel like I’ve come a long way. Great challenges. Now I feel like I can dip into iOS and try and make some headway there!”
– Darcy P.
“For those who don’t know Andrei, this is going to be a life changer. Andrei is my Swift programming tutor and in just working together for a few short months, we’re already preparing to launch my first app into the iTunes store. He’s incredibly knowledgeable, sharp as a tack, patient, and understanding of the fundamentals required to build an app from scratch. Excited to spread the Swift love. :)” – Alice H.
Write your first 1000 lines of code
Learn to code in the most loved programming language
Learn one concept at a time
Get automated feedback from our training app
About the book
After Swift was released we knew that a lot of people will want to make apps with it. We wanted to make an iOS course but we kept on hitting the same wall – there was no resource that will teach people enough programming to be able to make apps. We decided to make that resource – and more than everything – make it available for everyone.The book was designed using a principle named Cascading Information Theory, which is used in games. It gives the reader the minimum possible snippets of information to gain the appropriate level of understanding at each point during the book.
This collection of exercises is intended for people with little or no experience with programming. They introduce basic programming concepts one by one. We estimate that it will take about one month of practice to solve every exercise. Most exercises have hints that should help you solve them. If you get stuck on a problem, read the solution and try to understand it – if you don’t, feel free to ask for help in a comment!
To validate these exercises we worked closely with people who have no programming experience. Our goal is to make sure that we can create a solid foundation for someone who is starting out.
One of our students had absolutely no programming experience and was never good at math. After a month of practice with Swift and these exercises he can now read and write code by himself and is diving headfirst into iOS programming.
Each chapter has a bit of theory mostly in the form of code examples and about ten exercises. Before you get started download and install Xcode.
To complement the book we made an app that helps you solve the exercises from the book. It gives you feedback by analysing and running your code. The app keeps tracks your progress and rewards you with achievements.
Online Exercise Platform
Subscribe now and get full access to our online exercise platform + the PDF and ePub versions of the book!
MacOS Training app + the PDF and ePub versions of the book!
PDF, ePub and mobi versions of the book.
The Exercise Platform complements the book by giving feedback to the student, checking for common mistakes and testing out his source code. The app also keeps track of your progress and rewards you with achievements.
Interactively learn the fundamentals of programming through 100+ exercises. Each exercise from the book is accompanied by a custom made playground that can evaluate your solution. Playgrounds make writing Swift code incredibly simple and fun. Type a line of code and get instant feedback. Our custom built playgrounds include problem statements, hints, examples and testing.
Get helpful feedback on your solutions. Check if your solutions are correct directly from the playground. Our exercise platform analyzes your solutions and tells you exactly what’s wrong.
Get free periodic updates. We’ll increase the number of exercises over time, covering Swift 3.0 topics and adding more challenging exercises.
Swift 3 + 2.0/2.1/2.2 support
You can buy Training app + the PDF and ePub versions of the book!
When Swift and Playgrounds where announced we realised that a lot of people will want to learn to make apps. The book published by Apple is intended for people who already know programming and the language used in it is a bit too technical for beginners. We wanted to step in and help the community grow. We didn’t want to charge for the book because then we would have reached less people. We are counting on the support of the community for this project.
Anyone who wants to learn to code in order to make apps. You can’t start directly with iOS if you can’t read or write code. This book will teach you the basics of programming in Swift and give you challenges to help you along the way.
Anyone who wants to understand how computers work: programming is much more than making apps – understanding how computers work opens many doors.
Learning to code is hard. You need to practice a lot and create a habit out of it. The exercises from the book are designed to help you through the first month of coding. Teaching you concepts one by one and reinforcing them with practice.
We hired someone to learn programming from the book while writing it. He spent about 2-3 hours a day coding and solving exercises from the book. In about a month he went through almost all the exercises from the book (there where about 80 then).
We updated the hints and the theory according to the feedback we received from people who used the book to learn programming or teach others.
We estimate that someone who spends that amount of time with the current version of the book will be able to solve all the exercises.
We tried to simplify the basic concepts of programming as much as possible. Although some parts of the book are a bit technical (like the Tuples chapter) most of the content can be easily assimilated by someone who has no experience with programming.
While not mandatory we do encourage you to use the app in order to solve the exercises from the book. The application gives you real time feedback on what you are doing just like a teacher would. It will test you code and give you hints. The app will also help you keep track of your progress and motivate you to keep pushing until you finish the exercises from the book.
How does the app evaluate my solutions?
For each exercise we have a list of tests that your code has to pass in order to be considered correct.
Before running the tests the platform checks for possible errors by analyzing your code.
The platform tries to detect and inform you of the following mistakes you can make:
- Incorrect Output: The output of your program does not match with the expected one
- Typos: You acicdentally mistyped the name of a variable or function
- Missing variables: You did not declare some of the variables you were asked to declare
- Expected values: After running the code some variables did not have the expected value
- Missing functions: You did not declare some of the functions you were asked to declare
- Incorrect function definition: You defined a function but it’s signature is incorrect
- Runtime errors: Your code crashes on some input data – you’ll see the input that caused the crash
- Missing Enums: The code does not contain an
enumyou were asked to declare
- Non recursive functions: You were asked to implement a recursive function but your function is not recursive
- Missing function calls: You were asked to use certain functions to solve the problem but you never used them
Check out the recently updated demo app that includes the first two chapters.
The simple answer is no. The book does not teach you anything about iOS or how apps work. But if you plan on making apps you will have to learn programming before that. Learning to code in the same time you learn to make apps will be more difficult and that will increase the odds of you giving up. Take some time and learn the basic of programming before you start learning iOS.
No – the exercise platform is already integrated in the online version of the book.
Do you offer discounts for bulk purchases or schools?
Yes! Please contact us
Is the book and app updated to swift 3?
Yes! Have fun learning swift!