Learn Swift Programming Syntax (Udacity)

Offered by Udacity,
Learn Swift Programming Syntax (Udacity)

From Optionals to Closure Expressions. 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.

Class Deals by MOOC List - Click here and see Udacity's Active Discounts, Deals, and Promo Codes.

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.

What You Will Learn

Lesson 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.

Lesson 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.

Lesson 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.

Lesson 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.

Lesson 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.

Lesson 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.

Lesson 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.

Lesson 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.

Lesson 9
Closure Expressions

  • Practice using Swift closures with the functions sorted() and filter().
  • Learn shorthand closure expression syntax to make your closures super concise.

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.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Kotlin for Android Developers (Udacity) Udacity
Udacity

Kotlin for Android Developers (Udacity)

Convert an Android app from Java to Kotlin. In this course, Aaron Sarazan, Lead Software Engineer at Capital One and a leading advocate for Kotlin, demonstrates how to take a basic Android app in Java and convert it to Kotlin, teaching you key features of the Kotlin programming language along the way. This is an efficient, fast-paced introduction to Kotlin for experienced Java programmers.

Self Paced
Self-Paced
Intro to AJAX (Udacity) Udacity
Udacity

Intro to AJAX (Udacity)

Making Asynchronous Requests with jQuery. In this course you will learn how to make asynchronous requests with JavaScript (using jQuery’s AJAX functionality), and gain a better understanding of what’s actually happening when you do so. You will also learn how to use data APIs so you can take advantage of freely accessible data in your applications, including photo results, news articles and up-to-date data about the world around us.

Self Paced
Self-Paced
Programming Languages, Part A (Coursera) Coursera
University of Washington

Programming Languages, Part A (Coursera)

This course is an introduction to the basic concepts of programming languages, with a strong emphasis on functional programming. The course uses the languages ML, Racket, and Ruby as vehicles for teaching the concepts, but the real intent is to teach enough about how any language “fits together” to make you more effective programming in any language -- and in learning new ones.

Nov 2nd 2026
5-12 Weeks
Server-Side Swift (Udacity) Udacity
Udacity

Server-Side Swift (Udacity)

Production-Ready Swift in the Cloud. In this course, built in collaboration with IBM and Hashicorp, you'll learn how to build server-side Swift applications that run on Linux and in the cloud, including how to use Swift to build a microservices backend. This course covers the best practices for constructing and deploying server-side Swift using industry-proven tools like Docker and Terraform.

Self Paced
Self-Paced
An Introduction to Interactive Programming in Python (Part 1) (Coursera) Coursera
Rice University

An Introduction to Interactive Programming in Python (Part 1) (Coursera)

This two-part course is designed to help students with very little or no computing background learn the basics of building simple interactive applications. Our language of choice, Python, is an easy-to learn, high-level computer language that is used in many of the computational courses offered on Coursera. To make learning Python easy, we have developed a new browser-based programming environment that makes developing interactive applications in Python simple.

Nov 2nd 2026
5-12 Weeks
JavaScript Design Patterns (Udacity) Udacity
Udacity

JavaScript Design Patterns (Udacity)

Organizing Code in a Disorganized World. This course covers methods for organizing your code, both conceptually and literally. You’ll learn the importance of separating concerns when writing JavaScript, gaining hands-on experience along the way. Separating concerns can be done with or without an organizational library or framework. We’ll learn how to separate concerns without one, and then we’ll explore an organizational library together. You’ll also learn strategies for exploring other libraries and frameworks on your own.

Self Paced
Self-Paced
Intro to HTML and CSS (Udacity) Udacity
Udacity

Intro to HTML and CSS (Udacity)

In this course, you'll learn the fundamentals web development, along with best practices and professional problem-solving techniques using Developer Tools. Throughout this course, you'll learn about the underlying structure of the web - HTML. You'll learn how to use this tree-like structure to create websites. You'll also learn how to apply styling to a website through CSS. You'll learn about CSS syntax, selectors, and units. Along the way, you'll also learn about code editors and a browser's Developer Tools.

Self Paced
Self-Paced
Swift for Developers (Udacity) Udacity
Udacity

Swift for Developers (Udacity)

Your Next Programming Language. This course offers a quick practical introduction to Swift basics, including types, variables, constants, and functions. It combines syntax exercises with hands-on iOS development in Xcode. By the end of the course students will build their first iOS app, an app that creates and displays song lyrics customized to user input.

Self Paced
Self-Paced
Intro to jQuery (Udacity) Udacity
Udacity

Intro to jQuery (Udacity)

Manipulating Websites with Ease. jQuery is the most popular JavaScript library today, in use by over 60% of the top 100,000 most visited websites. This course will teach you how to use jQuery’s core features - DOM element selections, traversal and manipulation. You'll also learn how to read and make sense of jQuery's documentation, making it easy for you to go beyond the methods taught in this class and take advantage of jQuery's full array of features!

Self Paced
Self-Paced