Training | Swift Fundamentals

Dive into Swift and get up to speed developing applications in the Apple ecosystem.



Swift is a relatively new programming language on the scene. While its primary use is for developing iOS and macOS apps, it can also be used in backend development or, as a scripting language. It incorporates modern features that provides it with a high expressive power, whereas maintaining safety. While Swift is an object-oriented language, it features characteristics such as high-order functions, value semantics, and protocols with associated types that make it very suitable for Functional Programming.


  • Knowledge of at least one programming language.
  • A computer with macOS and Xcode.

What you'll learn


  • Variables and constants.
  • Primitive types: Numbers, Strings, Booleans.
  • Compound types: Tuples, Arrays, Dictionaries, Sets, Ranges.
  • Optional types.
  • Operators.

Control flow

  • Conditional execution: if, guard, switch.
  • Loops: for, while, repeat-while.


  • Defining and calling functions.
  • Named and unnamed argument.
  • Parameters: default values, variadic, in-out.
  • Nested functions.
  • Closures: trailing closures, escaping, autoclosures.

Value and reference semantics

  • Enumerations, Structs and Classes.
  • Initialization and deinitialization.
  • Properties, computed, lazy and property observers.
  • Subscripts.
  • Instance and static methods.
  • Visibility: public, internal, open, private, fileprivate, final.
  • Inheritance and extension.
  • Nested types.
  • Casting.

Error handling

  • Representing errors.
  • Throwing and catching errors.


  • Protocol requirements: required and optional.
  • Protocol conformance and constraints.
  • Protocol inheritance.


  • Generic functions.
  • Protocols with associated types.
  • Generic types.

Memory management

  • Automatic Reference Counting.
  • Reference cycles.
  • Modifiers: weak, unowned and strong.

Company and Private Group Training

Company and Private Group Training


This Functional Programming in Swift with Bow includes:

  • Maximum Class Size of 15
  • Access to Academy EduTools Platform
  • Access to Course Materials
  • Certificate of Completion
  • Access to a Private Channel with Trainers in the Academy Slack
  • A Q&A session one week post-course
  • A pre-and-post meeting with our trainers