10 Best Swift Courses to Take in 2023 — Class Central

image
Course
Workload
In Brief
100–200 hours long
Best comprehensive, project-based course
25–50 hours long
Best university course
3 hours long
Best short project-based course
64–80 hours long
Best intermediate-length project-based course
11 hours long
Best for short instructional lessons
25 hours long
Best interactive course
30–60 hours long
Best app for K-12 and highschool students
One week long
Best beginners course for the time constraint
16 hours long
Best bite-sized SwiftUI course
60 hours long
Best course that also covers more advanced topics
image
  • If you have an iPad but not a Mac or Macbook, then try out our seventh pick.

Without further ado, let’s go through the top picks.

1. 100 Days of SwiftUI (Hacking with Swift)

image

My #1 pick for the best Swift course is 100 Days of SwiftUI by Hacking with Swift, because it is free, up-to-date (iOS 15 and Swift 5.5), and comprehensive.

This course is aimed at complete beginners who want to learn how to build iOS apps. It takes a hands-on approach towards learning: you’ll learn by building lots of apps, either with templates provided by the course or completely on your own!

You’ll learn about SwiftUI, Apple’s framework for building user interfaces with very little code, and Swift, a general-purpose, open-source programming language designed by Apple.

What You’ll Learn

You’ll begin the course by installing and getting familiar with Xcode, Apple’s integrated development environment.

Then, you’ll cover the fundamentals of the Swift programming language: variables, data types, simple data structures, conditional statements, loops, and functions. Additionally, you’ll learn some intermediate concepts, like structs that allow you to define the properties of your code and classes with properties that can be inherited by other code.

After mastering the basics of Swift, you’ll start building apps with SwiftUI by discussing some of the fundamentals of iOS development. Your first two projects consist of a check-sharing app that calculates bills and tips and a flag guessing app. You’ll design the interface, make it interactive, and then add program logic to make it functional.

Next, you’ll build another three projects that involve handling user data and user errors, leveraging the power of machine learning, and creating and customizing beautiful animations. After that, you’ll complete another three projects that cover the essential concept of states and bindings. Finally, you’ll also have a taste of object-oriented programming and its relation to the overall app architecture.

Another three projects (there are a lot of projects!) will be completed by you that’ll deal more carefully with sending, retrieving, and storing data. It’ll discuss data privacy, local storage, cloud synchronization, and efficiently fetching, processing, and displaying data.

Controlling user view and UI flow are two essential components of iOS app development. You’ll investigate integrating code from frameworks outside of SwiftUI (like UIKit and MapKit) and explore more ways of letting users interact with your apps through tab bars, gestures, haptics, and more. All of course, by completing projects.

The final part of the course covers tips and techniques to help you build great apps, like split view layouts, layouts with transparent groups, formatting lists in text, and optimized for iPad.

How You’ll Learn

This course is 100–200 hours long. To get the most out of this course, you are recommended to spend an hour each day reading or watching SwiftUI tutorials, or writing SwiftUI code. You’ll learn by reading the lecture videos, course articles, and completing quizzes.

The course comes with 19 projects (not including challenges that involve you building your own apps), along with review sessions spaced out over the 100 days that’ll help you consolidate what you’ve learned.

Institution
Hacking with Swift
Instructor
Paul Hudson
Level
Beginner
Workload
100–200 hours
Certificate
None

Fun Facts

If you’re interested in this course, you can find more information about the course and how to enroll here.

2. CS193p – Developing Apps for iOS (Stanford University)

image

My #2 pick for the best Swift course is Stanford’s CS193p, originally offered to Stanford students but is now freely available to all.

Developing Applications for iOS explains the fundamentals of building iOS applications using SwiftUI. You’ll build two sizable applications: a card game and a drawing software. By the end of the course, you’ll be well-versed in Swift and SwiftUI programming.

This course is not for complete beginners to programming. You’ll need some experience with another programming language, preferably within the object-oriented paradigm.

What You’ll Learn

The course begins by jumping right into building your first application: a card-matching game called Memorize. After that, it’ll serve as the foundation for learning SwiftUI and Swift concepts, like the Model–view–viewmodel architectural paradigm, Swift’s type system, enums, and optionals.

