The Swift Programming Language (SWIFT) – Outline

Detailed Course Outline

Module 1 - Introducing Swift

  • About Swift
  • XCode Overview
  • Projects and Playgrounds
  • Basic Swift Syntax

Module 2 - Data Types

  • Primitives
  • Integers, Floats, Booleans, Tuples
  • Working with strings
  • Constants and Variables
  • Literals
  • Type Aliases
  • Optionals

Module 3 - Basic Syntax

  • Math and Logic operations
  • Defining Arrays and Collections
  • Controlling Program Flow with conditionals and loops
  • Enumerations
  • Nested Types

Module 4 - Functions and Closures

  • Defining a Function
  • Passing parameters
  • Returning single and multiple return values
  • Parameter Naming
  • Variadic, constant, variable and In-Out parameters Closures

Module 5 - Classes and Structures

  • Value types explained
  • Defining structures
  • Assigning structure instances
  • Reference Types
  • Defining Classes
  • Differences between Value and reference types and when to use
  • Setting up Initializers and de-initializers

Module 6 - Properties in detail

  • Stored Properties
  • Lazy and Computed properties
  • Working with Property Observers
  • Encapsulation?

Module 7 - Methods

  • Defining Instance and Type Methods
  • Method naming
  • Mutating Methods
  • Subscripts

Module 8 - Using Inheritance and Polymorphism

  • Creating Subclasses
  • Overriding Methods, Properties and Observers
  • Initialization of inherited types - Chaining
  • Casting and subtype polymorphism

Module 9 - Automatic Reference Counting

  • Reference Counting Explained
  • ARC Under the hood
  • Strong and Weak references
  • Unowned references
  • ARC and Closures

Module 10 - Protocols and Extensions

  • What is a protocol
  • Implementing a protocol
  • Delegation
  • Protocol Inheritance
  • Checking conformance
  • Extending types with Extensions

Module 11 - Generics

  • Why Generics
  • Generic Functions
  • Generic Types
  • Constraints

Module 12 - Bringing it all together

  • Creating a simple iPhone app with Swift