Mobile App Development
IGME-590
Course Topics
Course Outline by Topic
- Software Design Patterns
- Interface v. Implementation
- Target-Action
- MVC
- Notifications
- Delegation and Protocols (Dynamic Dispatch)
- Inheritance
- Composition
- Separation of Concern
- Singleton
- Categories
- Message Sending - receiver/message/arguments
- Call-by-prefix (property generation)
- Mobile App Design
- Design Process
- Application Definition Statement
- Navigation
- Drill Down
- Tab Bar
- iPad Split View
- iPad Collection View
- C Language Features and Concepts
- Main Method
- Variables, Scope, and Data Types
- C arrays
- C structs
- Writing C Functions
- Compiler Build Phases
- Pre-processor
- linking
- Heap and Stack
- Pointers
- Passing By Reference v. By Value
- Math Functions
- stdlib.h
- pre-defined macros: __FUNCTION__ , __FILE__
- #include, #import, #pragma, #define
- functions v. macros v. inline C functions
- Objective-C Language Features and Concepts
- Classes
- Initializers
- ivars
- Properties
- Methods
- Delegates and Protocols
- Categories
- Class Continuations
- C Blocks
- Foundation Classes
- NSString & NSMutableString
- NSArray & NSMutableArray
- NSDictionary & NSMutableDictionary
- NSDate
- Objective-C Literals
- Objective-C 2.0 Enumeration
- Cocoa Touch
- Application Delegate - application lifecycle
- UIView and its subclasses
- Other iOS Frameworks
- Debugging
- Testing - Unit Testing - SenTestKit Framework
- Profiling with Instruments
- Core Animation Tool
- Leaks Tool
- Case Studies
- CountR & Technobabble Generator
Concepts explored:
- Interface Builder
- Target-Action
- View Controllers
- Writing Methods
- Calling Methods on Foundation classes
- Acey Ducey
Concepts explored:
- ...