Study independently, not alone. Our online campus, Learn.co, is the best way to learn programming online.

Read more about Learn.co

Study with top-rated faculty and a most rigorous curriculum. Our Manhattan campus is the best way to learn programming in greater New York City.

Read more about the NYC Campus

Career Courses • Job Guaranteed

NYC Tech Talent Pipeline

For NYC residents earning less than $50,000 per year and meeting all federal selective service requirements.

Swift: Building iOS Apps

Master programming in Swift and build interactive mobile iOS applications. Learn at your own pace and work collaboratively with fellow students in our revolutionary online campus.

At a Glance

  • Program runs in our community-based online campus, Learn.co

  • Free tuition for a limited time; no credit card required

  • Student-built projects include a movie search app, quiz game, and dice roll game

  • Program is designed for complete beginners or programmers new to Swift and iOS.

  • ~125 hours of rigorous coursework authored by Flatiron School

  • No schedule. Learn at your own pace

  • Build iOS Applications with Swift

    We’ll start with the fundamentals of Swift and move on to more advanced topics like Higher Order Functions, Protocols, and Extensions. Write, run, and view your code in Xcode and learn how to read warning and error messages. Use Interface Builder and Auto Layout to build interactive, visually stunning applications.

  • Join our Community of Programmers

    Our online campus, Learn.co, lets you collaborate with classmates, create study groups, and automatically build a real-world code portfolio through GitHub.

  • Upgrade Your Code Portfolio

    In your final project you’ll create your own fully interactive, movie search iOS app using an external API. The source code will be showcased on your Github profile.

What it’s like

Swift: Building iOS Apps
Who’s This Course For?

Who’s This Course For?

Whether you’re a complete beginner to programming or have been working with other languages and want to learn more about iOS, this course is for you!

  • Complete beginners curious about programming
  • Non-technical professionals interested in developing their own application
  • Proficient web developers who want to broaden their expertise to mobile development
  • Mobile developers who use Objective-C and want to get up to speed with Swift
  • Anyone who wants to take their Swift skills to the next level

Who’s This Course For?

Whether you’re a complete beginner to programming or have been working with other languages and want to learn more about iOS, this course is for you!

  • Complete beginners curious about programming
  • Non-technical professionals interested in developing their own application
  • Proficient web developers who want to broaden their expertise to mobile development
  • Mobile developers who use Objective-C and want to get up to speed with Swift
  • Anyone who wants to take their Swift skills to the next level
Swift: Building iOS Apps
Curriculum

Curriculum

Swift is a key component of developing iOS, tvOS, MacOS and WatchOS applications today. When Apple unveiled the Swift programming language, it quickly became one of the fastest growing languages in history. Apple themselves are beginning to implement a lot of the apps you see on your home screen in Swift. Now that Swift is open, you will be able to apply your Swift skills to an even broader range of platforms, from mobile devices to the desktop to the cloud.

Introduction

  • Learn about the difference between variables and constants that encapsulate a single piece of data
  • Distinguish between and create various data types in Swift
  • Use functions to get your program to follow a specific set of instructions

Xcode

  • Write, run, and view your code in Xcode
  • Utilize the iOS simulator within Xcode
  • Learn about testing to ensure correct code implementation and
  • Distinguish between warning and error messages in Xcode

Basics

  • Learn various math operations on data types in Swift
  • Use Boolean expressions and comparison operators to evaluate statements
  • Use conditional and switch statements to execute different pieces of code

User Interface

  • Learn how Xcode’s Interface Builder lets you create graphical user interfaces for apps
  • Discover the role of storyboards, scenes, and the view object in Interface Builder
  • Connect the interface of your application with the viewcontroller.swift file
  • Simplify adding elements and controls to your app using iOS framework UIKit

Arrays

  • Learn how arrays store multiple pieces of data
  • Use methods to manipulate data in arrays
  • Use looping and functions to iterate over an array

Optionals & Tuples

  • Explain what an optional and tuple is along and where they live
  • Distinguish between the various methods of unwrapping an optional

Dictionary

  • Learn how a dictionary stores associations
  • Explain why and where to use a dictionary

