Check out our new 57-part course on Swift 4 programming for complete beginners!

As part of our iOS 11 Launch Party, we are releasing a ton of new and updated courses for raywenderlich.com subscribers.

Today we are happy to release our second new course: Programming in Swift 4!

This course is designed as a follow-up to the Your First Swift 4 & iOS 11 App course that we released last week. Basically watch that first, and watch this second.

In Programming in Swift 4, you switch gears from app development, and take a deep dive into the Swift 4 programming language itself. You learn about core Swift programming concepts like variables, loops, optionals, and classes through hands-on tutorials using Swift Playgrounds.

This epic 57-video course is a complete overhaul of our previous Beginning and Intermediate Swift courses. This time, we take things slower and go into more depth, so you’ve got a solid baseline of Swift 4 knowledge before you proceed into more advanced courses on our site.

If you’re a beginner to programming in Swift 4, or programming in general (or if you know someone who is), this is the place to start. Let’s take a look at what’s inside.

Section 1: Core Concepts

In this section, you will build up a basic library of Swift Core Concepts, including working with Playgrounds and using simple datatypes like tuples and booleans.

This section contains 9 videos:

Introduction: Let’s review what you’ll be learning in this section, and why it’s important. Swift Playgrounds: 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. Comments: Learn the various ways to add comments to your Swift code – a useful way to document your work or add notes for future reference. Tuples: Learn the group related data together into a single unit, through the power of a Swift type called Tuples. Challenge: Tuples: Practice using tuples on your own, through a hands-on challenge. Booleans: Learn how to use a Swift type called Booleans, which represent true or false values. Challenge: Booleans: Practice using booleans on your own, through a hands-on challenge. Scope: Learn what the concept of scope means in Swift, and how it applies to if statements. Conclusion: Let’s review where you are with your Swift core concepts, and discuss what’s next.

Section 2: Flow Control

In this section, you will learn how to control the flow of execution in your apps, using while loops, for loops, and switch statements.

This section contains 8 videos:

Introduction: Let’s review what you’ll be learning in this section, and why it’s important. While Loops: Learn how to make Swift repeat your code multiple times with while loops, repeat while loops, and break statements. Challenge: While Loops: Practice using while loops on your own, through a hands-on challenge. For Loops: Learn how to use for loops in Swift, along with ranges, continue, and labeled statements. Challenge: For Loops: Practice using for loops on your own, through a hands-on challenge. Switch Statements: Learn how to use switch statements in Swift, including some of its more powerful features. Challenge: Switch Statements: Practice using switch statements on your own, through a hands-on challenge. Conclusion: Let’s review what you learned in this section, and discuss what’s next.

Section 3: Functions and Optionals

In this section, you will learn how to decompose the logic of your programs into functions, and we’ll demystify one area of Swift that can sometimes be confusing for beginners: optionals.

This section contains 9 videos:

Introduction: Let’s review what you’ll be learning in this section, and why it’s important. Introduction to Functions: Learn how to write your own functions in Swift, and see for yourself how Swift makes them easy to use. Challenge: Introduction to Functions: Practice writing functions on your own, through a hands-on challenge. More Functions: Learn some more advanced features of functions, such as overloading, inout parameters, and functions as variables. Introduction to Optionals: Learn about one of the most important aspects of Swift development – optionals – through a fun analogy. Challenge: Introduction to Optionals: Practice using optionals on your own, through a hands-on challenge. More Optionals: Learn how to unwrap optionals, force unwrap optionals, use optional binding, and use the guard statement. Challenge: More Optionals: Practice working with optionals on your own, through a hands-on challenge. Conclusion: Let’s review where you are with your Swift core concepts, and discuss what’s next.

Section 4: Collections

In almost every Swift program you write, you’ll be dealing with collections of data. In this section, you’ll learn about three types of collections in Swift, and their performance differences.

This section contains 12 videos:

Introduction: Let’s review what you’ll be learning in this section, and why it’s important. Arrays: Learn how to use arrays in Swift to store an ordered list of values. Challenge: Arrays: Practice using arrays on your own, through a hands-on challenge. Dictionaries: Learn how to use dictionaries in Swift to store an unordered collection of pairs. Challenge: Dictionaries: Practice using dictionaries on your own, through a hands-on challenge. Sets: Learn how to use Sets in Swift to store an unordered collection of unique values. Closures: Learn how to create closures in Swift – which you can think of as a method without a name. Closures and Collections: Learn how you can use closures to sort collections, filter collections, run calculations on elements within a collection, and more. Challenge: Closures: Practice using closures on your own, through a hands-on challenge. Which Collection To Use?: Learn which collection you should use in a given situation. Strings: Learn how a string works in Swift, along with some useful things you can do with strings – and why strings are collections too. Conclusion: Let’s review what you learned in this section, and discuss what’s next.

Section 5: Structures

Next you’ll start learning about creating named types in Swift, starting with one of the most simple options: structures.

This section contains 10 videos:

Introduction: Let’s review what you’ll be learning in this section, and why it’s important. Structures: Learn how to group data and functionality together in Swift, using a value type called structures. Challenge: Structures: Practice using structures on your own, through a hands-on challenge. Protocols: Learn how to make your types conform to protocols in Swift, which you can think of as a to-do list for your types. Properties: Learn how to add two types of properties to your types: stored properties, and computed properties. Challenge: Properties: Practice creating properties on your own, through a hands-on challenge. Computed Properties vs. Methods: Learn when it’s best to use computed properties, and when it’s best to use methods. Methods: Take a deep dive into methods, including writing initializers, mutating methods, extensions, and more. Challenge: Methods: Practice writing methods on your own, through a hands-on challenge. Conclusion: Let’s review what you learned in this section, and discuss what’s next.

Section 6: Classes

Finally, you’ll see how much of what you just learned about structures applies to classes as well, and you’ll learn what the differences are and which to use when.

This section contains 9 videos:

Introduction: Let’s review what you’ll be learning in this section, and why it’s important. Classes vs Structures: Learn about the differences between classes and structures in Swift, and when you should use which. Challenge: Classes vs. Structures: Practice working with classes and understanding when to use them vs. structures, through a hands-on challenge. Inheritance: Learn how you can inherit functionality from another class in Swift. Initializers: Learn how to create your own class initializers, including two-phase initialization, and required vs. convenience initializers. Challenge: Initializers: Practice creating your own class initializers, through a hands-on challenge. When Should You Subclass?: Learn when you should subclass, and when you shouldn’t. Memory Management: 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. Conclusion: Let’s review where you’re at with your Swift core concepts, and discuss what’s next.

Where To Go From Here?

Want to check out the course? You can watch the first four parts for free!

The rest of the course is for raywenderlich.com subscribers only. Here’s how you can get access:

If you are a raywenderlich.com subscriber: The entire 57-part course is complete and available today. You can check out the entire course here.

If you are not a subscriber yet: What are you waiting for? Subscribe now to get access to our new Xcode Tips and Tricks course and our entire catalog of over 500 videos.

This is just the beginning of the iOS 11 Launch Party, so stay tuned for many more new and updated courses to come. I hope you enjoy our new course! :]