You can learn anything on Udemy. Start today with one of our 10,000+ online courses

Swift - Learn Apple's New Programming Language Step By Step

Learn the basics of new language that will help you go on to programme on Apple iOS 8 and Mac OSX
56 reviews
TAUGHT BY
  • Nick Walter Swift Developer

    I'm Nick Walter, an iOS developer that has been focused on mobile app design and creation for over 3 years. My involvement in the iOS community started off with a bang, and in 2013 I was one of 25 students worldwide to be invited to Apple's "Cocoa Camp." Within my community, I am also co-president of an Apple developer group called "Cocoa Heads."

    I've always had an itch to make things, but growing up in a small town I had limited access to programming resources. This frustration drove my early interest in online education. After experimenting with various companies, learning styles, and teaching processes, I've adopted the best strategies and used them in my courses. My experience as an online student has directly influenced my teaching style, and I am now proud to help students all over the world with their online learning goals.

    Since the announcement of the new Swift programming language by Apple, I have buried myself in the Apple documentation and any online resource that is available. In my first Swift course, I provide students with a detailed explanation of the topics and skills needed to learn Swift, an overview of the basic features of the new language, and get you started to begin building your first products.

    Prior to teaching the internet's first course on Swift, I have created 5 iOS apps from scratch that are currently live in the App Store and being used by thousands of users worldwide. Using my experience launching my own apps, I'll walk you through the shortcuts that can save you time and frustration from having to teach yourself.

  • Kyle Clegg iOS Developer

    I am a Utah based iOS developer that enjoys creating apps with Objective-C and Swift. I've published 5+ apps to both the App Store and Google Play Store, building up a wide range of mobile development skills across both platforms in the process. I am passionate about writing truly great apps, the kind that care about details beyond just a great UI, from the UX down to each line of code.

    I graduated in June 2014 as a Master of Information Systems with a minor in Computer Science. During my time in school I participated in two summer internships as an app developer and worked as a TA for the iOS programming class after having taken the class myself the previous year. I was also able to attend WWDC and Cocoa Camp during the summer of 2013. These experiences have given me numerous opportunities to learn about iOS development from the people that created it! I enjoy learning about iOS development as well as helping others do the same.

    Having some educational background in programming, but none in Apple's world, I identify with self-taught programmers. There's nothing like the first time you code something and run it on your phone. It's a feeling of empowerment knowing that with the right idea, focus, and delivery you could be the next person to create an awesome app loved by millions.

    A couple of years ago I was a complete noob trying to learn iOS development. The blog posts, YouTube vids, and tutorials sites helped me SO much, as I preferred the hands-on approach of doing as opposed to digging through dense programming books that often lacked any real-world applicable example. I'm stoked to be involved in teaching a Swift course and hope to help many of you learn Swift and get on your way to writing awesome apps!

WHAT'S INSIDE
  • Lifetime access to 134 lectures and 10 quizzes
  • 6+ hours of high quality content
  • A community of 9000+ students learning together!
  • 240+ discussions
SHARE

Swift - Learn Apple's New Programming Language Step By Step

Learn the basics of new language that will help you go on to programme on Apple iOS 8 and Mac OSX
56 reviews

Become one of the world's earliest Swift developers with this introductory course on Apple’s new programming language.

  • Initial Setup and Swift Basics
  • Operators, Strings, Characters, and Collection Types
  • Evolving from Objective C
  • Control Flow


A Modern Language Evolved from Objective C

Swift is a multi-paradigm programming language developed by Apple for use with iOS and OS X. Designed to replace Objective C, work began on Swift in 2010 and the first mobile app was debuted in June 2014 at the Worldwide Developers Conference. Despite its goal of replacing Objective C, Swift is capable of working alongside the more dated Objective C language while using the Cocoa and Cocoa Touch frameworks.

Swift is built with the LLVM compiler included in Xcode 6 beta, and uses the Objective-C runtime, allowing Objective-C, Objective-C++ and Swift code to run within a single program. During it’s debut, Swift was described as “Objective C without the C” by Apple’s VP of Software Engineering Craig Federighi.


Contents and Overview

Through 95+ video lectures and 4 hours of content, you will be lead through setting up Swift locally, the basics of the language, how it compares to other common languages (including Objective C), and how to get started on new projects.

The course is designed to provide a comprehensive introduction to Swift, so that you can begin experimenting right away. Upon completion, you will understand the foundations of Swift code and will be able to develop custom applications. You will also get experience working with Xcode's new .playground file. By enrolling in this course you will be months ahead of other developers attempting learn the new Swift programming language by navigating Apple's 500-page instructional document.

