Topics and Outcomes
Course Outline by Topic
- Tools
- References and Resources
- Debugging
- Regular Breakpoints
- Exception Breakpoints
- Conditional Breakpoints
- Step In/Step Over/Continue
- Stack Trace
- Profiling
- Throwing Exceptions
- Debugger Console
- 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