Introduction to Swift 2

Introduction to Swift 2 Course Description

Duration: 5.00 days (40 hours)

Price: $2,595.00

This course will give the student the necessary foundation in Swift 2 programming in order to later develop applications in Apple's Cocoa and iOS environments. It starts with the basics of programming in the Swift 2 programming language and finishes with the building of simple event-driven applications for the Apple Desktop and Mobile devices. There will also be some brief discussions of the Objective-C programming language which is still used in parts of the Cocoa and iOS environments. Once completed, the student will be ready to move on to the Cocoa and iOS courses.

Next Class Dates

Contact us to customize this class with your own dates, times and location. You can also call 1-888-563-8266 or chat live with a Learning Consultant.

Back to Top

Intended Audience for this Introduction to Swift 2 Course

  • » Programmers who will be involved in the development of applications for the Apple mobile and desktop environments.

Back to Top

Course Prerequisites for Introduction to Swift 2

  • » Knowledge of programming concepts is helpful but not required for this course.

Back to Top

This Course is also part of:

Back to Top

Introduction to Swift 2 Course Objectives

  • » 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.

Back to Top

Introduction to Swift 2 Course Outline

      1. Types and Control Flow
      2. Xcode 7 Playground
      3. Variables and Constants
        1. Primitive Types
      4. Numbers
        1. Integers
        2. Floating-Point Numbers
        3. Number Operations
        4. Converting numbers between types
      5. Strings
        1. Unicode
        2. String Interpolation
      6. Conditionals
        1. Ternary Statements
        2. Nesting Conditionals
        3. else if
      7. Switch Statements
        1. Range Statements
        2. Value Binding
        3. Where Clauses
        4. Tuples
        5. Pattern Matching
      8. Loops
        1. for-in Loops
        2. for case
        3. for Loops
        4. while Loops
        5. repeat-while Loops
        6. Control Transfer Statements
      9. Optionals
        1. Optional Types
        2. Optional Binding
        3. Implicitly Unwrapped Optionals
        4. Optional Chaining
        5. The Nil Coalescing Operator
      10. Functions and Built-In Data Structures
        1. Function Parameters
        2. Parameter Names
        3. Variadic Parameters
        4. Default Parameter Values
        5. In-out Parameters
        6. Function Returns
        7. Nested Functions
        8. Tuple Returns
        9. Optional Returns
        10. Exiting from a Function
        11. Function Types
      11. Arrays
        1. Accessing and Modifying Arrays
        2. Array Equality
        3. Adding and Removing Values
        4. Looping
        5. Immutable Arrays
      12. Dictionaries
        1. Accessing and Modifying a Dictionary
        2. Adding and Removing Values
        3. Looping
        4. Immutable Dictionaries
        5. Translating a Dictionary to an Array
      13. Sets
        1. Getting a Set
        2. Working with Sets
      14. Closures, Enumerations, Structures, and Classes
        1. Closures
        2. Closure Expression Syntax
        3. Functions as Return Types
        4. Functions as Arguments
        5. Capture Values
        6. Reference Types
        7. Functional Programming
      15. Enumerations
        1. Methods
        2. Associated Values
        3. Recursive Enumerations
      16. Structs and Classes
        1. Structures
        2. Instance Methods
        3. Classes
        4. Inheritance
        5. Method Parameters
      17. Properties, Initialization, and Protocols
        1. Basic Stored Properties
        2. Nested Properties
        3. Lazy Stored Properties
        4. Computed Properties
        5. Getters and Setters
        6. Type Properties
        7. Access Control
      18. Initialization
        1. Struct Initialization
        2. Class Initialization
        3. Reinitialization
        4. Failable Initializers
      19. Value vs. Reference Types
        1. Constant Value and Reference Types
        2. Using Value and Reference Types Together
        3. Copying
        4. Identity vs. Equality
      20. Protocols
        1. Protocol Conformance
        2. Protocol Inheritance
        3. Protocol Composition
        4. Mutating Methods
      21. Error Handling, Extensions, Generics, Memory Management
        1. Classes of Errors
        2. Lexing an Input String
        3. Catching Errors
        4. Parsing the Token Array
      22. Extensions
        1. Extending an Existing Type
        2. Extending a Custom Type
      23. Generics
        1. Generic Functions and Methods
        2. Type Constants
        3. Associated Type Protocols
        4. Type Constraint where Clauses
      24. Protocol Extensions
        1. Modeling
        2. Extending Type
        3. Protocol Extension where Clauses
        4. Default Implementations with Protocol Extensions
      25. Memory Management and ARC
        1. Strong Reference Cycles
        2. Reference Cycles in Closures
      26. Equatable and Comparable
        1. Conforming to Equatable
        2. Conforming to Comparable
        3. Comparables Inheritance
      27. A Cocoa Application
        1. Model-View-Controller
        2. Setting Up the View Controller
        3. Setting Up Views in Interface Builder
        4. Connections
        5. Saving and Loading Documents
      28. An iOS Application
        1. Laying Out the User Interface
        2. Connections
      29. Interoperability
        1. A brief overview of Objective-C
        2. Adding Swift to Objective-C
        3. Adding an Objective-C Class

Back to Top

Do you have the right background for Introduction to Swift 2?

Skills Assessment

We ensure your success by asking all students to take a FREE Skill Assessment test. These short, instructor-written tests are an objective measure of your current skills that help us determine whether or not you will be able to meet your goals by attending this course at your current skill level. If we determine that you need additional preparation or training in order to gain the most value from this course, we will recommend cost-effective solutions that you can use to get ready for the course.

Our required skill-assessments ensure that:

  1. All students in the class are at a comparable skill level, so the class can run smoothly without beginners slowing down the class for everyone else.
  2. NetCom students enjoy one of the industry's highest success rates, and pass rates when a certification exam is involved.
  3. We stay committed to providing you real value. Again, your success is paramount; we will register you only if you have the skills to succeed.
This assessment is for your benefit and best taken without any preparation or reference materials, so your skills can be objectively measured.

Take your FREE Skill Assessment test »

Back to Top

Award winning, world-class Instructors

Sam P.
- Team leader for the first undergraduate team to win the Duke Startup Challenge.
- Over 15 years of experience in the IT industry.
- NetCom Learning Instructor of the Year 2011.


Sam Polsky has spent his entire career in entrepreneurial pursuits, including such fields as biotechnology, software development, data management, and business process management. He began in entrepreneurship as team leader for the first undergraduate team to win the Duke Startup Challenge, a business development competition geared towards Duke Universitys various graduate schools.

Sam Polsky has since co-founded a consulting firm where he has been involved in software architecture, development and implementation. On top of that, Sam has been delivering acclaimed solutions in software architecture, development and implementation for over 15 years. He is a much-admired Subject Matter Expert and Trainer at NetCom Learning and was voted NetCom Learning Instructor of the Year 2011

See more...   See more instructors...

Back to Top

Recent Client Testimonials & Reviews

The instructor was good and the facility is convenient for me.

-Per L.
Course(s) Taken

» Mobile Development Professional Combo

Learned information useful to my job.

-Connie B.
Course(s) Taken

» Mobile Development Professional Combo

Online access to classroom was easy. instructor was knowledgeable on the material that was presented. Textbook that went along with the lecture was an easy read as well as focused on the what the course was about.
The online course was just effective if not better since no commute was necessary and was able to interact just as much or more.

- Joseph D.
Course(s) Taken

» Mobile Development Professional Combo

  More testimonials »  

Back to Top

Ways to contact us

Back to Top