Ian's Teaching

Intro to Machine Learning for Biotech (Master's or Doctoral course)

An introduction to machine learning concepts for biotechnology students. Here we take a probabilistic approach to machine learning, building the foundation of concepts like statistical parameterization, optimization, and maximum likelihood estimation. I try to build an intuition for what is happening, fundamentally, in machine learning topics like neural networks, and use interactive coding exercises to reinforce lessons with practical experience.


Interactive Python notebooks

  • Introductory programming  

  • Maximum likelihood estimation and Monte Carlo simulation  

  • Clustering using MLE and Gaussian mixtures  

  • Linear regression  

  • Logistic regression and single layer perceptron  

  • Deep neural networks and the XOR gate  

  • Practical training of neural networks  



  • Statistics Refresher Workshop

    Based on an intensive 2-day workshop for the SciLifeLab Molecular Techniques in Life Sciences program with the goal of covering the statistical foundations needed for scientific computing and life science research.


    Interactive Python notebooks

  • Review of lists, loops, basic programming  

  • Histograms and basic descriptive statistics  

  • Multivariate data  

  • Distributions, sampling, law of large numbers, and Monte Carlo method  

  • Theoretical distributions - binomial and Poisson  

  • Dealing with error, central limit theorem, and the law of combination of errors  

  • Estimators and the t-distribution  

  • Comparisons, t-tests  



  • Introduction to Bioinformatics

    Based on the course for the Biomedicine Master's program at Karolinska Institutet with the goal of introducing basic programming and scientific computing and applying it to the analysis of biological sequences.


    Interactive Python notebooks

  • Intro to programming, loops, lists, conditional statements  

  • Intermediate programming, functions, nested loops, problem solving  

  • Sequence manipulation, strings, dictionaries, Biopython  

  • Dot plots, Blosum matrices and scoring alignments, pairwise alignment algorithms  

  • Multiple sequence alignment, BLAST and database search  

  • Phylogeny, trees, distance metrics