Curriculum Overview
S1 — Just Build It
SwiftUI basics, layout system, app structure, @State, user input, lists and navigation, Todo app, screen transitions, shared state management, TabView, types and optionals, collections, closures
S2 — Why So Slow?
Data structures: Array vs Set vs Dictionary, time complexity O(n), Big-O notation, sorting algorithms, binary search, hash tables, stacks and queues, trees and graphs, algorithm design patterns
S3 — Spaghetti Code
Object-oriented programming, SOLID principles, design patterns (MVC, MVVM, Observer, Singleton, Factory), protocol-oriented programming, dependency injection, clean architecture
S4 — App Crashes
Memory management, ARC (Automatic Reference Counting), retain cycles, strong/weak references, value types vs reference types, Swift compiler, runtime errors, crash debugging
S5 — Server Data
HTTP/HTTPS, REST API, URLSession, JSON parsing, Codable, network security, authentication (OAuth, JWT), Core Data, SwiftData, database fundamentals, SQL
S6 — UI Freezes
Concurrency programming, async/await, Task, Actor, main thread, GCD, rendering pipeline, Core Animation, frame drop debugging
S7 — Is My Code Correct?
Unit testing, XCTest, integration testing, UI testing, TDD, code coverage, CI/CD, Git branching strategy, code review
S8 — Go Deeper
Computer architecture, CPU and memory, cache, operating systems, processes and threads, virtual memory, file systems, compilers, LLVM, Swift intermediate representation
S9 — Math
Discrete mathematics, set theory, logic, linear algebra, matrices, vectors, probability and statistics, graph theory