Classes, Enums, and Structs

  • Understand how to create instances of classes and structs
  • Declare properties for a class and distinguish between them
  • Constant vs. variable properties and objects
  • Distinguish between reference and value types

Protocols and Extensions

  • Create extensions on built-in Swift types
  • Define a blueprint of methods, properties, etc by creating protocols
  • Use delation to enable class or structure to hand off some of its responsibilities

Table Views

  • Present a data set to the user in an organized way using table views
  • Distinguish between the various components of a table view

Auto Layout

  • Distinguish between frame and bounds
  • Design an application that can work across different devices with AutoLayout
  • Utilize stack views within Interface Builder
  • Create layout constraints in code

Higher-Order Functions and Generics

  • Create self-contained blocks of functionality with closures
  • Perform fast, built-in functions on collection types using map, filter, and reduce
  • Use generics to eliminate copy and pasting code when creating functions or types
  • “Dreams really do come true @FlatironSchool #mischiefmanaged”

    • James Doherty

    • 2016 Student
    • James Doherty

    • 2016 Student
  • “Dreams really do come true @FlatironSchool #mischiefmanaged”

    • James Doherty

    • 2016 Student
    • James Doherty

    • 2016 Student
  • “Moral of this lab…check the Gemfile! Thanks @Learn_co experts for helping me out! #learningtocode #100daysofcode”

    • Sandy Hogan

    • 2016 Student
    • Sandy Hogan

    • 2016 Student
Swift: Building iOS Apps
Final Project

Final Project

Students build various applications throughout the course which will lay the foundation for going out and building more complex apps.

  • A real-life die roll on screen
  • An app that acts like a light bulb and shines with different colors
  • A quiz game application
  • A Simon Says application
  • A blackjack game
  • War! game application
  • Shopping cart application

The final project will be more rigorous and a culmination skills gained through building the smaller applications. In this project, students will build a full-fledged working application that searches for movie titles using the IMDB API.

Swift: Building iOS Apps
Our Online Campus: Learn.co

Our Online Campus: Learn.co

Learn.co, Flatiron School’s online campus, harnesses the Internet’s unique potential to revolutionize education. Students work at their own pace with real software tools, but always with the support of professional instructors and in a community of fellow students.

  • Use Real Tools

    You can’t learn real skills without real tools. Learn.co users utilize the Xcode development environment, a professional command line, and Git-based workflow.

    Use Real Tools

    You can’t learn real skills without real tools. Learn.co users utilize the Xcode development environment, a professional command line, and Git-based workflow.

  • Get Help in Real Time

    When you’re stuck, you’ll get help. Right away. No need to wait a week to meet with your mentor. No emails to send. No forums to post to. Be part of a community of active Learners.

    Get Help in Real Time

    When you’re stuck, you’ll get help. Right away. No need to wait a week to meet with your mentor. No emails to send. No forums to post to. Be part of a community of active Learners.

  • Open Curriculum

    Because our curriculum is 100% open-source, it stays more fresh and current than any other. Students are encouraged to suggest changes directly from our online platform, and receive public credit for doing so. We continually improve our coursework in reaction to feedback and real-world changes, and our edits are supplemented by hundreds of student submissions each month.

    Open Curriculum

    Because our curriculum is 100% open-source, it stays more fresh and current than any other. Students are encouraged to suggest changes directly from our online platform, and receive public credit for doing so. We continually improve our coursework in reaction to feedback and real-world changes, and our edits are supplemented by hundreds of student submissions each month.

  • “Learn.co is designed with collaboration in mind… throughout your use of the platform, you also get access to Learn Experts who are available for help, both through real-time chat and screen sharing.”

    • Seiji Naganuma

    • Developer, Learn.co
    • Seiji Naganuma

    • Developer, Learn.co
  • “Learn.co is designed with collaboration in mind… throughout your use of the platform, you also get access to Learn Experts who are available for help, both through real-time chat and screen sharing.”

    • Seiji Naganuma

    • Developer, Learn.co
    • Seiji Naganuma

    • Developer, Learn.co
Swift: Building iOS Apps
Get Started Today

Get Started Today

Setup is quick and works on virtually any computer. You learn at your own pace, so you can start right now.