Introduction to Scientific Programming in Python

14-16 April 2021
Milan

Teacher: Nicholas Del Grosso - Dates: 14-16 April 2021

The free, open-source Python programming language is currently the most popular tool for computational research and data analysis. In this introductory-level course, we’ll develop both programming and data analysis skills through hands-on projects, learning both the core Python syntax and the key scientiϐic libraries in the Python ecosystem. Along the way, we’ll also explore best practices in computational research, including transparent reporting, open research data management, and tool validation, exploring how these practices both make our research work more effective and produce higher-quality science.

Timetable
9.30-18.00
Lesson Argument

Exploratory Tabular Data Analysis with Pandas, Holoviews, Seaborn, and Jupyter Lab

  • How to perform automated Excel-like analyses in the Python programming language using that Pandas Python package and the DataFrame data structure.
  • How to efficiently produce accurate graphs and charts from Pandas DataFrames using the Holoviews and Seaborn plotting packages.
  • How to apply good scientific practices to exploratory data analysis using the Jupyter Lab Python programming environment.
Timetable
9.30-18.00
Lesson Argument

Numerical and Statistical Simulation and Visualization with Numpy, Matplotlib, and Scipy-Stats

  • How to manipulate data using the array data structure using the Numpy Python package and visualize it with publication-quality figures using the Matplotlib Python package.
  • How to generate data with different probability distributions and perform statistical analysis (t-tests, anova, binomial tests, etc) on the data.
  • How to test intuitions about statistics by translating real-world reasoning into code.
Timetable
9.30-18.00
Lesson Argument

Custom Analysis Software Tool Creation with Python and PyTest

  • How to write reusable functions in order to perform reproducible analysis on similar datasets
  • How to apply core programming principles (functions, loops, and conditionals) to abstract scineitic problems in bioinformatics.
  • How to use the scientific method to conϐidently produce validated, reproducible research tools via code testing frameworks and the test-driven-development approach.