Course material is regularly refreshed to include all of the newest updates and information, and since you’re granted lifetime access upon registering, you can rely on this course to keep your Swift skills on the cutting edge.

    • Developer access to Xcode 6 beta
    • A Mac computer that can run Xcode 6
    • Enrolled in a paid developer program (iOS or Mac is fine)
    • Over 134 lectures and 6.5 hours of content!
    • Video walkthroughs showing you how to use Swift
    • Work with Xcode's new .playground file
    • Objective-C developers wanting to learn Swift
    • New programmers wanting to learn Swift

CURRICULUM

  • SECTION 1:
    Swift - The Introduction
  • 1
    Welcome - What Will You Learn from This Course
    01:08
  • 2
    Getting Swift Set Up On Your Machine
    05:55

    You can download Xcode for free now! You still have to register as a developer with Apple but follow the link on this blog https://developer.apple.com/swift/blog/

    Link to Swift eBook by Apple

    Another eBook Apple has released!

  • SECTION 2:
    The Basics
  • 3
    Constants and Variables
    07:05
  • 4
    Emoji Variable Names!?
    03:12

    A lot of the information in this lecture was covered in the previous lecture but I wanted to have this separate lecture to really drive home the value of Unicode for naming variables. Feel free to skip!

  • 5
    Type annotations
    01:54
  • 6
    Comments
    01:53
  • 7
    Semi-colons
    01:22
  • 8
    Integers
    02:38
  • 9
    Type Aliases
    01:59
  • 10
    Booleans
    01:42
  • 11
    Tuples
    03:30
  • 12
    Floating Point Numbers
    02:16
  • 13
    Optionals
    04:54
  • 14
    Numeric Literals
    01:58
  • 15
    Numeric Type Conversion
    03:56
  • 16
    Assertions
    02:30
  • 17
    The Basics - Quiz
    5 questions
  • 18
    Challenge
    01:40
  • 19
    Answers
    02:07
  • SECTION 3:
    Basic Operators
  • 20
    Intro
    01:34
  • 21
    Assignment Operator
    00:52
  • 22
    Arithmetic Operators
    01:10
  • 23
    Remainder Operator
    01:32
  • 24
    Increment and Decrement Operators
    02:09
  • 25
    Compound Assignment Operators
    01:56
  • 26
    Comparison Operators
    01:22
  • 27
    Ternary Conditional Operators
    01:19
  • 28
    Range Operators
    04:56
  • 29
    Logical Operators
    03:17
  • 30
    Basic Operators Quiz
    5 questions
  • 31
    Basic Operators Challenge
    00:25
  • 32
    Basic Operators Answers
    04:05
  • SECTION 4:
    Strings and Characters
  • 33
    Intro
    01:06
  • 34
    String Literals
    01:58
  • 35
    Initializing an Empty String
    00:44
  • 36
    String Mutability
    00:56
  • 37
    Strings Are Value Types
    01:13
  • 38
    Working with Characters
    01:05
  • 39
    Counting Characters
    00:20
  • 40
    Concatenating Strings and Characters
    01:30
  • 41
    String Interpolation
    01:12
  • 42
    Comparing Strings
    01:49
  • 43
    Uppercase and Lowercase Strings
    00:28
  • 44
    Unicode
    02:16
  • 45
    Strings and Characters Quiz
    5 questions
  • 46
    Strings and Characters Challenge
    00:44
  • 47
    Strings and Characters Answers
    03:19
  • SECTION 5:
    Collection Types
  • 48
    Dictionary Literals
    02:16
  • 49
    Intro
    01:11
  • 50
    Changes In Arrays/Dictionaries
    03:08
  • 51
    Arrays
    01:15
  • 52
    Array Literals
    01:36
  • 53
    Accessing and Modifying an Array
    06:41
  • 54
    Iterating Over an Array
    03:07
  • 55
    Creating and Initializing an Array
    03:08
  • 56
    Dictionaries
    02:45
  • 57
    Accessing and Modifying a Dictionary
    04:26
  • 58
    Iterating Over a Dictionary
    03:17
  • 59
    Creating an Empty Dictionary
    01:22
  • 60
    Mutability of Collections
    02:17
  • 61
    Collection Types Quiz
    5 questions
  • 62
    Collection Types Challenge
    00:21
  • 63
    Collection Types Answers
    03:10
  • SECTION 6:
    Control Flow
  • 64
    Intro
    00:27
  • 65
    For-In Loops
    07:24
  • 66
    For-Conditional-Increment Loops
    03:06
  • 67
    While Loops
    04:17
  • 68
    If Statements
    02:22
  • 69
    Switch Statements
    04:26
  • 70
    Switch Statements and Tuples
    04:13
  • 71
    Value Bindings
    03:46
  • 72
    Where Clause
    02:56
  • 73
    Continue
    02:27
  • 74
    Break
    03:57
  • 75
    Fallthrough
    02:01
  • 76
    Labeled Statements
    02:53
  • 77
    Control Flow Quiz
    5 questions
  • 78
    Control Flow Challenge
    00:35
  • 79
    Control Flow Answers
    04:12
  • SECTION 7:
    Functions
  • 80
    Intro
    09:23
  • 81
    Return Values
    05:06
  • 82
    External Parameter Names
    04:58
  • 83
    Default Parameter Values
    06:50
  • 84
    Variadic Parameters
    03:05
  • 85
    Constant and Variable Parameters
    01:34
  • 86
    In-Out Parameters
    05:01
  • 87
    Function Types
    02:42
  • 88
    Function Types as Parameter Types
    02:21
  • 89
    Function Types as Return Types
    02:07
  • 90
    Nested Functions
    03:19
  • 91
    Functions Quiz
    5 questions
  • 92
    Functions Challenge
    00:58
  • 93
    Functions Answers
    04:55
  • SECTION 8:
    Closures
  • 94
    Closures Intro
    00:58
  • 95
    Closures Expressions
    11:45
  • 96
    Trailing Closures
    02:43
  • 97
    Capturing Values
    05:21
  • 98
    Closures are Reference Types
    01:58
  • 99
    Closures Quiz
    2 questions
  • 100
    Closures Challenge
    00:21
  • 101
    Closures Answers
    02:31
  • SECTION 9:
    Enumerations
  • 102
    Enumeration Syntax
    04:57
  • 103
    Enumerations With a Switch Statement
    03:46
  • 104
    Associated Values
    04:00
  • 105
    Raw Values
    06:57
  • 106
    Enumerations
    3 questions
  • 107
    Enumerations Challenge
    00:35
  • 108
    Enumerations Answers
    02:13
  • SECTION 10:
    Classes and Structures
  • 109
    Classes and Structures Quiz
    4 questions
  • SECTION 11:
    Properties
  • 110
    Properties Quiz
    5 questions

