Skip to content



No programming knowledge assumed

Numerous solved exercises

The language of data science, ML & AI



Programming is one of the most important skills for a data scientist, and Python is the de facto lingua franca – the programming language of choice – for Data Science, Machine Learning, and Artificial Intelligence.

Python’s distinguishing characteristics are straightforwardness and readability, especially in comparison with other programming languages, such as C++ and Java. At the same time, Python is very expressive, powerful, and laconic, enabling programmers to express complex ideas in very little code.

Data Scientists perform much of this programming inside the Jupyter environment.

In this course we introduce just enough Python (and Jupyter) to get you started in Data Science.

We also cover the Python libraries for dealing with Data (NumPy and pandas) and visualisation (Matplotlib).

Python is not only a language of choice for data science. It is frequently employed by web designers (for making websites), system administrators (for writing scripts and automation), DevOps and MLOps experts, hackers (also for writing scripts), and anyone who needs to process numeric and textual data in bulk.

Free: course materials available online!

Course materials

Jupyter notebooks

Without solutions

Please make sure that you/your students attempt all exercises independently before considering the provided sample solutions in the “(with solutions)” versions of the notebooks.

With solutions

Git Repository

The original course notebooks are available in *.ipynb, *.html, and *.pdf formats on GitHub:




  1. To introduce the Python programming language.
  2. To explain where and how the delegate can download the Anaconda Python distribution.
  3. To introduce the Jupyter notebooks.
  4. To demonstrate how different types of Jupyter notebook cells can be used.
  5. To introduce the Python programming language.
  6. To introduce variables, numeric data types (including the concept of dynamic typing), and type casting.
  7. To demonstrate how to use Python libraries, using math as an example.
  8. To introduce strings.
  9. To introduce None.
  10. To introduce arithmetic expressions.
  11. To introduce functions and explain their role in code reuse.
  12. To introduce booleans, logic, comparison operators, and logical operators.
  13. To introduce control flow, if statements, while and for loops.
  14. To introduce key data structures: lists, tuples, dictionaries, and sets.
  15. To introduce the temporal types.
  16. To introduce the Python libraries for working with data: NumPy and pandas.
  17. To consider examples of typical uses of NumPy.
  18. To consider examples of typical uses of pandas.
  19. To learn the basics of data visualisation.
  20. To learn the foundations of Matplotlib for data visualisation.
  21. To provide examples and exercises on this material, so the reader can practice programming.
  22. To introduce the Python literature and web resources on Python.


  • Your course provides a solid foundation in Python and Jupyter.
  • It is designed to make you a proficient Python developer and data scientist in the shortest possible time.
  • We have decades of experience of teaching Python both in-house and to wider audiences.
  • Your instructors are known for their clear, in-depth explanations and attention to detail.
  • We know the challenges that you will encounter on this path and carefully delineate all caveats.
  • We provide numerous examples of realistic Python usage.
  • Numerous interactive exercises help you learn and integrate the material.
  • You learn how to apply your knowledge to production-like examples.


TimeDay 1Day 2Day 3Day 4
09:30 - 10:00Registration and welcomeRegistration and welcomeRegistration and welcomeRegistration and welcome
10:00 - 10:45Introduction to Python and JupyterData structures: lists and tuplesWorking with dataPrinciples of data visualization
10:45 - 11:30Python as a supercalculatorData structures: sets and dictsPandas DataFramesMatplotlib (PyPlot)
11:30 - 12:15Variables and functionsStringsWorking with pandas DataFrames effectivelyPlot types: scatter plots, time series plots, histograms, heatmaps, etc.
12:15 - 13:00Booleans and logicTemporal typesNumPy arraysAdvanced plotting techniques
13:00 - 13:45Control flowPractice with Python and JupyterWorking with NumPy arrays effectivelyPutting it all together
13:45 - 14:00TestTestTestTest



Paul Bilokon, PhD

CEO and Founder of Thalesians Ltd. Previously served as Director and Head of global credit and core e-trading quants at Deutsche Bank, the teams that he helped set up with Jason Batt and Martin Zinkin. Having also worked at Morgan Stanley, Lehman Brothers, and Nomura, Paul pioneered electronic trading in credit with Rob Smith and William Osborn at Citigroup.

Paul has graduated from Christ Church, University of Oxford, with a distinction and Best Overall Performance prize. He has also graduated twice from Imperial College London.

Paul’s lectures at Imperial College London in machine learning for MSc students in mathematics and finance and his courses consistently achieve top rankings among the students.

Paul has made contributions to mathematical logic, domain theory, and stochastic filtering theory, and, with Abbas Edalat, has published a prestigious LICS paper. Paul’s books are being published by Wiley and Springer.

Dr Bilokon is a Member of the British Computer Society, Institution of Engineering and Technology, and European Complex Systems Society.

Paul is a frequent speaker at premier conferences such as Global Derivatives/QuantMinds, WBS QuanTech, AI, and Quantitative Finance conferences, alphascope, LICS, and Domains.


WBS Training Ltd organizes workshops and conferences for the capital markets and treasury divisions of investment companies worldwide, with all our efforts centred solely on the education of our clients. WBS Training does not operate to present dozens of events every year. Instead we select only the most innovative, pertinent and dynamic subjects, thus bridging the gap between the latest theoretical developments through to proven practical trading floor requirements. Therefore, we aim to ensure that such requirements can be effectively implemented in the real financial world.

Our depth of experience within the training environment provides us with a greater knowledge and understanding of what our clients require from financial business training. This promotes the unique position of us delivering the quality and service that is crucial to our client’s continued success and competitive advantage in the market place.

We have a flexible approach which allows for a more personal relationship with our clients. Furthermore, we do listen to what our clients want. WBS Training looks forward to meeting your company’s ever changing requirements, and welcomes you to our website.