Python for Scientific Computing Training Course

Duration 10 days 21 modules · 65 contact hours
Level Intermediate Certificate on completion
Who attends Data Scientists, Engineers and others
Fee from USD 2,200 KSh 190,000 for Kenyan organisations
Where 52 cities + online See dates by city
Next start 16 Nov 2026 Course code SD-DS-066

Before you join: Participants should be comfortable writing and running basic Python code, including variables, functions, loops, conditionals, lists and dictionaries.

Dates & prices

Two start dates a month in every city, and live online on weekdays or weekends. Fees are per participant; classroom fees include tuition, materials, lunch and refreshments, and the certificate.

Suggest a date or city

Showing the next six months. Later dates, other cities and private deliveries for your team are available on request.

Course overview

Scientific and technical teams often need to turn instrument readings, operational records, simulations and time-series data into results that can be checked, repeated and used in decisions. Spreadsheet-based analysis and ad hoc scripts can become difficult to audit when datasets grow, numerical assumptions matter, or colleagues must reproduce the work. Python provides a practical environment for data preparation, numerical modelling, statistical analysis, visualisation and automated reporting.

This course develops the Python methods used in scientific computing work. Participants use NumPy arrays for vectorised calculations, pandas for structured data, SciPy methods for optimisation and numerical analysis, and Matplotlib for technical visualisation. They work with interpolation, integration, root finding, linear algebra, Monte Carlo simulation, regression, ordinary differential equations, finite-difference models, signal processing and uncertainty analysis. The course also addresses numerical precision, performance, testing, data provenance and reproducible project structures.

Teaching combines focused instructor briefings with technical case work, group analysis and individual application planning. Cases draw on laboratory measurements, engineering systems, financial time series, environmental grids and public-health datasets. From the first week, participants assemble reusable components for a scientific analysis workflow. They leave with a documented Python analysis project containing validated data inputs, computational methods, tests, figures, results and a concise technical report. The 10-day programme is delivered instructor-led in classrooms across 50+ cities or live online. Each training day runs from 08:30 to 16:30, providing approximately 6.5 contact hours, and participants receive a certificate of completion.

The course suits professionals who already use Python at a basic level and need disciplined methods for numerical, statistical or simulation-based work. It is especially relevant where results must withstand technical review, handover, audit or further model development.

What you will be able to do

  • Build reproducible Python workflows for importing, validating and analysing scientific datasets
  • Apply NumPy vectorisation, broadcasting and multidimensional arrays to numerical calculations
  • Select and use SciPy methods for interpolation, integration, optimisation and root finding
  • Construct statistical models, Monte Carlo simulations and uncertainty estimates from measured data
  • Solve linear algebra, ordinary differential equation and finite-difference modelling problems
  • Create publication-ready technical figures that communicate results, uncertainty and limitations
  • Test, profile and document scientific Python code for repeatable technical review
  • Present a complete scientific analysis project with validated data, methods, findings and recommendations

Benefits of attending

For you

  • Produce numerical analyses that colleagues can inspect, reproduce and extend
  • Replace slow loop-based calculations with vectorised array operations
  • Apply recognised numerical methods rather than relying on undocumented formulas
  • Diagnose modelling errors through residuals, convergence checks and sensitivity analysis
  • Build a portfolio-quality scientific Python project for technical roles

For your organisation

  • Reduce manual analysis time for experiments, simulations and operational datasets
  • Improve traceability of assumptions, transformations and reported technical results
  • Standardise numerical methods across engineering, research and analytics teams
  • Lower model risk through testing, validation and uncertainty documentation
  • Create reusable Python components for future scientific and technical projects

Course modules

21 modules over 10 days

Participants can organise a repeatable Python workspace for scientific analysis and computational projects.

  • Python environments, project folders, and dependency files for scientific work
  • Jupyter notebooks structured with parameters, outputs, and explanatory Markdown
  • Standard library paths, dates, logging, and command-line arguments
  • Floating-point types, complex numbers, and deterministic random-number seeds
  • Scientific function signatures, docstrings, type hints, and exceptions
  • Reusable analysis scripts separated from exploratory notebook cells

