Programming in Swift
Learn about Apple’s open source programming language, Swift, through hands-on examples! If you’ve watched Programming in Swift: Fundamentals, you can skip the following episodes in this course: Part 1 - All Episodes Part 2 - Episodes 1-5 Part 3 - Episodes 1-3, and 5-9 Part 4 - Episodes 1-6 By Catie Catterwaul & Jessy Catterwaul.
Who is this for?
Beginners! If you’ve never created a playground before, or if you aren’t sure what while loops or break statements are, this is the course to get you started. With easy-to-understand lessons and hands-on practice, soon you’ll be writing your own methods and implementing structures and classes with ease.
Note: If you’ve watched Programming in Swift: Fundamentals, you can skip the following episodes in this course:
- Part 1 - All Episodes
- Part 2 - Episodes 1-5
- Part 3 - Episodes 1-3, and 5-9
- Part 4 - Episodes 1-6
In this course, you’ll start at the very beginning, creating your first playground and learning about comments, tuples, booleans, and operators. Then, you’ll learn to control the flow of your code. For loops, switch statements, enums, oh my! You’ll build on the basics by implementing functionals and optionals through fun, hands-on challenges. You’ll employ collections, like arrays, sets, and dictionaries, to store and organize data. You’ll dive into structures, properties, and methods - come on in, the water’s fine!
Finally, you’ll dive into classes and protocols, and discover how powerful they can be.
This course isn’t suited for intermediate or advanced developers. If that’s you, check out our intermediate or advanced video courses for more ways to level-up your developer skills!
Covered concepts
This course is jam-packed with the fundamentals to give you a solid grounding for your Swift adventures. Here are some of the concepts you’ll conquer along the way:
- Playgrounds
- Comments
- Tuples
- Booleans
- Operators
- For loops
- While loops
- Switch statements
- Enumerations
- Functionals
- Optionals
- Collections
- Arrays
- Dictionaries
- Structures
- Properties
- Methods
- Classes/Subclasses
- Protocols
- Closures
- Initializers
- Memory management
Part 1: Core Concepts
Let's take a look at what you'll be learning in this part of the course, and why it's important.
Learn how to create your first Swift playground, and see how useful it can be to learn Swift, and use in day-to-day development.
Learn the various ways to add comments to your Swift code - a useful way to document your work or add notes for future reference.
Learn the group related data together into a single unit, through the power of a Swift type called Tuples.
Practice using tuples on your own, through a series of hands-on challenges.
Learn how to use a Swift type called Booleans, which represent true or false values, and a bunch of new operators.
Practice using booleans on your own, through a series of hands-on challenges.
Take another look at the if statement, and learn what the concept of scope means in Swift.
Let's review where you are with your Swift core concepts, and discuss what's next.
Part 2: Control Flow
Let's review what you'll be learning in this part of the course, and why control flow is important.
Learn how to make Swift repeat your code multiple times with while loops, repeat while loops, and break statements.
Practice using while loops on your own, through a hands-on challenge.
Learn how to use for loops in Swift, along with ranges, continue, and labeled statements.
Practice using for loops on your own, through a hands-on challenge.
Learn how to use switch statements in Swift, including some of its more powerful features.
Practice using switch statements on your own, through a hands-on challenge.
Learn about Enums, a powerful tool in Swift that can help with your switch statements and so much more!
Let's review what you learned about control flow in this part, and discuss what's next.
Part 3: Functions & Optionals
Review what you'll be learning in this part of the course about functions and optionals.
Learn how to write your own functions in Swift, and see for yourself how Swift makes them easy to use.
Practice writing functions on your own, through a hands-on challenge.
Learn some more advanced features of functions, such as overloading, inout parameters, and functions as variables.
Learn about one of the most important aspects of Swift development - optionals - through a fun analogy.
Practice using optionals on your own, through a hands-on challenge.
Learn how to unwrap optionals, force unwrap optionals, use optional binding, and use the guard statement.
Practice unwrapping optionals on your own, through a hands-on challenge.
Let's review where you are with your Swift core concepts, and discuss what's next.
Part 4: Collections
Let's review what you'll be learning in this part of the course, and why it's important.
Learn how to use arrays in Swift to store and manipulate an ordered list of values.
Practice using arrays on your own, through a hands-on challenge.
Learn how to use dictionaries in Swift to store an unordered collection of pairs.
Practice using dictionaries on your own, through a hands-on challenge.
Learn how to use Sets in Swift to store an unordered collection of unique values.
Learn how to create closures in Swift - which you can think of as a function without a name.
Learn how you can use closures to sort collections, filter collections, run calculations on elements within a collection, and more.
Practice using closures on your own, through a hands-on challenge.
Let's review what you learned about collections in this part of the course, and discuss what's next.
Part 5: Structures
Let's review what you'll be learning about structures in this part of the course, and why it's important.
Learn how to group data and functionality together in Swift, using a value type called structures.
Practice using structures on your own, through a hands-on challenge.
Learn how to add two types of properties to your types: stored properties, and computed properties.
Practice creating properties on your own, through a hands-on challenge.
Learn when it's best to use computed properties, and when it's best to use methods.
Take a deep dive into methods, including writing initializers, mutating methods, extensions, and more.
Practice writing methods on your own, through a hands-on challenge.
Let's review what you learned about structures in this part of the course, and discuss what's next.
Part 6: Classes
Let's review what you'll be learning about classes in this part of the course, and why it's important.
Learn about the differences between classes and structures in Swift, and when you should use which.
Practice working with classes and understanding when to use them vs. structures, through a hands-on challenge.
Learn how you can inherit functionality from another class in Swift.
Learn how to create your own class initializers, including two-phase initialization, and required vs. convenience initializers.
Practice creating your own class initializers, through a hands-on challenge.
Learn five concepts to help you decide when you should subclass, and when you shouldn't.
Learn how to make your types conform to protocols in Swift, which you can think of as a to-do list for your types.
Learn how Swift manages memory under the hood, how you can tell when an object is deinitialized, and how you can avoid a nasty memory leak in your apps.
Let's review where you're at with your Swift core concepts, and give you some advice about where to go next.