Building and compiling programs in C for scientific research — pointers, memory management, standard libraries, version control and tooling (make, gdb, gprof), closing with an intro to Python.
High-performance computing — devising parallel strategies and building parallel applications in C with OpenMP and MPI.
A substantial project combining computational, statistical and mathematical skills — random number generators, Monte Carlo simulation and machine learning.
Writing C and C++ and interfacing it with R via Rcpp for fast, large-scale data manipulation.
Building and assessing statistical models — model selection, nonparametric regression, survival models, Markov chains, Poisson processes and finite mixtures.
Advanced Bayesian inference — efficiently exploring posteriors (including intractable likelihoods) and fitting complex models to structured data.
Continuous optimisation for machine learning — gradient and Newton-type methods, trust-region and global optimisation, implemented from scratch in Python.
Modelling with ODE/PDE systems and quantifying uncertainty — the adjoint method and statistical inference for model parameters.
Statistical learning in R — classification, tree-based and ensemble methods, SVMs, clustering and matrix factorisation.
Multivariate statistical methods — clustering, classification, multidimensional scaling, PCA and factor analysis.
Bayesian statistics — Bayesian linear regression, hierarchical models and model comparison.
Machine learning and AI including deep learning — implemented in R with keras and benchmarked on out-of-sample prediction.
Numerical methods for linear systems, quadrature, nonlinear and optimisation problems, interpolation and differential equations.
Matrix theory — eigenvalues, matrix norms, Schur and singular value decompositions, conditioning and positive-definite matrices.
Regression modelling in R — model fitting and interpretation, diagnostics, model selection and ANOVA.
Data programming in Python — manipulation, visualisation, regression, classification, machine learning, APIs and web scraping.