Still within the context of Memorize, you’ll explore property observers that observe and respond to changes in a property’s value that can be wrapped with @State and @Viewbuilder. You’ll then discuss protocols, the most important type in Swift, and see how generics and protocols can be used to design a better user interface. Afterward, you’ll add animations to Memorize to truly bring it to life.

Moving on, you’ll begin a new project called EmojiArt, where you can draw a nice picture with emojis. Hence, you’ll learn much about touch gestures like drag and drop. Several persistence topics will also be covered, along with error handling, before going over numerous properties wrappers and SwiftUI elements that help make SwiftUI programming easier.

SwiftUI’s document architecture allows you to turn EmojiARt into a multi-document application, which will enable you to create different works within EmojiArt. Then, you’ll integrate UIKit functionality into your application to take advantage of some features not yet implemented in SwiftUI. Finally, you’ll end the course by porting the iOS application to macOS.

How You’ll Learn

This course is 25–50 hours long. You’ll learn by watching the lecture videos, going through the uploaded code demo, and completing the programming assignments that aim to test your programming skills.

Institution
Stanford University
Instructor
Paul Hegarty
Level
Beginner
Workload
25–50 hours total
Views
388K
Likes
11K
Certificate
None

Fun Facts

  • There have been many iterations of CS193P, but it has only been uploaded freely on YouTube in 2020.
  • Apparently, Paul keeps a low social media presence such that even his Stanford website can only be accessed by Stanford associates.

If you’re interested in this course, you can find more information about the course and how to enroll here.

3. Your First iOS & SwiftUI App: An App from Scratch (raywenderlich.com)

image

If you’re a complete beginner to iOS and SwiftUI development and wondering how to get started, this free course is for you.

You’ll start by learning the basics of SwiftUI, a new way for iOS developers to build user interfaces for their apps using Swift. You’ll also dive into the Swift programming language itself, learning fundamentals like if/else statements, variables, constants, type inference, and the Swift standard library. You’ll add more cool functionality to your game and practice your new coding skills.

You’ll even learn useful techniques you’ll use as a developer in the real world, like App Architecture and Unit Testing!

What You’ll Learn

The course begins by telling you what you will build — a simple but fun game called Bull’s Eye. Then, to help you get into the habit of understanding the project scope, you’ll make a to-do list of all the things needed to develop Bull’s Eye.

Next, you’ll explore SwiftUI, a framework for building user interfaces with very little code. Finally, you’ll design the interface for your app, get a glimpse of the basics of object-oriented programming, and learn how to debug errors when they inevitably pop up.

In the next part of the course, you’ll work on making Bull’s Eye interactive by wrapping your head around two essential concepts: state and binding. You’ll then round off the section with some strings, variables, and app architecture basics. Additionally, you’ll create a simple data model for the gameplay logic.

Moving on, you’ll take a deeper look at the Swift standard library, a library of functions written by Apple engineers that you can use in your Swift code. Finally, you’ll use it to create a random target number in Bull’s Eye.

Then, you’ll learn about unit testing that’ll help you ensure that the Bull’s Eye data model is working the way it should and see why test-driven development, incorporating unit testing into your daily workflow, is incredibly beneficial for productivity.

In the course’s final parts, you’ll write the code to calculate the points for the game in a few iterations, from naive to ideal. Along the way, you’ll learn about fundamental coding techniques with Swift, such as if/else statements, variables versus constant, type inference, and much more, to end up with a complete functional (and fun!) game.

How You’ll Learn

This course is 3 hours long, split into three sections. You’ll learn by watching the lecture videos and following along with the instructor as he codes.

Provider
raywenderlich.com
Instructor
Ray Wenderlich
Level
Beginner
Workload
3 hours total
Rating
4.6 / 5.0 (8)
Certificate
None

Fun Facts

  • Raywenderlich.com’s mission is to create a world-class educational platform and community for mobile developers.
  • The next course to take after this course Your First iOS & SwiftUI App: Polishing the App, where you’ll give your app a professional and polished look and experience.

If you’re interested in this course, you can find more information about the course and how to enroll here.

4. Build your very first iOS app (Curtin University)

image

Build your very first iOS app by Curtin University teaches you tools, techniques, and concepts needed to develop iOS apps from scratch.

