Skip to content

Learn Swift Programming Syntax

Free Course

From Optionals to Closure Expressions

Related Nanodegree Program

Introduction to Programming

About this course

Swift is a language created by Apple specifically for iOS and OS X development. It’s fast, concise, and comes with tools which make it easier than ever to visualize one's code.

This course focuses on the syntax of the Swift programming language. By the end of the course, students should be able to apply Swift essentials to building iOS apps and employ Swift's more unique elements, like optional types and switch statements, with confidence.

What you will learn

  1. Swift Basics
    • An introduction to Swift types and operators.
    • Develop deftness in defining variables and constants.
    • Practice what you've learned with exercises in Swift playgrounds.
  2. Optional Types
    • Declare explicitly and implicitly unwrapped optionals.
    • Unwrap optionals using both optional binding and optional chaining.
    • Practice safely unwrapping optionals and learn to avoid errors.
  3. Swift Collections
    • Learn about the Swift Collection Types: Dictionaries, Arrays, and Sets.
    • Perform basic operations including: append, count, insert, remove, update, find, and retrieve.
    • Practice manipulating collections with exercises in Swift playgrounds.
  4. Control Flow: Loops, If statements, and Switches
    • Practice fast iteration with for-in loops by iterating through items in Arrays and Dictionaries.
    • Create programming logic of increasing complexity with if-else statements.
    • Delight in the convenience and conciseness of Swift switch statements.
  5. How to Write and Call Functions in Swift
    • Define and call functions.
    • Correctly use local and external parameters.
    • Identify parameter types and return types.
  6. Classes, Properties, and Methods
    • Practice building custom classes with their own properties and methods.
    • Learn about type properties and computed properties.
    • See example use cases for type methods and instance methods.
  7. Enums and Structs
    • Learn the difference between value types and references types.
    • Practice choosing when to use enums, structs, and classes.
    • Use enums to make your switch statements extra Swifty.
  8. Protocols and Extensions
    • Learn how protocols and extensions can help keep your code DRY.
    • Given a series of code snippets, fix compiler errors by implementing protocols.
    • Edit the code in a sample app to see extensions in action.
  9. Closure Expressions
    • Practice using Swift closures with the functions, sorted() and filter().
    • Learn shorthand closure expression syntax to make your closures super concise.
    • See how closures are used in animations in the method, animateWithDuration.

Prerequisites and requirements

This course assumes prior programming experience! Specifically, you should be familiar with programming concepts like variables, if statements, and loops, as well as object-oriented concepts like methods and classes.

You will also need access to a Mac computer running OS X 10.10 or later.

See the Technology Requirements for using Udacity.

Why take this course?

  • A quick and fun introduction to Swift basics.
  • Practice with Playground exercises
  • Thorough explanations of Swift's less-intuitive features like Optionals and Closure Expressions.

Learn with the best.

  • Gabrielle Miller-Messner
    Gabrielle Miller-Messner