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

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
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
Basic Modeling for Discrete Optimization (Coursera) Coursera
University of Melbourne,The Chinese University of Hong Kong

Basic Modeling for Discrete Optimization (Coursera)

Optimization is a common form of decision making, and is ubiquitous in our society. Its applications range from solving Sudoku puzzles to arranging seating in a wedding banquet. The same technology can schedule planes and their crews, coordinate the production of steel, and organize the transportation of iron ore from the mines to the ports. Good decisions in manpower and material resources management also allow corporations to improve profit by millions of dollars.

Sep 14th 2026
4 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
Java Programming Basics (Udacity) Udacity
Udacity

Java Programming Basics (Udacity)

Take your first steps towards becoming a Java developer! Learn Java syntax and create conditional statements, loops, and functions. Taking this course will provide you with a basic foundation in Java syntax, which is the first step towards becoming a successful Java developer. You’ll learn how computers make decisions and how Java keeps track of information through variables and data types.

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
iOS Networking with Swift (Udacity) Udacity
Udacity

iOS Networking with Swift (Udacity)

Web Services, APIs, and JSON. In this course, you’ll learn how to incorporate networking into your apps, so they can access data from around the world. You’ll learn how to harness the power of APIs to display images and retrieve movie data. At the end of the course, you’ll build the "On the Map" app which allows you to share interesting links, projects, or other information with fellow Udacity students.

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

Swift for Beginners (Udacity)

Your First Programming Language. In this course, you’ll begin learning Swift, Apple's programming language for building iOS applications. You'll start with fundamentals and work your way towards understanding all the core principles necessary to get started creating your first app. At the end of the course, you'll complete a problem set of exercises designed to challenge your understanding of Swift and give you the opportunity to apply what you've learned.

Self Paced
Self-Paced
Kotlin Bootcamp for Programmers (Udacity) Udacity
Udacity,Google

Kotlin Bootcamp for Programmers (Udacity)

Language fundamentals for developers. Learn the essentials of the Kotlin programming language from Kotlin experts at Google. Kotlin is a modern and concise JVM language that supports functional programming paradigms. Whether you’re a Java developer or a programmer in another object-oriented language, this course will teach you the essential language features that has made Kotlin so popular with developers.

Self Paced
Self-Paced