Introduction to Programming and Statistics

This is a propedeutic course for students applying to the MSc program in Biomedical Engineering and Physics, offered at Cinvestav Monterrey. It's objective is to introduce the students to basic concepts and techniques in Python programming , as well as to the those of statistical analysis of experimental data. To this end, we study some classical examples of mathematical models of biological phenomena, at scales ranging from a single cell to ecosystems. At the end, the students are expected to have a working knowledge of these subjects.

Course outline:

  1. Introduction to Python.
    1. Data types (integer, floating point, string, Boolean).
    2. Basic arithmetic operations.
    3. Variables.
    4. Data structures (tupple, list, array).
    5. Conditional (it, then, else).
    6. Cycles (for, while)
  2. Structured Programming Paradigm
    1. Flux Diagrams
    2. Functions.
  3. Plotting in Python (Matplotlib).
  4. Programming exercises (write functions for)
    1. Computing the factorial of an integer number.
    2. Finding the maximum of a list of floating point numbers.
    3. Ordering a list of floating point numbers from maximum to minimum.
    4. Finding the resolution of a list of floating point numbers in Python.
    5. Finding our if an integer number is prime or not.
    6. Giving a list of namers, ordering it alphabetically and finding the frequency of each name.
    7. Estimating the value of pi via Montecarlo method.
    8. Computing the time a 1-dimensional Brownian Particle takes to escape from a narrow tube closed on one extreme.
  5. Measurement Process.
    1. Accuracy and uncertainty.
    2. Random and systematic errors.
  6. Random variables and probability distributions.
    1. Intrinsic variability and variability introduced by experimental errors.
  7. Sampling.
    1. Histogram
    2. Mean value and standard deviation estimation.
  8. Regression.
    1. Linear Regression.
    2. Power-law and exponential regressions.
  9. Statistics exercises.

References:

  1. Y. Daniel Liang, Introduction to programming using Python, Pearson, 2013, ISBN: 978-0-13-274718-9
  2. Thomas Haslwanter, An introduction to statistics with Python, with applications to the life sciences, Springer, 2016, ISBN: 978-3-319-28315-9