Participants can use NumPy arrays to perform efficient multidimensional numerical calculations.

  • NumPy ndarray creation, dtypes, shapes, strides, and memory layout
  • Array indexing with slices, masks, integer positions, and views
  • Broadcasting rules applied to parameter grids and measurement matrices
  • Universal functions, reductions, and axis conventions for multidimensional calculations
  • Vectorised transformations replacing Python loops in numerical kernels
  • Missing-value handling using NaN, masked arrays, and validity flags

Participants can import, validate, reshape and store structured scientific datasets reproducibly.

  • Delimited, Excel, JSON, and fixed-width files imported reproducibly
  • pandas DataFrames indexed, reshaped, merged, and aggregated for experiments
  • Datetime parsing, time zones, resampling, and irregular observation intervals
  • Data dictionaries define units, provenance, allowable ranges, and identifiers
  • Validation rules detect duplicates, impossible values, and schema changes
  • Parquet storage choices balance file size, speed, and interoperability

Participants can create clear figures that accurately communicate scientific evidence and uncertainty.

  • Matplotlib figures use object-oriented axes, labels, scales, and annotations
  • Colour maps selected for perceptual order, accessibility, and variable meaning
  • Error bars, confidence bands, and uncertainty intervals displayed correctly
  • Small multiples compare scenarios, groups, time periods, and distributions
  • Publication-ready exports control resolution, fonts, dimensions, and file formats
  • Diagnostic plots reveal outliers, missingness, skewness, and measurement artefacts

Participants can select, estimate and communicate statistical measures appropriate to measured data.

  • Descriptive statistics distinguish location, spread, shape, and sampling variability
  • Probability distributions selected from data-generating assumptions and diagnostics
  • Bootstrap confidence intervals estimated for nonlinear statistics and small samples
  • Permutation tests compare groups without normality assumptions
  • Linear regression assessed through residual plots, influence, and collinearity
  • Effect sizes and confidence intervals reported alongside p-values

Participants can use simulation to estimate uncertainty, sensitivity and probabilistic model outputs.

  • Pseudo-random sampling uses generators, seeds, and reproducible streams
  • Monte Carlo estimates quantify uncertainty in model outputs
  • Latin hypercube sampling covers multidimensional input ranges efficiently
  • Probability distributions parameterised from empirical measurements and expert assumptions
  • Sensitivity analysis ranks influential inputs using sampled simulations
  • Convergence diagnostics compare estimate stability against simulation count

Participants can formulate and solve matrix-based scientific problems using appropriate numerical methods.

  • Vectors, matrices, tensors, and dimensions represented with NumPy arrays
  • Matrix multiplication, transposition, and norms support scientific formulations
  • LU, QR, and singular-value decompositions solve numerical problems
  • Condition numbers identify unstable systems and sensitive solutions
  • Least-squares fitting handles overdetermined measurements and residual error
  • Sparse matrix formats reduce memory use for structured systems

Participants can assess numerical error and choose methods that produce stable computational results.

  • IEEE 754 representation explains rounding, underflow, overflow, and cancellation
  • Absolute and relative error measures guide tolerance selection
  • Stable formulas avoid subtractive cancellation and scaling failures
  • Finite-difference checks verify analytical derivatives against numerical approximations
  • Convergence rates distinguish first-order and higher-order numerical schemes
  • Unit tests capture boundary conditions, tolerances, and expected precision

Participants can estimate values, calculate integrals and solve nonlinear equations from scientific data.

  • Linear, cubic spline, and radial basis interpolation compared
  • Extrapolation risks assessed against physical bounds and measurement support
  • Numerical quadrature uses trapezoidal, Simpson's, and adaptive methods
  • Root-finding applies bisection, Newton, and secant algorithms
  • Bracketing intervals and stopping criteria prevent false convergence
  • Interpolants validated using withheld observations and residual patterns

Participants can formulate optimisation problems and assess the reliability of fitted parameter values.

  • Objective functions express costs, fit errors, and design trade-offs
  • Bounded optimisation applies gradients, constraints, and feasible regions
  • Derivative-free methods handle discontinuous, noisy, or expensive objectives
  • Parameter scaling improves optimiser conditioning and convergence behaviour
  • Multiple starting points expose local minima and identifiability issues
  • Optimisation results reported with constraints, tolerances, and diagnostics

