Course Description

Note: This custom-designed class is created and owned by Future Media Concepts. It is not sponsored or authorized by Apple Inc.
Course Description
Prepare to learn Objective-C and the iOS SDK by establishing the most important programming fundamentals. You'll become familiar with the Xcode Integrated Development Environment and understand the history of Objective-C by beginning or brushing-up on ANSI-C. You'll learn the compiler pipeline starting with the preprocessor and progressing through the linker. Learn the fundamentals of ANSI C and Objective-C and get a solid background and foundation for learning iPhone and iPad development.
What You'll Learn in Class
This course is designed to get you working efficiently and creatively in Objective-C. We have designed it as an effective combination between instructor-led demonstrations and supervised working lab where our practice exercises are designed to reinforce key concepts taught to help you gain proficiency fast. Students - you'll receive an introduction to fundamentals of ANSI C programming, as well as object-oriented programming with Objective-C classes, objects, methods, messages, instance variables, and more. Our instructor will also teach students a more in-depth understanding of how Objective-C actually works to help you when you are trying to learn a new feature of Objective-C, or resolve a problem in the debugger.
Who Needs to Attend
Programmers and non-programmers wanting to firmly establish fundamental programming theory and practice.
Prerequisites
Some programming experience is recommended
Follow on Courses
- iOS Applications Development
Course Outline
Note: The curricula below comprise activities typically covered in a class at this skill level. The instructor may, at his/her discretion, adjust the lesson plan to meet the needs of the class.
Day 1
- Creating, Understanding and Compiling a Simple Program
- Understanding Variable Basics
- Understanding Objects
- Instances and Methods
- Creating a Class
- @interface section
- @implementation section
- The Program Section
- Accessing Instance Variables and Data Encapsulation
- Data Types and Constants
- Arithmetic Expressions
- A Calculator Class
- for Statement
- while Statement
- do Statement
- break Statement
- continue Statement
Day 2
- if Statement
- switch Statement
- Boolean Variables
- The Conditional Operator
- Separate Interface and Implementation Files
- Synthesized Accessor Methods
- Accessing Properties Using the Dot Operator
- Multiple Arguments to Methods
- Local Variables
- The self Keyword
- Allocating and Returning Objects from Methods
- Understanding Inheritance
- Extension Through Inheritance: Adding New Methods
- Overriding Methods
- Abstract Classes
- Polymorphism: Same Name, Different Class
- Dynamic Binding and the id Type
- Compile Time Versus Runtime Checking
- The id Data Type and Static Typing
- Asking Questions About Classes
- Exception Handling Using @try
Day 3
- Initializing Objects
- Scope
- Enumerated Data Types
- The typeder Statement
- Data Type Conversions
- Bit Operators
- Categories
- Class Extensions
- Protocols and Delegation
- Composite Objects
- The #define Statement
- The #import Statement
- Conditional Compilation
- Arrays
- Functions
- Blocks
- Structures
- Pointers
- Non-Objects
- Miscellaneous Language Features
Day 4
- Foundation Documentation
- Number Objects
- String Objects
- Array Objects
- Dictionary Objects
- Set Objects
- Managing Files and Directories: NSFileManager
- Working with Paths: NSPathUtilities.h
- Basic File Operations: NSFileHandle
- The NSBundle Class
- Automatic Garbage Collection
- Manual Reference Counting
- The Event Loop and Memory Allocation
- Summary of Manual Memory Rules
- Automatic Reference Counting (ARC)
- Strong Variables
- Weak Variables
- @autorelease Blocks
- Method Names and Non-ARC Compiled Code
Day 5
- The copy and mutableCopy Methods
- Shallow Versus Deep Copying
- Implementing Protocol
- Copying Objects in Setter and Getter Methods
- Archiving with XML Property Lists
- Archiving with NSKeyed Archiver
- Writing Encoding and Decoding Methods
- Using NSData to Create Custom Archives
- Using the Archiver to Copy Object
- Framework Layers
- Cocoa Touch
- The iOS SDK
- An iPhone Fraction Calculator
Cancelling an Open Enrollment Registration
Cancellation policy:
If notice is given 15 or more calendar days before the start of a class, the student may receive a full refund less a $100 administrative fee. If notice is given less than 15 calendar days no rescheduling or efunds are permitted.
Rescheduling Policy
If notice Is given 15 or more calendar days before the start of the class a student may reschedule . A student can reschedule a class up to two (2) times. Additional reschedules will not be allowed.
No Shows if a student does not attend a scheduled session, there will be no refund or rescheduling permitted. Payment is forfeited. FMC reserves the right to cancel classes with insufficient enrollment or in other circumstances. FMC will endeavor to give as much advance notice as possible of any change to the schedule. FMC shall not be responsible for any incidental or consequential loss arising whatsoever.