Multi-platform Media App Dev

IGME-340

Topics and Outcomes

Course Outline by Topic

  • Tools
    • Xcode
    • Playgrounds
  • References and Resources
  • Debugging
    • Regular Breakpoints
    • Exception Breakpoints
    • Conditional Breakpoints
    • Step In/Step Over/Continue
    • Stack Trace
    • Profiling
    • Throwing Exceptions
    • Debugger Console
  • Testing
    • Unit Testing
  • Swift Language Features and Concepts
    • Immutability
    • Type Inference
    • Type Safety
    • upcasts and downcasts
    • Optionals
    • guard
    • Do/Try/Catch
    • Designated Initializers and Convenience Initializers
  • Software Design Patterns
    • Target-Action
    • MVC
    • Notifications
    • Delegation and Protocols (Dynamic Dispatch)
    • Inheritance
    • Composition
    • Separation of Concern
    • Singleton
  • Mobile App Design
    • Prototyping
    • Application Definition Statement
  • Navigation
    • Navigation Controllers - "Drill Down" with Detail Views
    • Tab Bar
    • iPad Split View
  • Foundation Classes
    • NSString & NSMutableString
    • NSArray & NSMutableArray
    • NSDictionary & NSMutableDictionary
    • NSData
    • NSDate
  • Cocoa Touch
    • Application Delegate & Lifecycle
      • Pausing
      • Saving State in NSUserDefaults
    • UIView and its subclasses
  • Other iOS Frameworks
    • AVFoundation
    • Core Location
    • Maps
    • CoreGraphics
    • SpiteKit or WatchKit
  • Profiling with Instruments
    • Core Animation Tool
    • Leaks Tool
  • Case Studies
    • CountR & Technobabble Generator & Tip Calculator
      Concepts explored:
      • Storyboards
      • Target-Action
      • View Controllers
      • Writing Methods
      • Calling Methods on Foundation classes
      • Custom Classes
    • Magnet App
      Concepts explored:
      • GestureRecognizers
      • Arrays
      • Utilizing Camera (P1)
      • Storing Data (P1)
      • Sharing Content (P1)
      • Object Serialization (P1)
    • National Parks
      Concepts explored:
      • Model Classes
      • Navigation
      • Location
      • Maps
      • Table Views
      • Custom Table View Cells
    • Drawing App
      Concepts explored:
      • Procedural Drawing with CoreGraphics
      • Gestures
    • Concert App
      Concepts explored:
      • Web Services
      • Downloading Data from Internet
      • Working with JSON