iOS Developer Nanodegree

Nanodegree key: nd003

Version: 1.0.0

Locale: en-us

Master writing in Swift as you build five portfolio-worthy iOS apps to demonstrate your expertise as an iOS Developer.

Content

Part 01 : Welcome to the Nanodegree

Learn what to expect in the classroom, get familiar with programming in Swift and download Xcode, Apple's development environment for iOS.

Part 02 : Learn Swift Programming

Learn the basics of Swift, the programming language used to develop iOS apps.

Part 03 : Intro to iOS App Development with Swift

Create an iPhone app that records a conversation with you and a friend, and plays it back to make you sound like a chipmunk or Darth Vader!

Part 04 (Elective): Version Control with Git

Learn how to use git, a popular version control system and essential tool for any developer.

Part 05 (Elective): Github & Collaboration

Learn how to interact with remote repositories and collaborate with other developers on GitHub.

Part 06 (Career): Career: Networking

Networking is a very important component to a successful job search. In the following lesson, you will learn how tell your unique story to recruiters in a succinct and professional but relatable way.

Part 07 : UIKit Fundamentals

Create MemeMe, an app that enables a user to take a picture and add text at the top and bottom to form a meme.

Part 08 (Elective): AutoLayout

Learn about AutoLayout and how to use stack views and constraints to create pixel-perfect UIs.

Part 09 (Elective): Sketch UI Elements

Sketch UI elements for your final app, and start visualizing what it might look like.

Part 10 : Network Requests and GCD

Incorporate networking into your apps, and harness the power of APIs to display images and retrieve data. Use Apple’s Grand Central Dispatch, or GCD, framework to create asynchronous apps, ensuring a smooth user experience, even while your app runs lengthy operations in the background.

Part 11 (Career): Career: Job Search Strategies

Opportunity can come when you least expect it, so when your dream job comes along, you want to be ready. In the following lessons, you will learn strategies for conducting a successful job search and

Part 13 (Elective): iOS Debugging

Learn how to debug your apps quickly and efficiently so that you can boost your productivity as a developer.

Part 14 : Data Persistence

Learn about simple persistence, the iOS File System, and the “sandbox.” Set up the classes we need to get Core Data up and running so that we can create, save, and delete model objects. Enable user interfaces to reactively update whenever the model changes, and safely migrate user data between versions.

Part 15 (Elective): Firebase in a Weekend

This course will teach you when and why to choose Firebase as a backend for your iOS application.

Part 16 (Elective): Firebase Analytics

Learn how to grow an app's user base using Firebase Analytics, a free and unlimited analytics solution. You'll be able to learn who your users are and how they interact with your app.

Part 17 : Final Project

This is your chance to let your iOS Developer skills shine! For this final project, you'll design and build your own iOS app, taking the design from the drawing board to the App Store.

Part 18 (Career): Career: iOS Interview Practice

Now that you've practiced your skills through your project work, learn how you can present your knowledge in an interview. In the following lessons, you'll learn strategies for how to best prep yours

Part 19 (Elective): Interoperability Problem Set

This series of coding challenges is designed to prepare you for the most common causes of friction between Objective-C and Swift.

Part 20 (Elective): Mobile Design Patterns

This course is strongly recommended for all students who want to gain mastery of common techniques—or design patterns—for organizing and structuring code in iOS apps.

Part 21 (Elective): Technical Interview Prep

Get hands-on practice and detailed walk-throughs of data structures and algorithms. Note that the programming interface in this course is still in beta, and is continually being improved.