Win a Free Class!

Join our email list for a chance to win

iOS App Development Intensive

Join our free seminar, Get Started Building iOS Apps, August 22!

This course will enable you to build your very own iPhone or iPad apps using Swift and Xcode. We'll start from the beginning, covering basic programming concepts in Xcode playgrounds. We'll move into advanced topics through the buildng of apps with step-by-step exercises. ​Concurrent with class projects, you will work on your own final project as homework, and receive guidance on that project from the instructor. 

During this 10-week course we'll cover iOS, Swift, and XCode. You will learn: 

  • Swift and XCode
  • App architecture
  • ​App styling​
  • Auto layout to build a user interface for iPhone and iPad
  • Various controller types such as view controllers, table view controllers, scroll view controllers, split view controllers, and page view controllers. 
  • Handling of image assets
  • Core Data
  • Store and parse data in the cloud using an app 
  • MapKit
  • Use of timers, sounds, ​local notifications, ​and alerts
  • ​Use of buttons, taps, and gestures​
  • App logic
  • Debugging apps 

The class does not require previous programming experience. However you should have at least some experience with code such as HTML/CSS. The more coding experience you have coming into this class the better. If you DO have programming experience, even better. To add apps developed in class to your personal device or to the app store you will need an Apple Developer account that costs $99, which we will set up in class. While we do supply computers in our classrooms, you may want to bring your own Mac laptop so you can easily continue to work on your projects at home.

Upcoming Classes

Price: $3000 Click for Discounts

  • 60 hours of Hands-On Training
  • Custom Written Workbook Included
  • Mac ONLY

What You’ll Learn

Week 1
Introduction to Tools of the Course

Topics

  • XCode
  • iOS
  • Swift
Hello World App
Roll The Dice App
The Swift Programming Language

Topics

  • The Swift Playground
  • Comments
  • The println() function
Variables

Topics

  • Variables
  • Constants
  • Data types
  • Optionals
  • Type inference
Conditional Statements & Operators

Topics

  • The if statement
  • The else statement
  • The else if statement
  • Comparison operators
  • Arithmetic operators
  • Logical operators
Strings

Topics

  • Literals
  • Mutable strings
  • Comparing strings
  • Concatenating strings

Week 2
Tip Calculator App
Functions

Topics

  • Functions with parameters
  • Functions with returned values
Optional Unwrapping

Topics

  • Forced optional unwrapping
  • Implicitly unwrapped optionals
  • Optional binding
Loops

Topics

  • For loops
  • While loops
  • For in loops
  • Iterating over arrays
Creating a Class

Topics

  • Object-oriented programming
  • Objects & classes
  • Methods
  • Properties
Methods

Topics

  • Methods with parameters
  • Methods with return values
Structs

Topics

  • Creating a struct
  • Accessing a struct
Inheritance

Topics

  • Creating a subclass
  • Method overriding
Extensions

Topics

  • Extending existing classes
  • Using extensions
Protocol & Delegates

Topics

  • Defining & implementing protocol
  • Delegate design pattern
  • Implementing & using delegates
Closures

Topics

  • Defining a closure
  • Closures with parameters
  • Closures with returned values
  • Closures as callbacks
Week 3
ENUMS

Topics

  • Creating & using enumerations
Type Casting

Topics

  • Type checking
  • Type casting
  • Downcasting
Tuples

Topics

  • Creating & using tuples
Type aliases

Topics

  • Creating & using type aliases
ARC

Topics

  • Strong & weak references
  • Avoiding strong reference cycles
Card War App

Topics

  • Importing the images
  • Adding the button that draws the cards
  • Labeling the deck & each player’s score
  • Adding constraints to our labels
  • Adding a button to restart the game & constraining it
  • Adding & constraining the background image
Week 4
Auto Layout

Topics

  • Stacks
  • Nested Stacks
  • Downcasting
  • Constraints
  • Content Hugging Priority
  • Compression Resistance Priority
Card War: The Data Model & Linking the UI to Code

Topics

  • Connecting the UI to the View Controller
  • Modeling a single card by adding a Card class
  • Modeling all the cards by adding a Deck class
  • Adding the shuffle functionality
Card War: Adding Variables to the View Controller

Topics

  • Declaring variables
  • Responding to changes in a variable’s value using the didSet property observer
  • Starting with the drawingCards function
Card War: Displaying the Cards & Score

Topics

  • Creating the UIImageViews that will hold the cards
  • Setting the size & position of the cards that are drawn
  • Revealing the cards & updating the winner’s score
  • Defining what happens when the game is restarted
Card War: Animating the Cards

Topics

  • Animating the cards’ move from the deck button to their respective positions
  • Revealing the cards’ values after they are done moving
  • Revealing the cards’ values with a flipping transition
  • Incorporating the final code into the animation

Week 5
Building the Lists App
Previewing on iPhone without Developer Account
Establishing an Apple Developer Account

Topics

  • Creating an Apple Developer Account
  • Registering your device to run apps directly from Xcode
Lists: UI with Two View Controllers That Display Table Cells

Topics

  • Creating files for a dual View Controller app
  • Adding a Navigation Controller to manage our two views
  • Adding UI elements to the first View Controller
  • Constraining the UI objects on the first View Controller
  • Copying the first View Controller to create the second
Lists: Refining & Beautifying the UI

Topics

  • Adding images from the designer
  • Improving the UI design on our Storyboard screens
  • Differentiating the two View Controllers
  • Setting View Controller & Table View Cell classes
Outline Your App Idea
Week 6
Building the Lists App, Continued
Lists: The Data Model & Linking the UI to Code

Topics

  • Cleaning up the View Controller & Table View Cell files
  • Connecting both UI screens to their respective files
  • Creating List & List Item classes in the data model
Week 7
Weather Forecast App

Topics

  • Acquiring an API Key
  • Using the Weather Underground API
  • Reading JSON
  • App Transport Security Settings
  • Adding Error Messages
  • Linking to an Outside Website
  • Completion Handlers
  • Do... Catch
  • Converting Strings into Floats
  • Displaying the Keyboard in the Simulator
  • Dismissing the Keyboard

Week 8
Met Gallery App Part 1
Met Gallery: Assets, Launch Screen, & Home View Controller

Topics

  • Creating files for a multiple View Controller app
  • Adding assets & using the Assets Catalog
  • Creating a launch screen
  • The Home View Controller & UI elements
  • Adding constraints to the UI elements
  • Connecting the View Controller to its code file
Met Gallery: View Controller with a Collection View

Topics

  • The gallery view controller UI
  • Refining the collection view
  • Connecting the view controller to its respective files
Met Gallery: The Painting Detail View Controller

Topics

  • Adding the UI objects to the Painting Detail VC
  • Constraining the UI objects
  • Adding Swipe & Tap Gesture Recognizers
  • Connecting the View Controller to its code file
Final Project: Start Coding!
Week 9
Met Gallery App Part 2
Met Gallery: Full Screen View Controller with a Scroll View

Topics

  • Creating the full screen painting View Controller
  • Setting size classes
  • Constraining the scroll view & connecting the code
Met Gallery: Adding a Spinner, Data Model, & Gallery VC

Topics

  • Adding a Spinner
  • Creating the data model
  • Adding the Collection View methods
Met Gallery: Painting Detail & Adding Gesture Recognizers

Topics

  • Loading the painting details
  • Refining the Image View
  • Making the online reference button functional
  • Segueing to the full screen scroll view
  • Adding the image to the full screen view
  • Implementing the swipe gestures
Work on Final Project
Week 10
Course Wrap Up
Test Flight and Submitting to the App Store
Final Projects
Final Project Presentations