You’ll be introduced to the Swift programming language and learn how to utilize Apple’s developer tools to build an app. By the end of the free-to-audit 8 weeks limited access course, you’ll be able to confidently converse with iOS developers and develop your own simple iOS Apps.

There are no prerequisites required to take this course.

What You’ll Learn

The course begins with an introduction to programming, especially within the Swift context of developing iOS apps. Next, you’ll explore Xcode, Apple’s integrated development environment, and learn about variables, data types, and operators. Then, you’ll move further into the core programming concepts like making decisions with conditional statements and using arrays and dictionaries to store data.

Xcode comes with an interface builder that allows you to define the layout of your app. In addition, you’ll learn how to navigate through Xcode projects, along with understanding the importance of code documentation and debugging.

Many programming concepts are based on abstraction — hiding all but the most important details of an object. You’ll study functions that allow you to reuse code, and classes and structures to create custom data types.

Switching gears, you’ll continue improving your user interface by exploring the common user interface views and control, including making your user interface interactive. You’ll also investigate view controllers that allow you to create a navigation hierarchy for your app, creating a smooth and intuitive user experience. The course ends with TableViews that display tables within your app. Finally, you’ll implement the Model View Controller design pattern to allow for responsive user inputs.

How You’ll Learn

This course is 8 weeks long, with each week taking 8–10 hours of study. You’ll study by watching the video lectures and reading the course materials.

If you are a verified student, you’ll have access to seven end-of-lesson quizzes which help test your comprehension and understanding of the key concepts covered in the lesson.

Institution
Curtin University
Provider
edX
Instructor
David A. McMeekin and Tristan W. Reed
Level
Beginner
Workload
64–80 hours total
Enrollments
45K
Certificate
Paid

Fun Facts

If you’re interested in this course, you can find more information about the course and how to enroll here.

5. Introduction to Programming in Swift 5 (LearnQuest)

image

Introduction to Programming in Swift 5 by LearnQuest introduces you to the absolute basics of Swift. This free-to-audit course is excellent for both beginners to programming, or those who already have experience programming wanting to get involved in the Swift language.

By the end of the course, you’ll know how to build simple iOS applications and move on to more advanced topics.

What You’ll Learn

The course begins by setting up your developer environment, Xcode, after which you’ll plunge straight into the basics: variable assignment, data types like strings and numbers, and printing to screen. Then, you’ll learn about program logic: conditional statements and loops. Finally, you’ll see how loops can help you quickly iterate through the elements of an array.

You’ll then discover dictionaries that hold key-value pairs, like a phone book that stores names and phone numbers. Then, you’ll learn how to write functions that act as reusable blocks of code that can be called anywhere from within the problem.

The course ends with a module on architecture and object-oriented programming (OOP). You’ll learn the main pillars of OOP, inheritance, and polymorphism and understand how OOP influences the design and implementation of an application, an example being the Model View Controller that structures, displays data, and receives data.

How You’ll Learn

This course is 4 weeks long with 11 hours worth of material. You’ll learn by watching the lecture videos and completing the course readings.

If you are paying for the certificate, you’ll have access to the graded quizzes and programming exercises that’ll test your knowledge of the programming language.

Institution
LearnQuest
Provider
Coursera
Instructor
Mark Price
Level
Beginner
Workload
11 hours total
Enrollments
19K
Rating
4.4 / 5.0 (650)
Certificate
Paid

Fun Facts

If you’re interested in this course, you can find more information about the course and how to enroll here.

6. Learn Swift (Codecademy)

image

In this free limited-access Codecademy course for complete beginners to programming, you’ll start with the fundamental programming concepts before digging deeper into the more advanced Swift topics, like structures and classes. You will build everything from a Magic 8-Ball to a Caesar Cipher.

There are no prerequisites for this course.

What You’ll Learn

The course begins with you writing your first Swift program that’ll print the perennial programmatic phrase ‘Hello World!’. Then, you’ll learn about the core programming concepts, starting with variables and basic data types like strings and booleans. Next, you’ll learn how to implement program logic into your code, that is, having your program make decisions and repeat code blocks.

Once you’ve got those core concepts down, you’ll climb higher up the programming skill ladder by looking at common data structures that help organize data, like arrays, sets, and dictionaries. Finally, you’ll see the importance of these data structures when you begin to write more complex programs.