RATING

  • 31
  • 6
  • 6
  • 4
  • 9
AVERAGE RATING
NUMBER OF RATINGS
56

REVIEWS

  • Mateusz Sojka
    Almost no value for money, bad code examples

    The author uses the worst examples I have ever seen in a course / book / tutorial. Variable names don't match what's actually being accomplished on screen. The teacher often randomly changes stuff to show some point, leaving the overall example a huge mess. The course is based on Apple's book on Swift, but doesn't provide anything interesting besides what you already find in the book. This the overall pace is very slow. If you are a complete programming newbie, you will get confused by the examples and lack of explanation of basic data structures or concepts. If you are an experienced developer who wants to learn swift quickly, you will get disappointed by the slow pace. I appreciate the authors work, but it just doesn't seam appealing to me.

  • Yulin Wang
    Easy to understand

    I think this course is good for a beginner. It's easy and fast to understand.

  • Eva Yildiz

    I have never done any kind of coding or programming before. I have read the Apple's Swift book but there were a lot of things that didn't click for me. Nick explains things to make them easy and this class gave me a really good understanding. Thanks for the great material and look forward to the future lectures.

  • Oskar Larsson
    Excellent course!

    Great course that gives you the basic knowledge of Swift. A great complement to the Swift documentation. Hoping that there will be more lectures added on the rest of the chapters in the documentation book.

  • Vinh Tran
    Good course to start learning swift

    I think this course is good for beginners to learn the language swift. No basics are required to learn it. But an understanding of programming structure will help. If there are any questions, the questions will be answered within two days. So I can recommend this to others who wanna learn swift. The reason why there aren't 5 stars: - I would hope to get a more structured way. Sometimes you try to grab some elements from further chapters, which makes a bit confusing. - Maybe add some exercise for the student and give the solution in the end of the class (learn by doing)

  • 30 day money back guarantee!
  • Lifetime Access. No Limits!
  • Mobile Accessibility
  • Certificate of Completion