Course Series
Python for Natural Sciences
Compact course on data processing, simulation, and analysis with Python tools such as NumPy, Pandas, and Matplotlib.

Didactic Concept
The series systematically introduces data processing, simulation, and analysis of natural science questions with Python. The structure begins with visual and intuitive simulations, leads to measurement values, NumPy arrays, Pandas workflows, and Matplotlib diagrams to statistical evaluations, regression, error analysis, and field-specific applications. The progression connects theoretical concepts with concrete analysis and simulation tasks, so that data is not only calculated but also interpreted and visualized. This creates a continuous workflow from data generation to cleaning and modeling to field-specific evaluation.
For teachers, the series offers a clearly structured introduction to scientific programming with Python. The individual modules are modularly usable, make learning objectives transparent, and support a traceable competence development from basics to practical mini-projects.
Competence Development
- Building up professional competences in variables, lists, NumPy arrays, Pandas data frames, visualization with Matplotlib, and statistical evaluation.
- Development of methodological competences through data processing, data cleaning, simulation, regression, error analysis, and result interpretation.
- Promoting structuring skills through clearly structured workflows from input data to calculation to output and visualization.
- Transfer between scientific model, numerical implementation, and programmed analysis.
- Application of discipline-specific Python libraries in biology, chemistry, geosciences, and astronomy.
Structure of the series

Visual Basics: Simulation & Intuition
Visual sandboxes for free fall, dice histograms, regression, population growth, and predator-prey dynamics.
This module opens the series with visual and interactive models. The examples make central ideas such as randomness, distribution, dynamics, and simulation tangible before more formalized data and analysis procedures follow.

Introduction to processing, simulating, and evaluating data
A compact learning unit with five consecutive modules. Students work with data values (variables/lists), calculate units and NumPy arrays, simulate measurement series with noise, visualize data with Matplotlib, and evaluate CSV laboratory data with Pandas.
This section lays the foundation for further progression. Data values are first stored and calculated simply, then processed with NumPy, simulated, and presented in a scientific manner using Matplotlib.

Data Analysis in Experiments
A compact learning unit with five consecutive modules: (1) Inspect and clean data with Pandas, (2) descriptive statistics with NumPy, (3) linear regression with scikit-learn including R² and plot, (4) error analysis with confidence interval and t-test, (5) scientific diagram types with Matplotlib (histogram, boxplot, error bars, subplots).
This module extends the work with data to an experiment-based analysis process. Data cleaning, statistics, regression, and error consideration are treated as connected steps in scientific evaluation.

Simulations & Models – Practice Project
A compact practice project with five consecutive tasks: from exponential growth over Lotka-Volterra and movement with forces to random processes and parameter studies. The goal is to implement simulations with NumPy structured, compare results (including errors) and visualize accordingly.
This section leads from analyzing existing data to active modeling and simulation. Numerical procedures, parameter studies, and comparison presentations strengthen the transfer between the scientific model and the implemented calculation.

Discipline-specific applications: Bio, Chemistry, Geo & Astronomy
A compact learning unit with five modules. Students create step-by-step small analysis programs with Biopython, RDKit, GeoPandas/Matplotlib, and Astropy. Each module leads to a concrete result (key figures, tables or plot) and uses only the library functions introduced in the course.
The module shows how the previously built Python competences are used in disciplinary contexts. Libraries from biology, chemistry, geosciences, and astronomy illustrate the application relevance of scientific programming.

