Course
Python
Foundations
Course
Description
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.

I am pleased to have attended this workshop. Paul has clearly great expertise on the subject, and he is also able to convey the content in an efficient and stimulating fashion. The program is excellent, and the teaching offers a great mix of precise theory and valuable hands-on experience. Finally, the quality of the material is outstanding, and multiple additional references are provided. I do not see how it's possible to find a better introduction to the subject.

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: https://github.com/thalesians/python-primer-foundations
Details

Course
Objectives
- To introduce the Python programming language.
- To explain where and how the delegate can download the Anaconda Python distribution.
- To introduce the Jupyter notebooks.
- To demonstrate how different types of Jupyter notebook cells can be used.
- To introduce the Python programming language.
- To introduce variables, numeric data types (including the concept of dynamic typing), and type casting.
- To demonstrate how to use Python libraries, using math as an example.
- To introduce strings.
- To introduce None.
- To introduce arithmetic expressions.
- To introduce functions and explain their role in code reuse.
- To introduce booleans, logic, comparison operators, and logical operators.
- To introduce control flow, if statements, while and for loops.
- To introduce key data structures: lists, tuples, dictionaries, and sets.
- To introduce the temporal types.
- To introduce the Python libraries for working with data: NumPy and pandas.
- To consider examples of typical uses of NumPy.
- To consider examples of typical uses of pandas.
- To learn the basics of data visualisation.
- To learn the foundations of Matplotlib for data visualisation.
- To provide examples and exercises on this material, so the reader can practice programming.
- To introduce the Python literature and web resources on Python.
Course
Features
- 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.

Course
Schedule
Time | Day 1 | Day 2 | Day 3 | Day 4 |
---|---|---|---|---|
09:30 - 10:00 | Registration and welcome | Registration and welcome | Registration and welcome | Registration and welcome |
10:00 - 10:45 | Introduction to Python and Jupyter | Data structures: lists and tuples | Working with data | Principles of data visualization |
10:45 - 11:30 | Python as a supercalculator | Data structures: sets and dicts | Pandas DataFrames | Matplotlib (PyPlot) |
11:30 - 12:15 | Variables and functions | Strings | Working with pandas DataFrames effectively | Plot types: scatter plots, time series plots, histograms, heatmaps, etc. |
12:15 - 13:00 | Booleans and logic | Temporal types | NumPy arrays | Advanced plotting techniques |
13:00 - 13:45 | Control flow | Practice with Python and Jupyter | Working with NumPy arrays effectively | Putting it all together |
13:45 - 14:00 | Test | Test | Test | Test |
Instructor

Instructor
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.
Partner
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.
Mornings
0
Lectures
0
Exercises
0