Intro to iOS App Development with Swift (Udacity)

Offered by Udacity,
Intro to iOS App Development with Swift (Udacity)

Make Your First iPhone App. In this course we will build an iPhone app that records a conversation between you and a friend, and then makes your voices sound like a Chipmunk or Darth Vader. This course will set you on your way to becoming an iOS Developer, where you’ll establish a basic understanding of the iOS ecosystem. You’ll also have working knowledge of Swift, Apple’s custom programming language created exclusively for the mobile developer.

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

This course will introduce you to iOS app development in Swift, a new programming language from Apple, and serves as your launching point into the iOS Developer Nanodegree.
What You Will Learn

Lesson 1
Introduction to Swift and Xcode: the tools of iOS

  • Learn all the Swift you need to know in 5 min.
  • Take a tour of Xcode
  • Apple's integrated development environment.
  • Get to know the Model View Controller or MVC design pattern

Lesson 2
iOS App Structure: AutoLayout and Buttons

  • Learn Storyboard and AutoLayout the tools used to build user interfaces in iOS.
  • Start developing the Pitch Perfect App and creating the UI.
  • Use Autolayout constraints to control the placement of UIButtons and UILabels on the screen.

Lesson 3
Using ViewControllers to build an app with Multiple Views

  • The UIViewController class
  • View Controller Lifecycle and Multiple Views.
  • Learn how to react to touch events and change the user interface.
  • Add a second screen to your app using a UINavigationController.

Lesson 4
How to record audio and use the Delegation Design Pattern.

  • Learn about the AVFoundation class
  • AVAudioRecorder.
  • Setup audio recording in the Pitch Perfect App.
  • Practice using the Delegation pattern and implement programmatic segues.

Lesson 5
Playback Sound and Add Sound Effects

  • Setup audio playback including rate pitch echo and reverb.
  • Use UIStackViews to create an elegant layout for your app's UIButtons.
  • Use class extensions to add functionality to your app.

Prerequisites and Requirements
This course assumes prior programming experience. Specifically, you should have a strong understanding of programming concepts like variables, if statements, loops, functions, and classes. Lesson 1 of Intro to Computer Science and Programming Foundations with Python are good courses to take if you are completely new to programming.
You will also need access to a Mac computer running OS X 10.10 or later.
We have designed this course such that you will not need a physical device (i.e. an iPhone or an iPad) to build your app. We will be using a simulator on your mac that will imitate the features of a phone on your computer. Towards the end of the course we will provide instructions on how to download your app on an iPhone (in case you do have access to a physical device.)

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

Related Courses

Networking and Security in iOS Applications (Coursera) Coursera
University of California, Irvine

Networking and Security in iOS Applications (Coursera)

You will learn to extend your knowledge of making iOS apps so that they can securely interact with web services and receive push notifications. You'll learn how to store data securely on a device using Core Data. You’ll also learn to securely deploy apps to the App Store and beta users over-the-air. The format of the course is through a series of code tutorials. We will walk you through the creation of several apps that you can keep as a personal app toolbox. When you make your own apps after this course, you can bring in these capabilities as needed. When necessary we pop out of the code tutorials to talk about concepts at a higher level so that what you are programming makes sense.

Jun 22nd 2026
4 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
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
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
JavaScript Testing (Udacity) Udacity
Udacity

JavaScript Testing (Udacity)

Developing Apps with Confidence. In this course you'll learn how to write JavaScript applications with confidence, using the red-green-refactor workflow. You'll write comprehensive suites of tests that validate your application is functioning as intended at all times. You'll start by exploring how other industries use a variety of tests and the value it provides. You'll then start writing your very own tests, using the Jasmine testing framework. Finally, you'll start developing your very own address book application using the red-green-refactor workflow and explore a variety of scenarios including testing asynchronous functions.

Self Paced
Self-Paced
Advanced Programming in Swift (Coursera) Coursera
Meta

Advanced Programming in Swift (Coursera)

At the heart of any remarkable iOS applies a thorough understanding of the Swift programming language. Embark on a journey to expand your knowledge and skillset with Advanced Programming in Swift. Discover Swift’s advanced custom data types, explore code organization best practices, tap into error handling to improve your program’s performance, and foster an understanding of programming the functional way with higher-order functions like map, filter and reduce. Then, to further understand the inner workings of successful app development, learn how to implement unit tests to ensure that your applications function as intended.

Jun 22nd 2026
4 Weeks
Introduction To Swift Programming (Coursera) Coursera
University of Toronto

Introduction To Swift Programming (Coursera)

Introduction to Swift Programming is the first course in a four part specialization series that will provide you with the tools and skills necessary to develop an iOS App from scratch. By the end of this first course you will be able to demonstrate intermediate application of programming in Swift, the powerful new programming language for iOS. Guided by best practices you will become proficient with syntax, object oriented principles, memory management, functional concepts and more in programming with Swift.

Jun 15th 2026
5-12 Weeks
Objective-C for Swift Developers (Udacity) Udacity
Udacity

Objective-C for Swift Developers (Udacity)

This course is designed to teach students how to understand and identify the differences between the Objective-C and Swift programming languages, and especially, how to rewrite from the former to the latter. Understanding communications between the two languages—called "interoperability"—is becoming more and more important for developers, particularly as we prepare for the arrival of Swift 3.0.

Self Paced
Self-Paced