Course Description

Course Description:
With iOS 9 and OS X v10.10 Apple is introducing a new programming language for developing applications called Swift. While the full transition from Objective-C will take several years, Apple strongly recommends that all new applications, as well as updates to existing applications, should be developed using the Swift language. In this course you’ll become familiar with the Xcode Integrated Development Environment as well as the programming structures and syntax used by Swift. You will also learn about programming concepts that are unique to Swift.
What You'll Learn in this Class:
This course is designed to get you working efficiently and creatively in Swift. We have designed it as an effective combination between instructor-led demonstrations and guided labs to reinforce key concepts taught. You'll receive an introduction to the fundamentals of Swift programming and object-oriented concepts. You will learn about properties, looping structures, decision structures, classes and objects. In addition, troubleshooting code and debugging will be discussed.
Who Should Attend:
Programmers who will be involved in the development of applications for the Apple mobile and desktop environments.
Book:
Swift for Programmers - Deitel and Deitel (Charles E. Brown coauthor)
Prerequisites:
A familiarity with programming concepts; such as variables, decision structures, looping structures, classes and objects.
Outline
(Note: Because Swift is an emerging language Apple is releasing frequent updates. As a result, the following outline may be subject to last minute alterations not reflected here)
Day 1
Introduction to Swift and Xcode 6
- Apple’s OS X and IOS Operating Systems: A Brief History
- Objective-C
- Swift: Apple's Programming Language of the Future
- Using Swift Exclusively
- Xcode 6 Integrated Development Environment
- Creating Swift Apps with Xcode 6
- Resources
Introduction to Swift Programming
- An initial "Hello World" Program
- Modifying the "Hello World" Program
- Composing Larger Strings with String Interpolation
- Adding Integers
- Arithmetic
- Decision Making: The if Conditional Statement and the Comparative
Operators
Day 2
Introduction to Classes, Objects, Methods and Function
- Creating a Class
- Creating and Using Class Objects
- Value Types vs. Reference Types
- Access Modifiers
Control Statements; Assignment, Increment and Logical Operators
- Control Statements
- if Conditional Statement
- if-else Conditional Statement
- Compound Assignment Operators
- Increment and Decrement Operators
- switch Conditional Statement
- while Loop Statement
- do-while Loop Statement
- for-in Loop Statement and the Range Operators
- for Loop
- break and continue Statements
- Logical Operators
Day 3
Functions, Methods, Enums and Tuples
- Modules in Swift
- Darwin Module - Using Predefined C Functions
- Multiple-Parameter Function Definition
- Random-Number Generation
- Introducing Enumerations and Tuples
- Scope Declarations
- Function and Method Overloading
- External Parameter Names
- Default Parameter Names
- Passing Arguments by Value or by Reference
Collection Classes
- Arrays
- Creating and Initializing Arrays
- Iterating through Arrays
- Adding and Removing Array Elements
- Subscript Expressions and Ranges
- Sorting Arrays: Introduction to Closures
- Array Methods filter; map and reduce
- Passing Arrays to Functions
- Multidimensional Arrays
- Variadic Parameters
Day 4
Dictionaries
- Dictionaries
- Stored vs. Computer Properties
- Lazy Properties
- Property Observers
- Type Checking and Casting
- The Any and AnyObject references
- Protocols
- Extensions
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.