Course Overview

What this Swift Programming course covers, how to use it, prerequisites.

A structured, hands-on course on the Swift programming language. It runs from your first print to optionals, value types, protocol-oriented programming, generics, memory management (ARC), error handling, macros, Swift Concurrency (async/await, actors, Sendable, Swift 6 data-race safety), ownership and noncopyable types, testing (XCTest and Swift Testing), the Swift Package Manager, SwiftUI app development, server-side Swift, C/C++ interop, and production practices.

Targets Swift 6.x (6.0–6.2). Version-specific features are marked. Check swift.org and the Swift Evolution dashboard for your toolchain.

Course Overview

Beginners, aspiring iOS/macOS developers, Objective-C developers, developers from Kotlin/Java/C#/Python/JS, server-side developers

Basic computer literacy. No programming experience required for Part I.

~110–130 hours (self-paced), 12–14 weeks macOS: Xcode 16+ (includes Swift 6). Linux/Windows: Swift toolchain from swift.org (or swiftly), VS Code + the Swift extension.

Swift Playgrounds (iPad/Mac), Xcode Playgrounds, Exercism Swift track, Advent of Code, Hacking with Swift's 100 Days of Swift/SwiftUI

Foundations → Functions & Types → Protocols & Generics → Advanced Language → Concurrency → Foundation → Tooling & Interop → Apps & Production
(1–8)         (9–18)              (19–24)                (25–32)             (33–38)       (39–43)      (44–48)              (49–57)