ORIENTATION

Intros
Name
YOUR FAVORITE APP

Why You're Here

2 Polished, functional apps on the app store

Important things you should expect

  • You should expect to struggle
  • You should expect to feel dumber than others
  • You should expect to feel overwhelmed
  • You should expect to work harder than you ever have before

The barrier to entry is high, we are here to get you there.

What are you paying for?

Expert teachers

Excellent mentors

Modern, project-based, refined curriculum

24/7 hack space

Network + alumni

What are you not paying for?

24/7 access to teachers, mentors

Job

A static skillset

A personalized, 1:1 experience

 

Do's 👍

  • Respect peers, students, mentors
  • Go "all in"
  • Have fun
  • Build relationships, not a competition
  • Work with your mentor
  • Every single stretch problem, mini project, repo

Don'ts 👎

  • Miss class (email in case of emergency)
  • Leave early
  • Mess with the learning environment
  • Compare yourself to others
  • In-class relationships
  • Interview for jobs prior to end of class
  • Drugs/alcohol

If you miss 3 days for any reason, you will be deferred to a future cohort.

Work hard, be nice to people.

Daily Schedule

9:00am:     👊 Stretch Problem

10:00am:    🖥 Guided Project

12:30pm:    🌭 Lunch

1:30pm:     📱 Project - Pair Programming

4:00pm:     ✅ Code Review

5:00pm:     📱 Project

7:00pm:      📚 Preclass Work

Monday-Friday

9-5 is not enough.

Working With Your Mentors

  • 20 minute rule
  • Pair Programming
  • Code review
  • Mentor hours

Come Up With the Question

Your Mentors

Your Guest Instructors

Plus guest speakers.

Flipped

Video archive. Video quality. Deep dives. Black Diamonds.

Async

Units. Challenges. Repeat. Space. Advice.

The Projects

Flashlight. Introduction. Solar System. Journal. Timer. Task. Post. Calculator. Timeline. Journal-C. Chat. Capstone Project. Group Project. Portfolio.

Two Types of Feedback

  1. Legitimate mistake or issue on DevMountain's part

  2. Designed discomfort

2 Polished, functional apps on the app store

LEAD INSTRUCTOR

Caleb Hicks

LEAD Mentor

James Pacheco

STUDENT SUCCESS

Krissy Weekly

Feedback

read developer manuals and get started with the Swift Big Nerd Ranch Guide
identify, describe, and use Types, Constants, and Variables in Swift
identify, describe, and use Conditionals in Swift
identify, describe, and use Numbers in Swift
identify, describe, and use Switch in Swift
identify, describe, and use Loops in Swift
identify, describe, and use Strings in Swift
identify, describe, and use Optionals in Swift
identify, describe, and use Arrays in Swift
identify, describe, and use Dictionaries in Swift
identify, describe, and use Sets in Swift
identify, describe, and use Functions in Swift
identify, describe, and use Closures in Swift
identify, describe, and use Enumerations in Swift
identify, describe, and use Structs and Classes in Swift
identify, describe, and use Properties in Swift
identify, describe, and use Initialization in Swift
identify, describe, and use Value vs. Reference Types in Swift
identify, describe, and use Protocols in Swift
identify, describe, and implement the concepts covered in the Swift 2.0 Basics unit
identify, describe, and implement the concepts covered in the Swift 2.0 Collections and Control Flow unit
identify, describe, and implement the concepts covered in the Swift 2.0 Functions unit
identify, describe, and implement the concepts covered in the Object-Oriented Swift 2.0 unit
identify, describe, and implement the concepts covered in the Build a Simple iPhone App with Swift 2.0 unit
identify, describe, and implement the concepts covered in the Swift 2.0 Enumerations and Optionals unit
identify, describe, and implement the concepts covered in the Swift 2.0 Protocols unit
identify, describe, and implement the concepts covered in the Error Handling in Swift 2.0 unit
identify, describe, and implement the concepts covered in the Build a Vending Machine App in Swift 2.0 unit
identify, describe, and implement the concepts covered in the Intermediate Swift 2 unit
identify, describe, and implement the concepts covered in the Delegates in Swift 2 unit
identify, describe, and implement the concepts covered in the Build an Interactive Story App with Swift 2 unit
identify, describe, and implement the concepts covered in the Closures in Swift 2 unit
describe basic object-oriented programming concepts, and use Xcode complete relevant sample projects
use git to fork, clone, commit, and push work
create, size, and place View objects
identify, describe, and participate in classroom workflows
identify and use documentation to implement UIKit elements
place views on the screen and update their properties
identify and describe the role of View Controllers
identify and implement different Controls
identifiy and use Control Events to execute code
identify, describe, and implement storyboard segues and unwind segues
identify, describe, and use Stack Views and basic Auto Layout to place views
use Auto Layout to place views programmatically
use size classes to design effectively for multiple devices
use the Appearance protocol to set visual attributes
identify, describe, and implement the protocol design pattern
identify and describe the importance of Table Views
use the UITableViewDataSource protocol functions to provide data to an instance of UITableView
describe and use the UITableViewDelegate function didSelectRowAtIndexPath to respond to user interaction
implement intermediate Table View features
instantiate, place, and give data to a Collection View

 

