Maxtrain.com - info@maxtrain.com - 513-322-8888 - 866-595-6863
Swift Programming Essentials for OO Developers
Alert MeDescription
Swift Programming Essentials for OO Developers Introduction
Welcome to “Swift Programming Essentials for OO Developers,” a comprehensive four-day workshop designed for experienced object-oriented developers transitioning to Swift. This intensive course focuses on empowering you with the knowledge and skills needed to effectively use Swift, the primary language for iOS and macOS development. With a strong emphasis on leveraging your existing OO expertise, the course aims to seamlessly bridge the gap between traditional OO programming and Swift’s unique syntax, semantics, and data structures.
The course is structured to accomplish two primary goals: first, to provide you with a deep understanding of Swift’s fundamentals, including its syntax, data structures, and features crucial for building robust applications; and second, to integrate these Swift essentials with object-oriented principles tailored for the Swift environment.
By the end of the workshop, you’ll have the proficiency to build efficient, scalable iOS and macOS applications, fully utilizing your OO skills in Swift development. Enhance your programming repertoire and become proficient in one of the tech industry’s most sought-after languages.
Swift Programming Essentials for OO Developers Course Objectives
- Essentials of Swift Programming: Master Swift’s syntax, semantics, and advanced data structures essential for efficient iOS and macOS application development.
- Swift Code Development and Debugging: Engage in practical sessions to write, refine, and debug Swift code using Xcode, learning vital techniques for efficient, error-free development.
- Control Flow and Collections in Swift: Gain an in-depth understanding of control flow mechanisms like conditional statements and loops, along with Swift’s collection types, for effective data management.
- Object-Oriented Principles in Swift: Translate your existing OO knowledge to Swift’s framework, exploring classes, structures, and enumerations for creating reusable, maintainable software components.
Prerequisites
- Hands-on experience with an OO language (Java, C#, C++).
- Understanding of programming basics: variables, loops, control flow.
- Familiarity with standard data structures.
- Knowledge of functions and closures.
Audience
- This course is ideal for OO programmers (Java, C++, C#) moving towards Swift for iOS and macOS development.
- It’s tailored for those aiming to master Swift Programming Essentials, Data Structures, and OO Principles in the context of iOS and macOS development.
Swift Programming Essentials for Object-Oriented Developers Outline
Getting Started
- Getting Started with Xcode
- Playing in a Playground
- Running Your Code in the iOS Simulator
- Troubleshooting Playgrounds
Varying Variables and Printing to the Console
- Adding Comments
Types, Constants, and Variables
- Exploring Types
- Understanding type inference and type safety
- Using type annotation to specify a type
- Constants and Variables
- String Interpolation
Conditionals
- if/else statements
- Ternary Operator
- Nested ifs
- else if
Numbers
- Integers
- Creating Integer Instances
- Operations on Integers
- Integer division
- Operator shorthand
- Overflow operators
- Converting Between Integer Types
- Floating-Point Numbers
- Ranges of Numbers
Switch
- Switch Syntax
- Ranges
- Value binding
- where clauses
- Tuples and Pattern Matching
- switch vs if/else
Loops
- for-in Loops
- where
- while Loops
- repeat-while Loops
- Control Transfer Statements in Loops
Strings
- Working with Strings
- Characters
- Unicode
- Unicode scalars
- Canonical equivalence
Arrays
- Creating an Array
- Accessing and Modifying Arrays
- Combining Arrays
- Array Equality
- Immutable Arrays
- Documentation
Optionals
- Optional Types
- Optional Binding
- Implicitly Unwrapped Optionals
- Optional Chaining
- Modifying an Optional in Place
- The Nil Coalescing Operator
Dictionaries
- Creating a Dictionary
- Accessing and Modifying Values
- Adding and Removing Values
- Looping over a Dictionary
- Immutable Dictionaries
- Translating a Dictionary to an Array
Sets
- What Is a Set?
- Getting a Set
- Working with Sets
- Iterating over a set
- Exploring Set operations
- Exploring set membership and equality
- Unions
- Intersections
- Disjoint
Moving Between Types
Functions
- A Basic Function
- Function Parameters
- Parameter names
- Default parameter values
- In-out parameters
- Returning from a Function
- Nested Function Definitions and Scope
- Multiple Returns
- Optional Return Types
- Exiting Early from a Function
- Function Types
Closures
- Closure Syntax
- Closure Expression Syntax
- Functions as Arguments
- Closures Capture Their Enclosing Scope
Functional Programming
- Higher-Order Functions
- map
- filter
- reduce
Enumerations
- Basic Enumerations
- Enumerations with Raw Values
- Methods
- Associated Values
Structs and Classes
Structures
- Instance Methods
- Mutating methods
Classes
- Inheritance
- Making a subclass
- Overriding a superclass method
- Comparing value types and reference types
- Deciding between classes and structures
Properties
- Basic Stored Properties
- Nested Types
- Lazy Stored Properties
- Computed Properties
- A getter and a setter
- Property Observers
- Type Properties
- Access Control
- Controlling getter and setter visibility
Protocols
Formatting a Table of Data
Protocols
- Creating a protocol declaration
- Protocol Conformance
- Protocol Inheritance
- Protocols as Types
- Protocol Composition
- Mutating Methods
Extensions
- Extending an Existing Type
- Extending Your Own Type
- Using extensions to add protocol conformance
- Adding an initializer with an extension
- Nested types and extensions
- Extensions with methods
- Adopting a protocol via an extension
Error Handling
- Classes of Errors
- Lexing an Input String
- Catching Errors
- Parsing the Token Array
- Handling Errors by Sticking Your Head in the Sand
- Swift Error-Handling Philosophy
PreRequisites
To ensure a smooth learning experience and maximize the benefits of attending this course, you should have the following prerequisite skills:
- Hands-on experience with another OO programming language, such as Java, C# or C++.
- Understanding of core programming concepts such as variables, loops, and control flow is essential to grasp the fundamentals of Swift swiftly.
- Basic knowledge of data structures like arrays, sets, and dictionaries will be beneficial when learning Swift’s powerful data management capabilities.
- Understanding of what functions and closures are and how they work is important, as they’re integral to Swift programming.
$2495.00
|
5 Days Course |