Participants can implement, solve and validate ordinary differential equation models in Python.

  • Initial-value problems formulated from rates, states, parameters, and inputs
  • Explicit Euler and Runge-Kutta methods compared for accuracy
  • Adaptive step sizes control local error during integration
  • Stiff systems recognised through stability limits and solver behaviour
  • Event functions capture thresholds, switches, and termination conditions
  • Model trajectories checked against conservation laws and observations

Participants can discretise and assess simple spatial models using finite-difference methods.

  • Finite-difference grids represent spatial domains, boundaries, and initial conditions
  • Diffusion and wave equations discretised using explicit schemes
  • Courant-Friedrichs-Lewy conditions determine stable time-step selections for explicit finite-difference schemes
  • Boundary conditions implemented as Dirichlet, Neumann, and periodic cases
  • Grid refinement studies estimate discretisation error and convergence
  • Scientific fields visualised through contours, heatmaps, and cross-sections

Participants can analyse sampled signals, identify periodic behaviour and filter unwanted noise.

  • Sampled signals characterised by frequency, amplitude, phase, and noise
  • Fast Fourier transforms reveal periodic components and spectral leakage
  • Window functions reduce edge effects before spectral estimation
  • Digital filters remove noise while preserving relevant signal bands
  • Convolution and correlation quantify response patterns and time lags
  • Sampling rates checked against Nyquist limits and aliasing risks

Participants can manage gridded and multidimensional datasets while preserving coordinates and metadata.

  • NetCDF and HDF5 datasets inspected for dimensions, coordinates, and metadata
  • Labelled arrays align variables by coordinates rather than positions
  • Chunked computations process large gridded datasets within memory limits
  • Coordinate reference systems documented before spatial calculations and mapping
  • Missing grid cells distinguished from valid physical zero values
  • Metadata records units, conventions, calibration, and processing history

Participants can identify computational bottlenecks and improve runtime and memory use responsibly.

  • Profiling separates algorithmic bottlenecks from input-output and plotting costs
  • Array expressions reduce interpreter overhead in repeated calculations
  • Memory profiling identifies copies, temporary arrays, and oversized dtypes
  • Chunking strategies process datasets exceeding available memory capacity
  • Parallel task decomposition distinguishes independent simulations from shared-state computations
  • Benchmark protocols compare runtime, memory, accuracy, and reproducibility

Participants can structure, test and review scientific code for dependable technical use.

  • Scientific modules organised around data access, models, and visualisation
  • Pytest unit tests cover deterministic functions and edge cases
  • Property-based tests probe invariants, ranges, and numerical relationships
  • Version control commits isolate changes to code, data, and documentation
  • Code reviews assess assumptions, readability, tests, and computational cost
  • Continuous integration runs tests on clean, repeatable environments

Participants can package an analysis so another analyst can rerun and assess it.

  • Environment specifications pin package versions and interpreter requirements
  • Configuration files separate model parameters from source code
  • Data provenance records sources, transformations, timestamps, and responsible analysts
  • Random seeds, run identifiers, and outputs support result replication
  • README files state installation steps, inputs, methods, and limitations
  • Research artefacts packaged for handover, audit, and later reuse

Participants can calibrate models, evaluate predictive performance and report uncertainty clearly.

  • Calibration estimates model parameters from observed measurements and constraints
  • Train-test splits distinguish fitting performance from predictive performance
  • Cross-validation assesses parameter choices when observations are limited
  • Residual diagnostics identify bias, heteroscedasticity, and autocorrelation
  • Uncertainty propagation carries input ranges through computed predictions
  • Validation reports state acceptance criteria, failures, and model limits

Participants can communicate computational findings with sufficient evidence for technical decisions.

  • Technical reports state question, data lineage, method, results, and limits
  • Figures selected to support decisions rather than decorate findings
  • Tables report units, significant figures, uncertainty, and sample sizes
  • Assumptions logged with rationale, evidence, and potential consequences
  • Peer review checklists test traceability, reproducibility, and interpretation
  • Stakeholder briefings distinguish observed results from modelled scenarios

Participants can scope a computational project around decisions, data requirements and acceptance criteria.

  • Problem statements translate operational decisions into measurable computational questions
  • Acceptance criteria define accuracy, turnaround time, and output requirements
  • Analysis plans sequence data checks, modelling, validation, and reporting
  • Risk registers address data quality, assumptions, dependencies, and misuse
  • Computational workflows scoped for laboratory, engineering, finance, and public-health cases
  • Peer feedback prioritises technical defects, clarity, and decision relevance