In the course’s final section, you’ll learn how to write and interact with named, reusable blocks of code called a function. Afterward, you’ll learn how to create structures that can represent real-life objects in code before ending with a lesson on classes that can also represent a real-life object but its properties can be inherited by its children.

How You’ll Learn

This course is 25 hours long. You’ll learn by going through the interactive tutorials and exercises that focus on practicing hands-on coding.

Additionally if you have Codecademy Pro, you’ll be able to earn a certificate when you complete the course. Furthermore, you’ll be able to complete and showcase three portfolio projects and have access to quizzes that’ll recap your memory of the language.

Institution
Codecademy
Instructors
Sonny Li, Kenny Lin, Galina Podstrechnaya, Alex DiStasi
Level
Beginner
Workload
25 hours total
Certificate
Paid

Fun Facts

  • Codecademy was co-founded by Zach Sims and Ryan Bubinski, with the goal of giving anyone in the world the ability to learn the skills they’d need to succeed in the 21st century.
  • They offer free courses in 12 different programming languages, the most popular ones being Python, Java, Ruby, C++, C#, and Swift.

If you’re interested in this course, you can find more information about the course and how to enroll here.

7. Swift Playgrounds (Apple)

image

Although not strictly a course, I’ve decided to include Swift Playgrounds as it is a learning app with structured lessons.

Swift Playgrounds is a free iPad app developed by Apple that makes learning and experimenting with code interactive and fun. It is aimed at primary school to high school students, although anyone older than that can still benefit from this.

Students begin by solving bite-sized problems that’ll help strengthen their foundations, before moving to interactive walkthroughs that’ll teach them the building blocks of apps.

No prior coding knowledge needed!

What You’ll Learn

There are three main modules for young students in this course.

Learn to Code 1 is set in a dynamic 3D world. Students will gradually build up their basic programming vocabulary by executing simple commands, functions, and loops in Swift. By the end of the first module, they’ll be familiar with algorithms.

Learn to Code 2 engages the student’s mind by encouraging them to create worlds of their own. They’ll learn more in-depth topics like variables, data types, initialization, and parameters that’ll allow them to change the rules of their world.

Learn to Code 3 expands the coding skills developed in Learn to Code 1 & 2 to help them start thinking more like an app developer. Starting with graphics and coordinates, they’ll learn how to place and manipulate images, before combining these techniques with touch events. Then, they’ll dive into strings and see how text is represented. Finally, they’ll end with event handlers by designing their own games.

For senior high school and university students, Intro to App Development with Swift and App Development with Swift are available as well.

How You’ll Learn

This course is 30–60 hours long for young students. They’ll learn by going through the interactive tutorials and challenging their brains on fun and engaging exercises of various kinds.

Institution
Apple
Level
Beginner
Workload
30–60 hours total
Certificate
None

Fun Facts

If you’re interested in this app, you can find more information about the app and how to install it here.

8. Swift for Beginners (Udacity)

image

In Udacity’s Swift for Beginners, you’ll learn the fundamentals needed to start creating your first app. By the end of this course, you’ll be able to solve problems, construct algorithms, and build feature-rich mobile applications in Swift.

No prior programming experience is required to take this free course.

What You’ll Learn

The course jumps straight into variables, the most basic building block of any program. First, you’ll learn how to assign values to variables with their correct data types. Then, you’ll learn about strings representing a sequence of characters, just like the words on this script, and how to create and manipulate strings. Before that, you’ll install and play around with Xcode, Apple’s integrated development environment.

Another integral component of any program is conditional statements like the if and else statements that allow you to branch the execution of your code based on the logic you define. Finally, the course ends with a lesson on function — a list of code that accomplishes a task. You’ll learn how to organize and reuse code with functions.

How You’ll Learn

This course is one week long (although you can probably finish it within a day or two). You’ll learn by watching the lecture videos, reading the course articles, and working on the end-of-module problem sets that are designed to give you the opportunity to apply what you’ve learned.

Institution
Udacity
Instructor
Jarrod Parkes
Level
Beginner
Workload
One week total
Certificate
None

Fun Facts

  • The course has 226 bookmarks on Class Central.
  • Jarrod Parkes is currently a senior software engineer at Aryeo, a leading content management platform for the real estate industry.

If you’re interested in this course, you can find more information about the course and how to enroll here.

