This lesson is being piloted (Beta version)

Programming with Python

Python supports a large, and growing, informal network of developers - each creating tools that are aimed at solving the needs of their research, or business, community. One of the benefits of using python is the opportunity it gives you to tap into this shared development network, to build on and use the developments that others have made.

This course is designed to introduce you to some of the different libraries and tools that are available for python. The lessons begin with a reminder of the python essentials. It then introduces the concept of JSON formatted data and dictionaries, defensive programming, numpy and matplotlib usage, how to deal with physical quantities and a short introduction to the pandas library.


This course follows on from lessons 1-8 of the Python introduction course , so we recommend you complete these first.

All material in these lessons pertain to Python 3.


Setup Download files required for the lesson
00:00 1. Python Basics Recap Python Refresher
00:00 2. Dictionaries How can I work with relational datasets?
How can I access remote data directly in my scripts?
00:00 3. Numpy and Matplotlib Essential How do I select data within tables for processing?
How can I load different data formats?
00:00 4. Software Package Management How can I load new python libraries?
How can I deal with libraries which have competing software requirements
How can I record the python libraries that I use for my work?
00:00 5. Defensive Programming How can I catch errors in my data?
How can I make best use of error messages?
00:00 6. Units and Quantities How can I ensure consistent units in my code?
00:00 7. Pandas Essential How can I work with spreadsheet style datasets?
00:00 Finish

The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.