Python Primers: 

Python for Data Science and Artificial Intelligence

  • Date: Tuesday 9th April 2019
  • Live and Online: 09.00 – 17.00 

Advanced Python Techniques 

  • Date: Tuesday 16th April 2019
  • Live and Online: 09.00 – 12.30 

Python for Data Science and Artificial Intelligence

Tuesday 9th April 2019: 09.00 – 17.00


Python is the de factolingua franca of data science, machine learning, and artificial intelligence. Familiarity with Python is a must for modern data scientists.

The MLI Python Primers are designed to take you from the very foundations to state-of-the-art use of modern Python libraries.

You will learn the fundamentals of the Python programming language, play with Jupyter notebooks, proceed to advanced Python language features, learn to use distributed task queues (Celery), learn to work with data using NumPy, SciPy, Matplotlib, and Pandas, examine state-of-the-art machine learning libraries (Scikit-Learn, Keras, TensorFlow, and Theano), and complete a realistic, real-life data science lab.


  • The fundamentals of the Python programming language and Jupyter notebooks
    • Jupyter notebooks
    • The Python syntax
    • Data types, duck typing
    • Data structures: lists, sets, and dictionaries
    • Data types
  • Advanced Python features; distributed tasks queues with Celery
    • List comprehensions
    • Lambdas
    • Objects
    • The Global Interpreter Lock (GIL)
    • Multithreading and multiprocessing
    • Distributed task queues with Celery
  • Python libraries for working with data: NumPy, SciPy, Matplotlib, and Pandas
    • Multidimensional arrays in NumPy
    • Linear algebra and optimisation with SciPy
    • Data visualisation in Matplotlib
    • Time series data
    • Dealing with Pandas DataFrames
  • Machine Learning with Scikit-Learn; Deep Learning with Keras, TensorFlow, and Theano
    • Overview of machine learning
    • Introduction to Scikit-Learn
    • Keras and TensorFlow
    • Introduction to Theano

Advanced Python Techniques 

Tuesday 16th April 2019: 09.00 – 12.30

Advanced Python Features and Putting them to use in Practice.

  • Algorithmics and graph theory
  • Prime numbers
  • Cryptography
  • Blockchain

Distributed Computing with Python.

Suggested Reading List:

Introduction and further reading:

  • Friedman, J., Hastie, T., & Tibshirani, R. (2009). The elements of statistical learning. vol. 2. Springer.
  • Murphy, K., (2012). Machine Learning, a Probabilistic Perspective. MIT press.
  • Efron, B., & Hastie, T. (2016). Computer age statistical inference (Vol. 5). Cambridge University Press.

Module 1:


  • Géron, A. (2017). Hands-on machine learning with Scikit-Learn and TensorFlow: concepts, tools, and techniques to build intelligent systems. ” O’Reilly Media, Inc.”.


  • Shalev-Shwartz, S., & Ben-David, S. (2014). Understanding machine learning: From theory to algorithms. Cambridge university press.
  • Mohri, M., Rostamizadeh, A., & Talwalkar, A. (2018). Foundations of machine learning. MIT press.