9. SwiftUI Bootcamp (Swiftful Thinking)

image

SwiftUI Bootcamp by Swiftful Thinking is here to help beginners get a mastery of the basics of SwiftUI. Unlike other courses, this course is not focused on building an app. Instead, the free course will tackle and master one specific component in SwiftUI so that by the end of the course, you’ll be a master of all the individual components and create a really beautiful app.

The instructor also has a Discord server where you can ask questions about SwiftUI.

No experience with Swift is needed to take this course.

What You’ll Learn

The course begins by showing you how to use Xcode in Swift projects. Then, you’ll learn how to add text and shapes in SwiftUI as a blank canvas. Then, you’ll paint the blank canvas by learning to add color, depth, and gradients to the shapes you have created, turning them into a colorful piece of art.

System icons help bring some flair to your app. Luckily, Apple has thousands of pre-made system icons ready for you to use, which can either be unicolor or multi-color. After that, you’ll see how to add images and alter them as you please. Finally, with these tools in hand, you’ll focus on making a beautiful clean background for your app.

Moving forward, you’ll learn about states and bindings — two essential properties that bring your app to life. Next, you’ll add buttons and then add functionality to those buttons by understanding loops, conditionals, and ternary operators. Not only that, but you’ll also add responsive animations.

The final parts of the course detail the many widgets the user can interact with. You’ll also learn about various Swift objects and properties, along with other miscellaneous stuff like adapting for dark mode, documenting code, and touch gestures.

How You’ll Learn

This course is 16 hours long. You’ll learn by watching the lecture videos and following along with the lecturer as he codes.

Institution
Swiftful Thinking
Provider
YouTube
Instructor
Nick Sarno
Level
Beginner
Workload
16 hours total
Views
188K
Certificate
None

Fun Facts

  • Nick Sarno is also a Udemy instructor, having taught one course also on iOS development.
  • You can view his other contacts and projects on his personal website here.

If you’re interested in this course, you can find more information about the course and how to enroll here.

10. iOS & Swift – The Complete iOS App Development Bootcamp (Angela Yu)

image

In this paid course by Angela Yu, you’ll learn the ins-and-outs of the Swift programming language from a complete beginner with no programming experience all the way to a proficient iOS app developer!

The course emphasizes on learning by doing, which means you’ll be making fun real-world apps like Pokemon Go, Whatsapp, QuizUp and Yahoo Weather. In addition, you’ll acquaint yourself with some of Apple’s latest technologies: SwiftUI, ARKit, CoreML, and Create ML.

What You’ll Learn

You’ll start this course by setting up your developer environment, Xcode, and look at its interface builder. Then, you’ll learn how to navigate and set up a new Xcode project to begin designing and developing an app that displays an image of coal with the title ‘I am poor’.

Now that you are familiar with creating a static app interface, you’ll want to breathe some life into it by developing a dice app and a Magic 8 Ball app. This will involve learning the Swift programming basics, like constants, variables, control structures, and data structures. You’ll also learn how to create a responsive layout for your app.

Diving deeper into the Swift language, you’ll uncover some critical concepts behind object-oriented programming (OOP), like inheritance, structures, classes, and protocols. OOP forms the foundation for some software design principles. For example, you’ll learn how to implement the Model View Controller design pattern and write organized, readable code when you create a choose-your-own-adventure game.

The final few sections of the course cover advanced topics every professional iOS developer should know about. You’ll start with networking, which involves making asynchronous API calls and communicating with the cloud, before moving on to persistent local data storage to store your app data locally, and, not to forget, learning to implement in-app purchases with the Apple StoreKit. Not only that, you’ll also learn about Git, GitHub, machine learning, and augmented reality.

How You’ll Learn

This course is 60 hours long. You’ll learn by watching the lecture videos, going through the course resource list provided, and most importantly, working hands-on on actual application projects.

Provider
Udemy
Instructor
Angela Yu
Level
Beginner
Workload
60 hours total
Enrollments
295K
Rating
4.8 / 5.0 (78K)
Certificate
Paid

Fun Facts

  • Angela Yu is the founder of The App Brewery, London’s leading programming bootcamp. She is a popular Udemy instructor, having over 1.5 million students and close to 500K reviews in all her courses combined.

If you’re interested in this course, you can find more information about the course and how to enroll here.