Extension courses

The UB's university extension courses are study programmes of different lengths designed to enhance students' professional skills or enable them to specialize in their field of work.


Curs d'extensió universitària: Python for scientists

As scientists we often have to deal in our daily activities with considerable collections of numeric data. We need to extract relevant data, sort them, modify them and view them. Usually these tasks need to be carried out repeatedly. Automating these tasks with Python results in higher efficency and repeoducibility and fewer errors. In spite of the many online resources and Python tutorials available, few are designed to solve specific problems and needs of scientists. This course covers several tools that Python currently offers to the scientist, specially focused on data processing and visualization. You will also learn to code numerical algorithms efficiently in Python. By attending the course you will have the opportunity of combining theory and practice in a computer room.

No knowledge of Python is required to participate and take advantage of this course. Neither should one be an expert in any other programming language. However, we do expect that participants are acquainted with the basic elements and structures of a programming language, ie, a variable, a function or a loop. If you already have some knowledge of Python, we are confident the course will help you to increase the efficiency of your programs.


You may find the link to the registration process here.

Dates and schedule: From 3rd to 7th of June 2019, from 9:30 to 17:30h (30h in total)

Where?: Computer Room 2B, Faculty of Chemistry

  • Knowing the basic elements of the Python programming language.
  • Experimenting with the basic algorithmic structures and their Python implementation.
  • Developing skills in the structured resolution of a problem by building a suitable algorithm and implementing it in a high level language such as Python.
  • Knowing the tools that the Python language provides specifically for data management and visualization (Numpy, Scipy, Matplotlib and Pandas). Application of such tools to the scientific activity.
  • Knowing Python module packages useful in a scientific environment.

The teaching methodology of the course is based on theory/practice mixed sessions. These sessions of 2h will consist in a short explanation of theoretical concept (about 30 minutes) followed by their immediate implementation the computer lab, following jupyter notebooks prepared for this course.
During the sessions, tasks and challenges will be proposed to the participants. The participants will work on these tasks autonomously, outside the classroom under supervision (online and in person).

General explanations and course material will be provided in English. However, During the hands-on sessions problem can be discussed in either English, Spanish or Catalan.

  1. General Features of the Python language.
  2. Python basic elements
  3. Interactive scientific coding with the Jupyter Notebook
  4. Functions
  5. Modules
  6. Working with files
  7. Creating your Python Environment
  8. Numpy
  9. Data Visualitzation with Matplotlib and other libraries
  10. Scipy
  11. Data Analysis with Python: Pandas
  12. Debugging and code optimization
  13. Other modules useful in science
  14. Beyond Python

General explanations and course material will be provided in English. However, during the hands-on sessions problem can be discussed in either English, Spanish or Catalan.