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

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.

Oct 5th 2026
5-12 Weeks
Website Performance Optimization (Udacity) Udacity
Udacity,Google

Website Performance Optimization (Udacity)

The Critical Rendering Path. You will learn how to optimize any website for speed by diving into the details of how mobile and desktop browsers render pages. In this short course, you’ll learn about the Critical Rendering Path, or the set of steps browsers must take to convert HTML, CSS and JavaScript into living, breathing websites. From there, you’ll start exploring and experimenting with tools to measure performance and simple strategies to deliver the first pixels to the screen as early as possible.

Self Paced
Self-Paced
Principles of Computing (Part 2) (Coursera) Coursera
Rice University

Principles of Computing (Part 2) (Coursera)

This two-part course introduces the basic mathematical and programming principles that underlie much of Computer Science. Understanding these principles is crucial to the process of creating efficient and well-structured solutions for computational problems. To get hands-on experience working with these concepts, we will use the Python programming language. The main focus of the class will be weekly mini-projects that build upon the mathematical and programming principles that are taught in the class.

Oct 5th 2026
4 Weeks
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
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
Data Structures & Algorithms in Swift (Udacity) Udacity
Udacity

Data Structures & Algorithms in Swift (Udacity)

Confidently take on the tech interview. Technical interviews follow a pattern. If you know the pattern, you’ll be a step ahead of the competition. This course will introduce you to common data structures and algorithms in Swift. You'll review frequently-asked technical interview questions and learn how to structure your responses. You will answer practice problems and quizzes to test your abilities. Then you'll practice mock interviews to get specific recommendations for improvement. Be ready for anything the technical interviewer throws at you.

Self Paced
Self-Paced
Data Wrangling with MongoDB (Udacity) Udacity
Udacity,MongoDB University

Data Wrangling with MongoDB (Udacity)

In this course, we will explore how to wrangle data from diverse sources and shape it to enable data-driven applications. Some data scientists spend the bulk of their time doing this! Students will learn how to gather and extract data from widely used data formats. They will learn how to assess the quality of data and explore best practices for data cleaning. We will also introduce students to MongoDB, covering the essentials of storing data and the MongoDB query language together with exploratory analysis using the MongoDB aggregation framework.

Self Paced
Self-Paced
HTML5 Canvas (Udacity) Udacity
Udacity

HTML5 Canvas (Udacity)

From Pixels to Animation! Canvas is an HTML5 element which gives you drawable surface inside your web pages you can control with JavaScript. Powerful enough to use for compositing images and even creating games. In this course, through several sample projects, you’ll learn how to use the canvas; how to make compositions using shapes, images, and text; how to create effects and filters on images and how to create animations.

Self Paced
Self-Paced
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