Participants can build, review and present a complete reproducible scientific analysis addressing a defined technical question.

  • Capstone problem framed with decision context, data scope, and success criteria
  • Reproducible Python workflow ingests, validates, analyses, and visualises source data
  • Scientific model selected, parameterised, tested, and checked against assumptions
  • Numerical accuracy, uncertainty, and sensitivity documented with supporting evidence
  • Peer review identifies defects, unsupported claims, and reproducibility gaps
  • Final presentation communicates findings, limitations, and recommended actions

Exercises and examples are adapted to each cohort's sectors and roles.

What you take back to work

  1. Reproducible scientific analysis project template
  2. Scientific data validation checklist
  3. Numerical method selection guide
  4. Model calibration and validation report template
  5. Technical visualisation style guide
  6. Scientific code review checklist

Who should attend

  • Data Scientists — need numerical and statistical methods beyond general-purpose data analysis
  • Engineers — model physical systems, process data and test design assumptions
  • Research Scientists — turn experimental data into reproducible computational evidence
  • Quantitative Analysts — analyse time series, simulations and model uncertainty
  • Laboratory Analysts — automate measurement processing, quality checks and technical reporting
  • Technical Managers — review computational work and set standards for reproducibility

Skills and tools covered

Numerical Python programmingScientific data analysisNumerical model developmentStatistical simulationTechnical visualisationReproducible research workflows

Tools and standards

NumPy, SciPy, pandas, Matplotlib

How the course runs

Training methodology

The instructor introduces each method through short technical briefings, worked code examples and discussion of assumptions. Participants analyse realistic datasets, interpret numerical results, compare modelling choices and review code in small groups. Cases include measurement datasets, process models, time series and simulation outputs. Guided activities build from array calculations to reproducible analysis projects, with regular diagnostics for accuracy, uncertainty and performance. Participants also prepare an application plan for a current workplace dataset or modelling problem.

Requirements and prerequisites

Participants should be comfortable writing and running basic Python code, including variables, functions, loops, conditionals, lists and dictionaries. They should understand elementary algebra, graphs and summary statistics, and should be able to interpret equations used in their professional field. Prior experience with NumPy, pandas or SciPy is helpful but not required. The course does not assume advanced calculus, formal computer science training, prior machine learning experience, or experience building software applications. Participants should bring a laptop capable of running a current Python environment.

A typical training day

08:30 – 10:30First session
10:30 – 10:45Refreshment break
10:45 – 12:30Second session
12:30 – 13:30Lunch and networking
13:30 – 15:00Third session
15:00 – 15:15Refreshment break
15:15 – 16:30Workshop and daily review

Live online deliveries follow the same structure in East Africa Time, with shorter screen blocks and longer breaks.

What the fee includes

  • Instruction by a practitioner facilitator
  • Full course workbook and materials
  • Exercise files, templates and case studies
  • Refreshments and lunch on classroom deliveries
  • Certificate of completion
  • Post-course application plan

Frequently asked questions

You should be able to write basic Python functions and use common control structures such as loops and conditionals. Prior NumPy, pandas, SciPy or Matplotlib experience is useful but not required.

Bring a laptop capable of running a current Python environment and installing course materials if needed. A second screen is helpful for live online attendance, but it is not essential.

The course is designed for data scientists, engineers, researchers, quantitative analysts and laboratory professionals who use data or models in technical work. It also suits managers responsible for reviewing computational analyses and setting team standards.

General Python courses focus on programming foundations, while this course assumes those foundations and concentrates on numerical methods, simulation, modelling and reproducibility. Machine learning is not the main focus; statistical modelling is taught where it supports scientific inference and model validation.

Participants work with methods applicable to measurement data, process models, time series, simulations and technical reporting. The final project structure can be adapted to a workplace dataset, subject to data access and confidentiality requirements.

The programme provides approximately 65 contact hours across 10 instructor-led days, normally from 08:30 to 16:30. Early modules establish data, array and visualisation methods; later modules cover numerical models, performance, testing, reporting and the capstone project.

Questions about this course?

Ask about dates, fees, group bookings or running it for your team. Our training team replies by email.