The Swift Apprentice Second Edition: Beginning programming with Swift 3