Pelfunc, Inc. Logo

Workshop

Pelfunc sometimes offers personal, in-depth, hands on workshops in San Diego that bring you up to speed with the Swift language. These workshops will take you beyond the basics and include the new key features available in Swift 2.

About the Instructor

Ray Fix is a developer with 20+ years of experience and has been avidly using Swift on a daily basis since its announcement at WWDC 2014. In addition to leading workshops for Pelfunc, Ray has given dozens of Swift related talks and hosts weekly coding sessions. Ray also is on the Ray Wenderlich Swift Team, one of the most popular iOS tutorial sites on the web.

The Swift Programming Language

Apple's new Swift language is an exciting development. It has a powerful type system that affords performance, safety and correctness. Swift designs away many common programming errors such as using uninitialized variables, null pointers and more.

While it has the brevity of many modern scripting languages through powerful type inference and the systematic elimination of useless boilerplate syntax, the compiler leverages deep type information to produce near optimal code.

Aside: Neural Networks

Neural networks are a machine learning technique that can be used to build non-linear classifiers. Sounds fancy! Perfect for detecting handwritten digits in your app! Even more perfect when written in 100% Swift!

Artificial Neural Network.

Our workshops are small and interactive. Be ready to learn and complete exercises in Swift playgrounds and projects as you cover all of the key ingredients of the language. Here is an example agenda:

Day One Topics

Day one focuses on the mechanics of the Swift language. Several Swift Playgrounds will help you become comfortable with the important features of the language.

  • Getting to Know the Type System
  • Controlling the Flow
  • The Swift Standard Library
  • Protocols, Structs, Classes
  • Optionals
  • Extensions
  • Generics and Protocol Extensions
  • Pattern Matching
  • Error Handling
  • Access Control
  • Memory Management
  • Working with Cocoa Touch

Aside: Taco Cat!

The below Swift function detects palindromes. How can it be improved? If the syntax looks foreign to you, don't worry. At the end of day one you will laugh in its face!
  
func isPalindrome(input: String) -> Bool {
  let stripSet = Set("\n\t ,.!@#$%-_=+^&*()".characters)
  let stripped = input.characters.filter { !stripSet.contains($0) }.map { String($0).lowercaseString }
  return stripped == stripped.reverse()
}

assert(isPalindrome("A man a plan a canal, panama."))
assert(isPalindrome("Taco-cat!!!"))
assert(!isPalindrome("I palidrome, I."))

Day Two Topics

Day two focuses on using Swift and iOS 9 to build a real app. You will build a UIKit-based multiplication game that uses a neural network classifier to detect handwritten numbers!

  • Availability
  • Predictivate UIEvents
  • Collection Views
  • Working with Frameworks
  • Autolayout
  • Custom Views
  • Core Animation
  • Core Data
  • Optimization
  • Unit Testing
  • UI Testing

The Swift Bird Logo

If you are interested in holding a private training for your organization, please contact us.