ProgrammingUpper Secondary · University · General PublicAdvanced Swift Programming Course in Uganda & East Africa
Computer Programming
Upper Secondary · University · General Public

Advanced Swift Programming Course in Uganda & East Africa

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.

advanced Swift programmingSwift course Ugandaadvanced Swift East Africaonline Swift training AfricaSwift 6 concurrencySwift actorsSendable and isolationadvanced Swift genericsSwift performanceSwift memory managementSwift package developmentEllipkom courses
Teaching format

Live online

Teaching language

English (Uganda)

Course difficulty

Advanced

Intended learners

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. 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. 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. 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. 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. 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. 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. 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. 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
Lower Secondary

Introduction to Object-Oriented Programming Concepts

4 weeksUGX 450,000
Advanced Rust Systems Programming Course in Uganda & Africa
Lower Secondary · Upper Secondary · University · General Public

Advanced Rust Systems Programming Course in Uganda & Africa

4 weeksUGX 450,000
Intermediate Dart Programming in Uganda & East Africa
Lower Secondary · Upper Secondary · University · General Public

Intermediate Dart Programming in Uganda & East Africa

4 weeksUGX 450,000
Intermediate Rust Programming Course in East Africa: Traits, Lifetimes & Concurrency
Lower Secondary · Upper Secondary · University · General Public

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

4 weeksUGX 450,000
Advanced PHP Programming – Professional Course in Uganda
Upper Secondary · University · General Public

Advanced PHP Programming – Professional Course in Uganda

4 weeksUGX 500,000
Data Structures and Algorithms with Python for Beginners in Uganda
Lower Secondary · Upper Secondary · University · General Public

Data Structures and Algorithms with Python for Beginners in Uganda

4 weeksUGX 450,000

More for Upper Secondary · University · General Public

 Dart Programming for Beginners in Uganda & East Africa
Lower Secondary · Upper Secondary · University · General Public

Dart Programming for Beginners in Uganda & East Africa

4 weeksUGX 450,000
Advanced C Systems Programming Course – Africa
Upper Secondary · University · General Public

Advanced C Systems Programming Course – Africa

4 weeksUGX 500,000
Advanced C# Programming in Uganda: Async, Generics & Performance
Upper Secondary · University · General Public

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

4 weeksUGX 500,000
Advanced C++ Course Uganda – Performance and Concurrency
Upper Secondary · University · General Public

Advanced C++ Course Uganda – Performance and Concurrency

4 weeksUGX 500,000
Advanced Computer Vision & Image Recognition
Upper Secondary · University · General Public

Advanced Computer Vision & Image Recognition

6 weeksUGX 650,000
Advanced Dart Programming & Concurrency for Africa
Lower Secondary · Upper Secondary · University · General Public

Advanced Dart Programming & Concurrency for Africa

4 weeksUGX 500,000

Quick Actions

Enroll Now

Need Help?

Have questions about this program? Our team is here to help!