Win a Free Class!

Join our email list for a chance to win

iOS App Development Bootcamp

Free seminar: Get Started Building iOS Apps, November 14.

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. 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
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
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

Week 2
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
Deinitialization

Topics

  • How deinit works
  • Using deint
User Login

Topics

  • Creating a user object
  • Creating a login method
  • Validating a user login
Week 4
Hello World: Starting a Simple App

Topics

  • Creating a Single View Application
  • Getting to Know Xcode’s Interface
  • Creating a Label and Button
  • Document Outline: View vs View Controller
Hello World: Making a Button Change Some Text

Topics

  • Assistant Editor
  • ViewController.m vs .h
  • Creating an Outlet for the Text
  • Creating a Method for the Button
  • @synthesize
  • Testing the App in the iOS Simulator
Hello World: Making Label Initially Blank

Topics

  • Using Xcode’s Help
  • Removing the Initial Label Text
Hello World: Intro to Swift

Topics

  • Creating a Class
  • Defining Properties
  • Error Alerts
  • Methods
  • @property Modifiers: strong/weak & nonatomic/atomic
  • @synthesize
Hello World: Finishing Up

Topics

  • Instantiation
  • Creating Outlets
  • Dot Notation vs. Getter and Setter Methods
  • Placeholders for Values
  • First Responder, Delegates & Dismissing the Keyboard
  • Debugger Area and Breakpoints
Creating Simple Cells and Managing Retina Images

Topics

  • Adding Cells to the Table View
  • Adding Images
  • Adding Retina Images

Week 5
Building a Table View Controller

Topics

  • Creating a Class and Connecting it to the Storyboard
  • Adding Properties for the Band Data
  • Editing the Three DataSource Protocol Methods
The Navigation Controller

Topics

  • Navigation Controllers
  • Setting the Initial View Controller
  • Setting the Root View Controller
  • Adding the Detail View Controller
  • Segues
Creating the Band Detail View

Topics

  • Adding Label Objects
  • Adding View Objects
  • Changing Text Properties
  • Adding a Divider Line
  • Adding the Band Images
Segues Part 1

Topics

  • What Is a Segue?
  • prepareForSegue Method
  • Band Detail Object
Segues Part 2: Passing Objects

Topics

  • NSMutableArray vs NSArray
  • Creating a Mutable Array
  • Connecting Band Detail Outlets in Code
Tab Bar Controller

Topics

  • Creating a Tab Bar Controller
  • Using an Apple-Provided Tab Icon
  • Using a Custom Tab Icon
Creating a Location Map

Topics

  • Adding the MapKit Framework
  • Adding a Map View
  • Setting a Specific Location on the Map
  • Defining Location Coordinates
Outline Your App Idea
Week 6
Linking to an External Webpage

Topics

  • Creating the Web View Controller
  • Coding the Link to the Webpage
  • Adding a Button Linking to the Webpage
  • Making the Webpage Scale to Fit
Embedding Video into the App

Topics

  • Adding a Video
  • Moving the Video to the Band Detail
Setting the Video for Each Band

Topics

  • Adding a videoURL Property
  • Defining videoURL for bandDetail Objects
  • stringWithFormat Method
Customizing the App for iPad

Topics

  • Creating a New iPad Storyboard
  • Setting the Interface Orientation
Making the App Real World
Setting up a Model

Topics

  • Creating a Model
  • Converting Code to Function Generically
Connecting to the Real World

Topics

  • Creating a Parse Account
  • Creating a Parse App
  • Importing Parse
  • Creating a Dataset on Parse
  • Connecting Your Model with Parse
Connecting the View Controller with the Model

Topics

  • Talking Back and Forth with the Model
  • Handling Data Error
  • Adding UI to Allow the User to Refresh Data
Final Project: Storyboard Your Idea
Week 7
App 1: Dice

Topics

  • Auto-layout: Landscape vs. Portrait
  • Buttons
  • Image Assets
  • Logic
  • Scoring
Deploying Your App on Your Phone

Topics

  • Setting up Your Developer Account
Save Your Code on GitHub
Weekly Quiz
Final Project: Plan Your Code

Week 8
App 2: Recycle Me

Topics

  • App Architecture
  • App Layout
  • Geolocation
  • Display Map and Markers
  • Calculate Distance
Weekly Quiz
Final Project: Start Coding!
Week 9
Parse and Saving Cloud Data
App 3: Inventory Control

Topics

  • App Architecture
  • App Layout
  • Setup Parse Account
  • Signin and Signout
  • Save Data to Parse
  • Use Your Camera as a Barcode Scanner
Weekly Quiz
Work on Final Project
Week 10
Course Wrap Up
Test Flight and Submitting to the App Store
Final Projects
Final Project Presentations