• Programs
  • About
  • Contact
Become a Web Developer
Become a Designer

Here’s our iOS Development Syllabus!

You'll also receive a copy of the syllabus in your email. Check out the next steps for starting our iOS Development program.

You'll also receive a copy of the syllabus in your email.
Check out the next steps for starting our iOS Development program.

Watch our Info Session

Our quick info session gives you an overview of our iOS Development program and Bloc's approach to mentorship.

Explore the iOS Development Syllabus

> This page describes the structure of the program. For a simple list of major technologies taught during the program, see iOS: Technologies Used.

Prerequisites

  • No prior coding experience required
  • A Mac with a high-speed internet connection

Before You Start

  • Orientation with Bloc
  • 25 hours of pre-course study is required and should be completed during your orientation week. Find the pre-course study plan here
  • Introduction to your Mentor and membership to the Hacker Club community
  • Introduction to Bloc’s project-based approach to learning

Build a Development Environment

  • Learn how to use Xcode proficiently
  • Master version control and code management with Git and GitHub
  • Learn basic iOS controls like buttons, labels, and text fields

iOS Fundamentals: Objective-C

  • Basic Objective-C Syntax
  • Numbers, variables, and strings
  • If / else statements, different types of equality
  • Loops, arrays, dictionaries, simple data types vs. objects
  • Properties and scope

iOS Fundamentals: Swift

  • Introduction to Swift
  • Compare basics in Swift and Objective-C: properties, strings, arrays, dictionaries, loops, functions
  • New concepts in Swift like tuples and closures

Beginner iOS App: Build a Calculator

Your first simple iOS app is an alcohol calculator that converts alcohol content for beer, whiskey, and wine.

  • Learn how to build an app with storyboards, outlets, and actions
  • Understand the impacts of proper sizing and styling with the UIViewController
  • Learn basic navigation principles with the UINavigationController
  • Build tabbed navigation with the UITabBarController

Intermediate iOS App: Build a Web Browser

Your second iOS app is a web browser with a colorful, floating toolbar. The web browser enhances your privacy by purging all browser history when you switch apps.

  • Build a web browser app using WKWebView and delegation
  • Learn how to clear browser history with UIApplicationDelegate
  • Add a new toolbar by subclassing UIView and incorporating touch events
  • Learn to recognize gesture events in your app
  • Move and resize a floating toolbar using gesture recognizers
  • Use gesture recognizers to respond to different touch patterns and respond accordingly

Advanced iOS App: Build a Replica of Instagram

Master the basics: - Learn how to display a dynamic list of images in a feed - Crate user accounts and display usernames and captions - Implement infinite scroll and pull-to-refresh - Learn how to leverage an API and connect to Instagram to display your friends' actual photos, captions, and comments - Understand data persistence with Keychain - remember images and login between launches

Apply intermediate programming techniques: - Add full-screen photo viewing and saving (custom UIViewController transitions) - Build a fancy "like" button (intro to Core Animation) - Post images to Instagram (interacting with other apps) - Customize your app for iPad

Build advanced features and prepare for deployment: - Write unit tests - What is Test-Driven Development? - Check for logic errors (static analysis) - Install analytics and crash handling services - Set your app icons and launch images - Create your app on iTunes Connect

Technical Projects

You will complete at least two projects during the Project Phase. Projects are prescriptive yet open to interpretation and creativity. They are designed to challenge you while providing guidance to keep you on track. A project is complete when all its requirements are implemented and approved by your mentor.

Blocstagram Watch

  • Build upon the Instagram app you created in the Foundation Phase to add an Apple Watch extension.
  • Translate your app from Objective-C to Swift

Pong Replica

  • Build a working replica of Pong
  • Learn how to use UIKit Dynamics; a physics-based animation engine that’s used for moving around basic views
  • Add cool features like a bonus mode that catapults your Pong ball (inspired by AngryBirds!) so that you learn to use powerful physics
  • Add Artificial Intelligence to your pong app so that you can play against the computer and crush its robotic spirit

To-Do List App (Evernote Replica)

  • Build a note-taking app that syncs with iCloud
  • Learn to work with Core Data - a powerful Apple framework for storing information and relationships between information
  • Integrate Core Data with iCloud, so that when your data syncs between all your iOS devices
  • Add a feature that employs Data Detectors - when you click on a phone number, date, or link, it can open the Phone, Calendar, or Browser app

Airplane Chat App

  • A Wi-fi / Bluetooth chat app that allows you to message friends without needing an internet connection
  • Uses the same technology as AirDrop
  • Teaches the multi-peer connectivity framework
  • It’s great for camping and exploring outer space

Quora Replica

  • Build an app that allows users to ask questions, write answers, and upvote the best answers
  • This app teaches you to work with Firebase - the most popular mobile backend-as-a-service
  • Firebase provides developers with an easy-to-use backend for your iOS app. (It's a place to store questions and answers in the cloud so that the app downloads them from the cloud.)

Foursquare Replica

  • BlocSpot uses Apple Maps to discover new places and exciting adventure
  • Search for places you want to visit, add them to a list, and get notifications when you get close to a place you’ve bookmarked
  • This project teaches you to use Apple’s Core Location API to get updates when the user changes location. It also teaches local notifications, which are like push notifications that don’t require a backend

Swiftris 2

  • Build Swiftris, Bloc’s famous Tetris replica
  • Add new features to Swiftris including high scores
  • Integrate Game Center, and learn to use Game Center Challenges, Leaderboards, and Achievements
    • Game Center Challenges let you send friends your high score and challenge them to beat it. Practice writing trash talk
  • Swiftris 2 features a revolutionary new game feature called “pause”: when you switch to another app, the game pauses

Capstone

  • Bring your product idea to life. Use your capstone project as an opportunity to hone your skills in a particular area of interest, or as a springboard to launch a new product
  • Build your idea from scratch, while learning best practices for application scoping, design, and architecture
  • Publish your app to iTunes, and we'll help you promote it

Portfolio

  • Create a unique Portfolio site that showcases your personality, projects, and writing
  • Include images and links for your projects
  • Build a blogging engine to explain your coding process and express your opinions
  • Make your site stand out with a stunning design

Still have questions?

Check out FAQ

Ready to enroll?

Programs start every Monday.

Enroll now