implement intermediate Collection View features
describe, identify, and implement proper Model-View-Controller principles
create a custom class for storing model data
store data on and retrieve data from a model controller object
identify, describe, and implement the singleton pattern
convert a custom model object into a Dictionary
convert a Dictionary into a custom model object for use
identify and describe what can be stored in plist files
persist data between app launches using NSUserDefaults
describe and implement the Core Data stack from scratch
describe and implement NSNotifications to notify other classes of events
use predicates to filter collections
identify and understand the pros and cons of a variety of navigation hierarchies
identify and implement Navigation Controllers
identify and implement a Tab Bar Controller based view hierarchy
add a Search Controller and respond to search input
identify and use closure syntax to work with network requests and other block based APIs
animate View objects using animateWithDuration
animate View objects using Core Animation
identify, display, and respond to user responses from an Alert Controller
instantiate, schedule, and handle Local Notifications
identify and implement various Apple View Controllers
identify, describe, and use documentation to interact with REST APIs
use NSURLSession to download and serialize network data
identify  features of Firebase, add Firebase to an Xcode project, save and retrieve simple data from Firebase
identify and describe best practices for structuring data in Firebase
use Firebase authentication and protected access for objects
use basic best practices for proper database design
identify features of CloudKit, add CloudKit to an Xcode project, save and retrieve simple data from CloudKit
create Push Notifications using CloudKit and CKSubscriptions
systematically plan out each class needed for an MVP product
identify and describe the best practices for planning minimum viable solutions
recognize intentional user experience and visual design as core values of developing for Apple platforms
create low-fidelity designs for quick iteration and to demonstrate user experience
conduct a basic user interview to gather feedback on user experience
use common resources to find design inspiration
submit an app through iTunes Connect for beta testing using TestFlight
submit an app through iTunes Connect for distribution on the App Store
create an in-app purchase on iTunes Connect
add an in-app purchase to the app that resolves with iTunes Connect
identify and describe deprecation and backwards compatibility
use Xcode debugging features to resolve bugs
take advantage of pair programming to work with and learn from other developers
use git-flow to manage projects and work in a shared codebase
identify, describe, and work in a sprint-based system for development
follow best practices for code review to improve code
identify and describe best practices for finding open iOS jobs inside and outside of Utah
answer common technical interview questions with clarity and accuracy
present a professional resume and social media presence on LinkedIn, Github, and elsewhere
follow best practices for accepting and negotiating an offer
continue learning iOS development after class ends
complete an individual capstone project and submit it to the App Store
complete a group capstone project and submit it to the App Store

104

objectives

Pair Programming

http://twitter.com/calebhicks/lists/ios

Tweetbot: Join the Community

Day One: Document your Learning

  • Remember what you learned
  • See how far you've come
  • Set goals, review progress
  • Inquisitive #27-37
  • Under the Radar
  • Developing Perspective

Overcast: Learn From Smart People

  • Accidental Tech Podcast
  • The Talk Show
  • Core Intuition
  • Canvas
  • iPhreaks
  • MacBreak Weekly
  • Serial Season 1

DMiOS6 Orientation

By calebhicks

DMiOS6 Orientation

  • 1,067