Lesson 1
Introduction to Swift
Learn the basics of Swift, including its syntax, variables, data types, and foundational programming concepts.
Nanodegree Program
Master writing in Swift as you build five portfolio-worthy iOS apps to demonstrate your expertise as an iOS Developer
Master writing in Swift as you build five portfolio-worthy iOS apps to demonstrate your expertise as an iOS Developer
Intermediate
5 months
Real-world Projects
Completion Certificate
Last Updated May 20, 2024
Course 1 • 4 weeks
This course provides an introduction to Swift, Apple's powerful and intuitive programming language for iOS app development. The lessons cover an introduction to Swift, functions, object-oriented Swift and Swift patterns. The final project for this course is to build a Command Line Interface (CLI) Todo Application. This course is tailored for novice developers, perfect for becoming proficient in Swift and laying the groundwork for iOS app development.
Lesson 1
Learn the basics of Swift, including its syntax, variables, data types, and foundational programming concepts.
Lesson 2
Learn about Swift's functions and closures, exploring how to define and use them effectively for efficient and readable code.
Lesson 3
Learn the principles of Object-Oriented Programming in Swift, focusing on classes, inheritance, and encapsulation for robust app development.
Lesson 4
Learn Swift design patterns, mastering techniques for cleaner, more scalable code in iOS app development.
Lesson 5 • Project
Build a command line interface (CLI) Todo app using the Swift programming language.
Course 2 • 4 weeks
In this course you will start using SwiftUI and Xcode to develop user interfaces for iOS! You'll start by learning the fundamentals of UI design and explore the common design patters in iOS apps. Next, you'll install Xcode on your local machine and start creating views and hierarchies. You'll learn how interaction works in iOS apps deploy interactive components including buttons, forms, gestures and animations. After that, you'll take a deep dive into app navigation using stack navigation, tab navigation, and split view navigation. The course will conclude with a fun project where you'll create an event countdown app.
Lesson 1
In this lesson, you will learn about the relationship between UX and UI, study iOS design patterns, and explore the primary navigation, display and interactive components in iOS apps.
Lesson 2
This lesson covers SwiftUI and Xcode basics. Once you have Xcode set up, you'll jump right into building views and hierarchies for your iOS apps!
Lesson 3
In this lesson you'll learn add interactivity to your iOS apps with buttons, forms, gestures, and animations to make your app easier and more fun to use.
Lesson 4
Navigation is an important part of any app. In this lesson, you'll learn how to implement common iOS navigation patterns including stack navigation, tab navigation and split view navigation.
Lesson 5 • Project
Build a SwiftUI-based application designed to manage and countdown to your important events! You'll use the skills you've learned to design the views, navigation, and interactivity of the app.
Course 3 • 4 weeks
Lesson 1
Master basic iOS state management and data persistence: Understand @State, @Observable, data structures, UI updates, and persisting data.
Lesson 2
Dive into the essentials of SwiftData for iOS, learning about model management, data operations, queries, and optimizing data persistence strategies.
Lesson 3
Explore SwiftData's model relationships, including one-to-one, one-to-many, and many-to-many relationships, and learn to create, query, and delete related data.
Lesson 4
Explore SwiftData database migrations, schema updates, and how to manage data model changes without losing data through practical examples.
Lesson 5 • Project
Course 4 • 4 weeks
Lesson 1
Explore APIs and networking in iOS, including making HTTP requests, handling responses/errors, and sending/receiving data using URLSession and Codable.
Lesson 2
Explore implementing Sign In with Apple: learn setup, manage authentication states and data, alongside traditional username/password methods.
Lesson 3
Explore iOS concurrency: from responsive UIs and Swift's async/await, actors, to structured concurrency for efficient, error-handled asynchronous coding.
Lesson 4
Enhance iOS apps with concurrency for smoother network UIs, covering async/await, error handling, offline modes, and UI feedback on network status.
Lesson 5 • Project
Instructor
Owen is an iOS and Android app developer, and is the Student Experience Lead for iOS programs at Udacity. He graduated from the iOS Developer Nanodegree program in 2015.
Instructor
Kate is an iOS developer, speaker, author, and teacher who has spoken at conferences across the globe from AltConf in San Francisco to Mobile Central Europe in Poland. She also has hosted a podcast on work-life integration for parents in tech.
Instructor
Gabrielle earned her Ph.D. in Population Biology from UC Davis, where she discovered the joys of programming while analyzing DNA sequences. She has a background in teaching, and worked as an iOS Engineer before joining Udacity.
Instructor
Jarrod is an experienced iOS developer with a passion for reinventing how students learn. He holds a BS in Computer Science from the University of Alabama.
Average Rating: 4.6 Stars
225 Reviews
Combine technology training for employees with industry experts, mentors, and projects, for critical thinking that pushes innovation. Our proven upskilling system goes after success—relentlessly.
Demonstrate proficiency with practical projects
Projects are based on real-world scenarios and challenges, allowing you to apply the skills you learn to practical situations, while giving you real hands-on experience.
Gain proven experience
Retain knowledge longer
Apply new skills immediately
Top-tier services to ensure learner success
Reviewers provide timely and constructive feedback on your project submissions, highlighting areas of improvement and offering practical tips to enhance your work.
Get help from subject matter experts
Learn industry best practices
Gain valuable insights and improve your skills
Unlimited access to our top-rated courses
Real-world projects
Personalized project reviews
Program certificates
Proven career outcomes
Full Catalog Access
One subscription opens up this course and our entire catalog of projects and skills.
Average time to complete a Nanodegree program
iOS Developer