Intermediate Python Programming Course in East Africa

Duration
4 weeks
Investment
UGX 450,000
Teaching
Live online
Program Introduction
Move beyond basic scripts and learn how to design reusable, testable and well-organised Python programs. This intermediate Python programming course serves learners in Uganda, the wider East African region and across Africa who already understand the fundamentals and want stronger software-development habits without changing focus to a specialised framework.
The program develops practical command of Python functions, modules, packages, object-oriented programming, generators, exceptions, logging and automated testing. Regional examples are used to explore records, reporting and workflow rules, while the technical emphasis remains on the Python language and standard library.
Key Features & Benefits
• A clear bridge from basic syntax to maintainable Python program design. • Practical coverage of object-oriented programming, modules and packages. • Standard-library projects that do not depend on a specialised development stack. • Guided refactoring from repetitive scripts to reusable functions and classes. • Automated testing and debugging integrated into the learning process. • Regional problem scenarios involving records, reporting, validation and operations. • A final package-based project suitable for a learner portfolio. • Direct preparation for Ellipkom’s advanced Python programming course.
Real-World Applications
Learners can use the skills from this course to:
• Turn one-file scripts into structured modules and reusable packages. • Model stock, membership, school, clinic, logistics or NGO workflow rules with classes. • Build reliable command-line tools that validate entries and record useful error messages. • Process larger text, CSV and JSON files with generators and standard-library utilities. • Add automated tests before changing important business logic. • Collaborate on Python projects with clearer interfaces, documentation and code organisation. • Strengthen preparation for Python-focused technical interviews and junior developer work.
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)
Intermediate
Primary · Lower Secondary · Upper Secondary · University · General Public
What you will learn
- By the end of this intermediate Python programming course, the learner will be able to:
- Write concise, readable Python with comprehensions, unpacking and built-in iteration tools.
- Design flexible functions using positional, keyword and variable-length arguments.
- Organise Python code into reusable modules and packages with controlled imports.
- Model real processes with classes, objects, composition, inheritance and properties.
- Build memory-efficient processing flows with iterators and generators.
- Use context managers, custom exceptions and logging to make programs more reliable.
- Create automated tests with `unittest` and diagnose defects systematically.
- Package a multi-module command-line program with documentation and maintainable structure.
Modules
- 1
Writing Pythonic code
Reviewing mutability, identity, equality and truth-value testing.List, set and dictionary comprehensions.Sequence unpacking and starred expressions.Productive iteration with `enumerate()`, `zip()`, `sorted()`, `any()` and `all()`.Refactoring repetitive beginner code into clear Python expressions. - 2
Intermediate functions
Positional-only, positional-or-keyword and keyword-only parameters.Variable-length arguments with `*args` and `**kwargs`.Functions as objects and higher-order functions.Lambda expressions and appropriate use.Closures, scope rules and avoiding mutable default arguments. - 3
Modules, packages and environments
Import mechanics and Python’s module search path.Creating modules and package structures.Absolute and relative imports.Using `__name__ == "__main__"` correctly.Creating isolated environments with `venv` and understanding package installation with `pip`. - 4
Object-oriented Python
Classes, instances, attributes and methods.Instance, class and static methods.Encapsulation conventions and properties.Composition, inheritance, method overriding and polymorphism.Data-focused classes with `dataclasses`.Choosing functions, classes or composition for a design. - 5
Iterators and generators
The iterable and iterator protocols.Building custom iterator classes.Generator functions and the `yield` statement.Generator expressions and lazy processing.Chaining transformations without loading every value into memory. - 6
Standard-library data and text processing
Reliable paths and file operations with `pathlib`.Structured CSV and JSON workflows.Dates, times and time zones with `datetime` and `zoneinfo`.Text searching and validation with regular expressions.Counting and grouping with `collections`. - 7
Reliable programs and diagnostics
Designing exception hierarchies and raising meaningful errors.Exception chaining and preserving useful context.Writing class-based and function-based context managers.Structured application messages with `logging`.Debugging with breakpoints, tracebacks and controlled test inputs. - 8
Testing, documentation and final project
Test cases, fixtures, setup, teardown and test discovery with `unittest`.Testing normal paths, boundary conditions and expected failures.Replacing dependencies in tests with `unittest.mock`.Type annotations, docstrings and readable public interfaces.Final project: a tested multi-module Python package for records, reporting or workflow rules.
Before you enroll
- Completion of a beginner Python course or equivalent practical knowledge.
- Ability to use variables, conditional statements, loops, functions and core collections without step-by-step guidance.
- Ability to read from and write to a basic text, CSV or JSON file.
- Familiarity with running Python scripts from a code editor and terminal.
- Readiness to improve code organisation, testing and object-oriented design.
What you need
- A laptop or desktop computer running Windows, macOS or Linux.
- The current stable release of Python 3.
- Visual Studio Code with the official Python extension, or another Python code editor.
- A terminal or command prompt.
- Python’s `venv`, `unittest` and `logging` standard-library modules, plus `pip` for package installation.
- Git for local version history is recommended but not required.
- A modern browser and access to the official Python documentation.
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 Primary · Lower Secondary · Upper Secondary · University · General Public

Applied Computing for Grade 4: Coding, Digital Projects & ICT Skills

Code & Create: Primary Foundations in Coding and Digital Skills

Connected Creators: Digital Literacy & Media Basics for Primary Students

Digital Discovery: Beginner Computer & Digital Skills for Primary Learners

Go Programming for Beginners in Uganda & Africa

Practical Golang Projects for Beginners in East Africa
Quick Actions
Need Help?
Have questions about this program? Our team is here to help!