This course introduces programmers familiar with different languages to the wonderful world of Swift. Swift is a powerful, statically-typed language and it’s a gateway into developing native apps on Apple platforms. This course starts with learning how and why simple features like loops and error handling are different in Swift. Later on, students will start looking at more complicated features like closures, protocols and first-order functions. Students will use these features in a practical context to solve abstract problems, and the ‘normal' way of doing things will be demonstrated to highlight how Swift makes life as a programmer a lot easier. Students will walk away with the ability to leverage Swift’s powerful features to write concise, safe algorithms and have a strong footing going forward into Apple platform development. Students will get the best results if they’re using a Mac (or a machine running macOS) and Xcode so they can practice outside lessons, although this isn’t necessary to have within lessons if you just want to watch. The lessons increase in conceptual difficulty throughout the course; this is intentional and designed to give you a broad knowledge of what’s possible with Swift. All the code will be available after lessons for you to play around with, and spending time practising outside of lessons is strongly encouraged.
Course Content
10 LESSONS
10 HOURS Total Length
Lesson 1
Ifs, Collections, Loops and Functions
60 minutes
Lesson 2
Structs, Enums and Optionals
60 minutes
Lesson 3
Switches and Pattern Matching
60 minutes
Lesson 4
Closures
60 minutes
Lesson 5
First-Order Functions and Collections
60 minutes
Lesson 6
Generics and the Type System
60 minutes
Lesson 7
Protocols and Extending the Standard Library
60 minutes
Lesson 8
Creating Our Own Abstract Data Types
60 minutes
Lesson 9
Advanced Swift Features
60 minutes
Lesson 10
Problem-Solving: Using Swift to Solve Interview Questions
60 minutes
Key Skills
Swift
Xcode
Programming
Coding
Educator
Andrew G
Programming and Computer Science Educator
Andrew's services range from teaching programming from scratch to helping fix and improve university-level coursework.