When it comes to programming, many scientists feel the frustration of not knowing how to get started to improve their efficiency. That is why we decided to build Python for Scientists, a hands-on course in which students will be exposed to all the tools they need to successfully start building solutions in Python.

This course focuses on the entire workflow that needs to be followed to analyze data. We start by reading files from the hard drive, covering reduction, calibration of signals, etc. Finally, we will generate plots that can be used in a publication. With this simple approach, the students will be challenged to improve on what they know and the way they work.

This is a no BS course. You will not become a programmer after a couple of days, you will become a scientists who can program. We will not focus on learning obscure Python tools, nor algorithms to find the roots of an equation. We are going to focus on the practices you need to follow to analyze your data, generate figures, and share the process with others.

Do you like what you read, then drop us a line to courses@pythonforthelab.com and we will glad to clarify any of your doubts. This course is offered to groups of up to 7 people in order to keep a balanced instructor/student ratio.

About the Course

Intended audience

The workshop is aimed at young scientists willing to learn how to analyze the data they generate systematically and reliably. Prerequisite: The only requisite to follow the course is to be smart. If you are already acquainted with a programming language, or with Python itself, then you will be able to focus on the challenges of the workshop regarding the data at hand. If you are a complete beginner, you will find our approach very easy to catch up.

Technology Stack

Python comes in many flavors, we will use a distribution called Anaconda which bundles all the basic libraries that a scientists needs. We will use Jupyter Notebooks to analyze data, and we will use standard libraries for data manipulation, such as numpy, scipy, and Pandas. We will use Matplotlib to generate professional figures which can be used in a publication.

Requisites

To follow the workshop, you will need to bring a laptop with any operating system you normally use and with which you feel comfortable. You will receive installation instructions before the start of the course to prepare your development environment.

Duration

The workshop is offered in two different formats: 3 or 5 full-days. The 3-day course offers the basic tools a scientist needs when analyzing data, and this time will also be used to learn about Python's syntax and best practices.

In the 5 days course, participants will also be introduced to other tools which are very handy to distribute code, including Pycharm and Github.

In both cases, time can be adapted according the group dynamics and background. Biologists will focus on biologically-relevant data, but also chemists, physicists, etc. This will keep a high level of engagement with the audience. Depending on the background of the group, there is always room for including extra topics. Certificates of completion are given upon completion of the workshop.

About the Instructor

Aquiles Carattino completed his Ph.D. in experimental Physics in 2017. During this period, he started developing software for his experiments, and in 2017 founded a company to develop software for research labs. By the end of 2017, he created pythonforthelab.com and started offering workshops aiming at creating a strong community of python developers around common technologies and practices. In early 2019, Aquiles and some partners founded a new company to develop the next generation of nanoparticle tracking devices, which are planned to be released to the market in early 2020.

Detailed Syllabus

  1. 1
    Morning

    Getting started with Jupyter Lab. We will quickly see how to use this powerful tool, and will use the opportunity to learn the basics of Python's syntax

    Afternoon

    Reading data from files, exploring the information. We will learn how to fit the data to a model and see how to iterate the process over many files automatically. We will see how to plot the information in order to visualize what we are doing.

  2. 2
    Morning

    Using pandas to simplify working with tabular data. Learn to load and save data to further process or share. Learn how to style the plots to make them more attractive.

    Afternoon

    Introduction to tests and refactoring. You will learn how to build robust code and improve without affecting the rest of your program.

  3. 3
    Morning

    Introduction to version control. You will learn how to use git to keep track of changes and share your code with others.

    Afternoon

    Time to work on your own projects!

  4. 4
    Morning

    Abstract parts of your code as a package, that you can use in several projects, or that you can share with other. We will use Pycharm for this, a full-fledged development environment.

    Afternoon

    Introduction to threads to run longer tasks while at the same time being able to monitor them.

  5. 5
    Morning

    Introduction to object-oriented programming and how to build extensible code and packages.

    Afternoon

    Time to work on your own projects!

Contact Us

If you want to learn more, send us an e-mail to courses@pythonforthelab.com with any questions or remarks. We will happy to answer them!