Logo dotSwift Open Nav
Swiftlang logo

Swift Training

A Swift Kickstart

Introducing the Swift 3.0 Programming Language


[FR] Si votre entreprise est domiciliée en France, vous pouvez vous enregistrer ici via la formation professionnelle.


We have partnered with Oxiane to provide an Introduction to the Swift 3.0 Programming Language training on Wednesday January 25, delivered by our MC Daniel Steinberg.


This fast-paced, one day introductory course is for experienced developers who are new to Swift.

Teacher:

Daniel Steinberg

Daniel Steinberg

Author, co-host of the Tiny Challenges podcast

Content:

This best-selling, one-day, intensive class introduces you to the essential aspects of the latest version of the Swift Programming Language. The course covers much of the material included in the book A Swift Kickstart.


We begin the day with a simple iOS sample project and quickly move to a hands-on exploration of Swift functions, variables and constants, and collections. You'll create higher order functions, work with generics, and be introduced to optionals.


During the second part of the class you will investigate Swift types as you create and use instances of Swift classes, structs, and enumerations. You'll experiment with methods, subclasses and properties and learn to harness the power of polymorphism through protocols and protocol extensions. We finish the day with another iOS project that uses much of what you learned to create a simple MVVM project.

Syllabus:

A Simple iOS Project

Hello, World! (it's kind of the law)

Quick introduction to Xcode 8

A moment with GUI creation in Interface Builder

Swift Properties and Methods

Connecting Outlets and Actions in Swift

The iOS lifecycle

Meet the iOS Simulator

Language Fundamentals

Functions

Explore a playground in Xcode 8

Create and call functions

Function overloading in Swift

Default values for parameters

Local and external parameter names

Tuples and variadic parameters

Variables and Constants

Strong type inference in Swift

Let vs. Var

No promotion of numeric types

Where spaces matter

Functions as objects

Higher order functions

Partial application and currying

Collections

Create and modify arrays

Collections are homogeneous

Iterating an array

Arrays of functions

Create and modify dictionaries

A Quick look at Sets

A Quicker look at Option Sets

Optionals

Types and Instances

Classes

Base classes

Stored and Computed Properties

By-reference semantics

The init method

Convenience methods

More optionals and nil coalescing operators

Subclasses

verriding methods

Enumerations

Case

Switch

Raw values and more optionals

Methods

Computed properties

As property types

Associated values

Structs

Properties

By-value semantics

efault init

Getters and setters

Did set and will set

Mutating methods

Protocols

Collecting commonality

Conforming

Polymorphism

Self

Generics

Protocol extensions

Extensionpoints

A Simple MVVM Project

Simple Timer

Meet the View Controller

Connect the View and the View Controller

Create a Model

Create a View Model

Connect the Model and the View Model

Connect the View Controller and the View Model

Communication in MVVM

Student requirements:

You need a Mac running El Capitan or Sierra with the latest version of Xcode 8 installed. You'll create Swift playgrounds and iOS projects throughout the day.

Thinking in Swift 3

Understanding the Patterns of Programming in Swift


[FR] Si votre entreprise est domiciliée en France, vous pouvez vous enregistrer ici via la formation professionnelle.


We have partnered with Oxiane to provide an Introduction to the Swift 3.0 Programming Language training on Thursday January 26, delivered by our MC Daniel Steinberg.


This course is for programmers who know the fundamentals of the Swift Programming Language but haven't mastered the paradigms.

Teacher:

Daniel Steinberg

Daniel Steinberg

Author, co-host of the Tiny Challenges podcast

Content:

This fast-paced workshop shows you how to take advantage of Swift features to write more robust code that is easier to reason about. Swift has been changing quickly over the past year. In this workshop you'll learn to embrace the latest Swift 3 conventions.


One of the strengths of Swift is that it can borrow the best from a multitude of paradigms. Swift stresses protocol oriented programming. We'll look at how to successfully use it and weave it together with OO and functional code into a readable and flexible architecture.


We assume that you are an experienced programmer who has spent some time looking at Swift but you aren't yet an expert in Swift. You understand most of the hows and whats of working with Swift and are looking for the whys and wheres. This course is often part of a sequence that includes A Swift Kickstart

Syllabus:

Functions

Var parameters

Inout parameters

Closures

Generics

Extensions

Mutating methods

Optionals and if let

Protocol Extensions

Using Methods instead of Free Functions

Static Variables and Methods

Associated Types

RawRepresentable Types

while let

Inheriting implementation in value types

Iterating Collections

IteratorProtocol

Sequence

Sorting

Zipping Sequences

Subscripts

Distributions

Collections

When Things Go Wrong

Asserts

ErrorProtocol Structs

ErrorProtocol Enums

Throws

Try/Catch

Defer

Guard Let

Rethrow

Combining Methods

Chaining Functions

Currying

Custom operators

Protocol Extensions

Immutable Model

Mutable options

Generic Types

Generic Extensions

Functional Techniques

Map

Filter

Reduce

FlatMap

Functors and Monads

Student requirements:

You need a Mac running El Capitan or Sierra with the latest version of Xcode 8 installed.