Mini-projects: Scientific data analysis & simulation
This lesson bundles four mini-projects as a practical application: complete EDA with Pandas, simulation (Monte Carlo), publication-ready Matplotlib visualization, and an independent mini-research project. The goal is a continuous workflow from data generation/data loading to analysis and visualization to interpretive summarization.
The final module bundles analysis, simulation, visualization, and interpretation in project-like tasks. This completes the series on a complete scientific workflow.
Contents at a glance
Visual Fundamentals: Simulation & Intuition
| Content | Focus | Duration |
|---|---|---|
| Free Fall Sandbox | Simulation of free fall with variables, numerical integration, plots, and interactive control. | 25 min -> @@ITEM_0001@@25 minutes |
| Histograms for Dice Rolls | Randomness, distributions, histograms, visualization, and interaction using the example of dice rolls. | 0 min |
| Streudiagrams & Simple Regression | Simulation of position, speed, and acceleration with interactive control. | 0 min -> @@ITEM_0001@@0 minutes |
| Sandbox Population Growth | Exponential growth with UI, loop, buttons, and dynamic visualization. | 25 min -> @@ITEM_0001@@25 minutes |
| Pirate's Loot Sandbox | Lotka-Volterra Dynamics with Step Function, History Storage and Diagram. | 20 minutes |
Getting Started: Process Data, Simulate and Evaluate
| Content | Focus | Duration |
|---|---|---|
| pH Values: Variables, Lists, Average | Store pH Values as Variables and List, Calculate Average and Display Results. | 20 minutes |
| Pendulum Period with NumPy Calculation | Calculate Pendulum Period with NumPy, Evaluate Length Series and Display in Table. | 25 minutes |
| Simulate Measurement Series: Free Fall with Noise | Simulate Free Fall Measurement Series with NumPy, Add Noise and Calculate Deviations. | 25 minutes |
| Measure Spring Force and Scientific Plotting | Simulate Spring Force Data and Visualize Theory and Measurements with Matplotlib. | 35 minutes |
Data Analysis in Experiments
| Content | Focus | Duration |
|---|---|---|
| Read and Clean Measurement Data (Pandas) | Read CSV Data with Pandas, Diagnose Errors, Clean, Interpolate and Save. | 45 min |
| Descriptive Statistics and Uncertainty (NumPy) | Calculate Statistical Values, Standard Error, Quartiles, Outlier Effect and Uncertainty. | 35 min |
| Linear Regression: Evaluating Thermal Expansion | Linear Regression with scikit-learn, Residuals, R², Fit Formula, and Scatterplot with Fit Line. | 35 minutes |
| Error Analysis: AI, Standard Error, and t-Test | Confidence Interval, t-Test, p-Value Interpretation, and Optional OLS Model Evaluation. | 35 minutes |
| Laboratory Comparisons: Histogram, Boxplot, Error Bars | Comparing Values from Multiple Laboratories with Histogram, Boxplot, Error Bars, and Summary. | 35 minutes |
Simulations & Models – Practice Project
| Content | Focus | Duration |
|---|---|---|
| Euler Simulation: Exponential Growth Comparison | Simulating Exponential Growth using Euler's Method and Comparing with Analytical Solution. | 60 min |
| Lotka-Volterra Simulation with Euler | Simulating Predator-Prey Model with NumPy Arrays, Varying Parameters, and Observations. | 45 minutes |
| Parachute Jump: Euler Simulation with Air Resistance | Simulating Parachute Jump with Air Resistance and Phase Change, Calculating Key Values, and Plotting. | 75 min |
| 2D Random Walk: Ensemble Statistics | Simulating 2D Random Walks, Evaluating End Distances, and Comparing with Theoretical Expectation. | 35 min |
| Parameter Study: Skewed Throw with Euler Method | Simulate skewed throws numerically and visualize ranges in two parameter studies. | 60 minutes |
Disciplinary applications: Bio, Chemistry, Geo & Astronomy
| Content | Focus | Duration |
|---|---|---|
| Biopython: Seq, Length and GC-Content | Analyze sequences with Biopython, calculate length and GC-content, and compare. | 25 minutes |
| DNA to mRNA and Protein with Biopython | Apply sequence transformations like complement, reverse_complement, transcribe, and translate. | 25 minutes |
| Biopython: Reading frames and ORF comparison | Evaluate base frequencies, reading frames, translations, and best reading frames. | 35 minutes |
| RDKit: SMILES descriptors and Lipinski check | Analyze SMILES structures, calculate molecular descriptors, and check Lipinski rules. | 35 minutes |
| Geo- and Astro-data: Filter, Distance, Angle | Perform GeoPandas and Astropy analyses on stations, distances, star distances, and angles. | 75 min |
| GeoPandas: Analyze and filter point data | Analyze point data with GeoDataFrame, CRS, filtering, new columns, and distances. | 45 min |
| Astropy: Star distances and angles | Use units, Quantity, SkyCoord, separation angles, and formatted result tables. | 45 min |
Mini-projects: Scientific data analysis & simulation
| Content | Focus | Duration |
|---|---|---|
| EDA Workflow: Water Measurement Data with Pandas | Complete EDA Workflow with Simulated Water Data, Cleaning, Grouping, Correlation, and Export. | 60 minutes |
| Monte Carlo: Buffon's Needle and Pi | Vectorized Simulation of Buffon's Needle Problem, Estimate Pi, Compare Errors, and Visualize. | 75 minutes |
| Four-Panel Figure with Matplotlib | Generate Reproducible Data and Export a Multi-Part Scientific Figure. | 60 minutes |
| Mini Research Project: Simulation and Analysis | Independent Simulation and Analysis Project with Metric, Subplots, Sensitivity Analysis, and Discussion. | 120 minutes |
| Simulate and Visualize CO2 Time Series | Simulate and Display CO2 and Temperature Time Series with NumPy and Pandas using Matplotlib. | 28 min |
| Analyze CO2-Temperature Dataset | Calculate Mean, Correlation, Scatterplot, and Trendline for a CO2-Temperature Dataset. | 32 min |
| Influence of Noise on Correlation | Vary Noise Levels, Compare Correlations, Collect Results, and Display as Bar Chart. | 35 min |
For teachers, a structured series is created that connects basic principles, data analysis, simulation, and subject-specific applications in a comprehensible way. The building blocks can be used completely or modularly in teaching and project phases.
Request a demo access to test the series in your own teaching context. This allows you to assess which building blocks fit the learning group, time frame, and academic goals.