iOS Bootcamp (full-time)

Learn to program fluently in Swift and/or Objective C. You will use the iOS tools with confidence and build
fully functional iOS apps of virtually any complexity.

Request Syllabus

iOS Bootcamp

Immersive 16-Weeks

WHAT YOU WILL LEARN

We’ll start you off by teaching you programming fundamentals through a series of challenging practice problems. Then we’ll help you gain an in-
depth understanding of object-oriented programming. Once you have a strong grasp of these important topics, you will move on to developing
apps. At the completion of the course, you will have developed a strong skill set with a focus on:

  • OS architecture
  • Computer Science fundamentals
  • Fundamentals of UI/UX design on iOS (animation, user interaction, buttons, tabs, maps, etc.)
  • Data: Storing data in the cloud using AWS as well as on the mobile device using SQLite.
  • Interacting with web services and APIs such as social networks and review sites
  • creating your own web services using AWS
  • Using iOS device features like camera and GPS
  • Relatively advanced topics such as security, app performance, asynchronous programming, design patterns, and testing
COMPUTER SCIENCE FUNDAMENTALS

Fundamental Programming Skills
  • Strings
  • Arrays
  • Sets
  • Linked Lists
  • Stacks
  • Queues
  • Sorting
  • Searching
  • Analysis of Algorithms
MOBILE DEVELOPMENT
Fundamental Programming Skills
  • 100 challenging programming problems in Objective-C (or Swift if you prefer)
  • Emphasis on fundamentals and consistency
  • Tooling essentials: XCode, LLVM, and Clang
  • Source control using Git

Digital Leash: Build a small but complete mobile application with a cloud backend
  • Major iOS Classes for app dev
  • The delegation pattern in iOS
  • HTTP and JSON for device-cloud communication
  • End to end debugging techniques (iOS, network, Backend, Memory)
  • Parent- Child Geolocation app (Two apps, one for parent and one for child). The goal of this project is to learn about
    Interface builder, Geolocation, Async network connections, JSON Obj-C conversions and validation

UI and Essential Classes for iOS
  • Collections
  • UITableView and UICollectionView
  • NSURLConnection
  • Delegate pattern in various contexts
  • Simple UITableView
  • NavController with Network connectivity and Object-Oriented design
  • Goal: Learn about the following:
    • The Navigation controller hierarchy
    • View lifecycle- viewDidLoad, viewDidAppear
    • UITableView, UICollectionView – delete, selections, best data structure for UITableView and reloading of Data
    • Robust Async Network calls
    • Object-oriented design and abstraction of the data layer and view layer

Data Persistence
  • Options for persisting data on device – NSUserDefaults, SQLite
  • Core Data persistence framework
  • Relational database design and the concept of normalization
  • – NavController- add persistence using sqlite, user defaults, core-data

More iOS Essentials
  • Creating UI programmatically
  • UIWebVIew, WKWebView – back and forth communication with native code
  • NSTimer
  • Maps
  • NSNoticationCenter
  • UIImagePickerController for camera
  • Social framework for Facebook posts and Twitter tweets
  • Animation essentials – build your own game!
  • Small projects involving all of the above

Media and The Cloud
  • Creating a backend with Firebase
  • Integrate backend with iOS using JSON
  • Camera app with advanced features such as cloud storage using Amazon S3
  • Video camera app with slow motion
INTERNSHIP PROJECT

There are a variety of technology options depending on the project we work on. But most will include the following:

  • An iOS App
  • RESTful services using a Java backend (typically Tomcat, Spring)
  • HTTP and JSON for device-cloud communication
  • Design and Architecture–database modeling, service design and system architecture
  • Our systems are typically deployed on Amazon EC2 and we use S3 for storage. We may use other Amazon services such
    as SNS/SQS/MySQL where applicable.

At the end of the course, you will be able to program fluently, develop, and maintain complex apps for iOS.

Become a productive iOS developer today!