Advanced Swift Programming Course in Uganda & East Africa

Duration
4 weeks
Investment
UGX 500,000
Teaching
Live online
Program Introduction
Master advanced Swift programming through a focused, language-only course designed for experienced learners in Uganda, East Africa and across Africa. The program explores the parts of modern Swift that matter when code must remain safe, reusable and efficient: advanced generics, associated types, existentials, opaque types, type erasure, structured concurrency, actors, Sendable, isolation, automatic reference counting and performance-aware design. You will reason about API boundaries, eliminate data races with Swift 6 language-mode checks, measure before optimising and package code for use by other developers. Exercises focus on concurrent record processing and reusable libraries rather than platform-specific application interfaces. The final capstone is a documented, benchmarked and tested Swift package that processes regional datasets safely under concurrent workloads.
Key Features & Benefits
• Advanced Swift language engineering with no mobile user-interface framework content. • Modern Swift 6 concurrency, actors, isolation, Sendable and data-race safety. • Deep work with generics, protocols, existentials, opaque types and type erasure. • Memory, performance and API-design decisions explained through measurable examples. • Cross-platform packages and datasets relevant to African organisations and engineering teams. • Professional capstone with tests, documentation and a recommended pace of about 8 hours per week.
Real-World Applications
• Build safe concurrent data processors for reports, logs, transactions or sensor records. • Design reusable Swift packages and stable APIs for teams or open-source users. • Create efficient internal command-line tools for organisations and technology businesses. • Review and improve Swift code for memory use, correctness and performance. • Prepare for senior technical interviews involving type systems, concurrency and architecture. • Build the language foundation needed for server-side, systems or embedded Swift specialisation.
Course outline and learning expectations
This is a tutor-led course. The outline shows what your tutor will cover; teaching materials and examinations are provided directly to enrolled students.
Live online
English (Uganda)
Advanced
Upper Secondary · University · General Public
What you will learn
- Design expressive generic APIs with constraints, conditional conformances and specialised behaviour.
- Use associated types, opaque types and existentials while understanding their trade-offs.
- Apply type erasure and advanced language features only when they improve an API.
- Build structured asynchronous workflows with async/await, tasks and task groups.
- Protect shared state with actors, isolation and Sendable under Swift 6 data-race checks.
- Diagnose reference cycles and reason about ARC, closure captures and memory safety.
- Measure and improve performance through algorithm choice, allocation awareness and value semantics.
- Publish a documented, tested and performance-checked Swift package with a stable public API.
Modules
- 1
Advanced Generics and Conditional Conformance
Model algorithms with generic parameters and multiple constraintsUse where clauses, same-type requirements and conditional conformanceUnderstand generic specialisation and its design implicationsBalance reusable abstractions against compile-time and API complexity - 2
Associated Types, Existentials and Opaque Types
Design protocols with associated types and Self requirementsUse any for existential values and some for opaque return typesUnderstand dynamic dispatch, static dispatch and abstraction costsChoose concrete, generic, opaque or existential interfaces deliberately - 3
Type Erasure and Expressive API Design
Implement type-erased wrappers when heterogeneous storage is necessaryUse key paths, property wrappers and dynamic features responsiblyDesign fluent, discoverable APIs using Swift naming guidelinesProtect source compatibility and minimise public surface area - 4
Structured Concurrency with async/await
Model asynchronous functions and suspension pointsCreate child tasks and use async letProcess dynamic workloads with throwing and non-throwing task groupsHandle cancellation, priorities and error propagation - 5
Actors, Isolation and Swift 6 Data-Race Safety
Protect mutable state with actorsUnderstand actor isolation, global actors and nonisolated membersApply Sendable and safe transfer of values across isolation boundariesResolve Swift 6 concurrency diagnostics without unsafe shortcuts - 6
ARC, Closures and Memory Behaviour
Trace strong, weak and unowned references under ARCBreak reference cycles in object graphs and escaping closuresUnderstand value semantics, copy-on-write and mutation costsUse unsafe and unmanaged facilities only at explicit, reviewed boundaries - 7
Performance, Testing and Diagnostics
Select appropriate algorithms and data structures before micro-optimisingCompare debug and release behaviour and measure representative workloadsUse tests, sanitiser checks and targeted diagnosticsReduce allocations, unnecessary copying and contention based on evidence - 8
Package Architecture and Advanced Capstone
Separate public APIs, internal implementation and executable clientsDocument contracts, concurrency guarantees and error behaviourApply semantic versioning principles and package release hygieneComplete cross-platform tests, performance checks and a technical review
Before you enroll
- Completion of Ellipkom’s intermediate Swift course or equivalent practical experience.
- Strong command of Swift functions, closures, optionals, structures, classes, enumerations, protocols, extensions and error handling.
- Working knowledge of generic functions and types, Swift Package Manager, Git and automated tests.
- Ability to refactor a multi-file Swift project and explain basic value versus reference semantics.
What you need
- A laptop running a currently supported version of Windows, Linux or macOS, preferably with at least 8 GB RAM.
- The current stable Swift toolchain with Swift 6 language-mode support.
- Visual Studio Code with the official Swift extension, or another Swift-capable code editor.
- A terminal or command prompt with Swift Package Manager and Git.
- Swift’s testing, sanitiser and release-build commands available in the official toolchain.
- Internet access for official documentation, package resolution and course resources.
Frequently asked questions
More in Computer Programming

Introduction to Object-Oriented Programming Concepts

Advanced Rust Systems Programming Course in Uganda & Africa

Intermediate Dart Programming in Uganda & East Africa

Intermediate Rust Programming Course in East Africa: Traits, Lifetimes & Concurrency

Advanced PHP Programming – Professional Course in Uganda

Data Structures and Algorithms with Python for Beginners in Uganda
More for Upper Secondary · University · General Public

Dart Programming for Beginners in Uganda & East Africa

Advanced C Systems Programming Course – Africa

Advanced C# Programming in Uganda: Async, Generics & Performance

Advanced C++ Course Uganda – Performance and Concurrency

Advanced Computer Vision & Image Recognition

Advanced Dart Programming & Concurrency for Africa
Quick Actions
Need Help?
Have questions about this program? Our team is here to help!