Course Series

Python for Natural Sciences

Compact course on data processing, simulation, and analysis with Python tools such as NumPy, Pandas, and Matplotlib.

Language: Python 3 Modules: 6 Format: Modular
Supplementary materials included: PowerPoint slides for teachers and handouts
Preview image: Python for Natural Sciences

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

Structure of the series

Preview: Visual Basics: Simulation & Intuition

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.

70 minutes 🧩 5 Learning Units
Preview: Introduction: Process measurement values, simulate, and evaluate

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.

105 minutes 🧩 4 Lerneinheiten
Preview: Data Analysis in Experiments

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.

185 minutes 🧩 5 Lerneinheiten
Preview: Simulations & Models – Practice Project

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.

275 minutes 🧩 5 Lerneinheiten
Preview: Discipline-specific applications: Bio, Chemistry, Geo & Astronomy

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.

285 minutes 🧩 7 Lerneinheiten
Preview: Mini-projects: Scientific data analysis & simulation

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.

410 min 🧩 7 Lerneinheiten
Try out this natural science Python series structured in your own teaching context. Now try for free

Contents at a glance

Visual Fundamentals: Simulation & Intuition

ContentFocusDuration
Free Fall SandboxSimulation of free fall with variables, numerical integration, plots, and interactive control.25 min -> @@ITEM_0001@@25 minutes
Histograms for Dice RollsRandomness, distributions, histograms, visualization, and interaction using the example of dice rolls.0 min
Streudiagrams & Simple RegressionSimulation of position, speed, and acceleration with interactive control.0 min -> @@ITEM_0001@@0 minutes
Sandbox Population GrowthExponential growth with UI, loop, buttons, and dynamic visualization.25 min -> @@ITEM_0001@@25 minutes
Pirate's Loot SandboxLotka-Volterra Dynamics with Step Function, History Storage and Diagram.20 minutes

Getting Started: Process Data, Simulate and Evaluate

ContentFocusDuration
pH Values: Variables, Lists, AverageStore pH Values as Variables and List, Calculate Average and Display Results.20 minutes
Pendulum Period with NumPy CalculationCalculate Pendulum Period with NumPy, Evaluate Length Series and Display in Table.25 minutes
Simulate Measurement Series: Free Fall with NoiseSimulate Free Fall Measurement Series with NumPy, Add Noise and Calculate Deviations.25 minutes
Measure Spring Force and Scientific PlottingSimulate Spring Force Data and Visualize Theory and Measurements with Matplotlib.35 minutes

Data Analysis in Experiments

ContentFocusDuration
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 ExpansionLinear Regression with scikit-learn, Residuals, R², Fit Formula, and Scatterplot with Fit Line.35 minutes
Error Analysis: AI, Standard Error, and t-TestConfidence Interval, t-Test, p-Value Interpretation, and Optional OLS Model Evaluation.35 minutes
Laboratory Comparisons: Histogram, Boxplot, Error BarsComparing Values from Multiple Laboratories with Histogram, Boxplot, Error Bars, and Summary.35 minutes

Simulations & Models – Practice Project

ContentFocusDuration
Euler Simulation: Exponential Growth ComparisonSimulating Exponential Growth using Euler's Method and Comparing with Analytical Solution.60 min
Lotka-Volterra Simulation with EulerSimulating Predator-Prey Model with NumPy Arrays, Varying Parameters, and Observations.45 minutes
Parachute Jump: Euler Simulation with Air ResistanceSimulating Parachute Jump with Air Resistance and Phase Change, Calculating Key Values, and Plotting.75 min
2D Random Walk: Ensemble StatisticsSimulating 2D Random Walks, Evaluating End Distances, and Comparing with Theoretical Expectation.35 min
Parameter Study: Skewed Throw with Euler MethodSimulate skewed throws numerically and visualize ranges in two parameter studies.60 minutes

Disciplinary applications: Bio, Chemistry, Geo & Astronomy

ContentFocusDuration
Biopython: Seq, Length and GC-ContentAnalyze sequences with Biopython, calculate length and GC-content, and compare.25 minutes
DNA to mRNA and Protein with BiopythonApply sequence transformations like complement, reverse_complement, transcribe, and translate.25 minutes
Biopython: Reading frames and ORF comparisonEvaluate base frequencies, reading frames, translations, and best reading frames.35 minutes
RDKit: SMILES descriptors and Lipinski checkAnalyze SMILES structures, calculate molecular descriptors, and check Lipinski rules.35 minutes
Geo- and Astro-data: Filter, Distance, AnglePerform GeoPandas and Astropy analyses on stations, distances, star distances, and angles.75 min
GeoPandas: Analyze and filter point dataAnalyze point data with GeoDataFrame, CRS, filtering, new columns, and distances.45 min
Astropy: Star distances and anglesUse units, Quantity, SkyCoord, separation angles, and formatted result tables.45 min

Mini-projects: Scientific data analysis & simulation

ContentFocusDuration
EDA Workflow: Water Measurement Data with PandasComplete EDA Workflow with Simulated Water Data, Cleaning, Grouping, Correlation, and Export.60 minutes
Monte Carlo: Buffon's Needle and PiVectorized Simulation of Buffon's Needle Problem, Estimate Pi, Compare Errors, and Visualize.75 minutes
Four-Panel Figure with MatplotlibGenerate Reproducible Data and Export a Multi-Part Scientific Figure.60 minutes
Mini Research Project: Simulation and AnalysisIndependent Simulation and Analysis Project with Metric, Subplots, Sensitivity Analysis, and Discussion.120 minutes
Simulate and Visualize CO2 Time SeriesSimulate and Display CO2 and Temperature Time Series with NumPy and Pandas using Matplotlib.28 min
Analyze CO2-Temperature DatasetCalculate Mean, Correlation, Scatterplot, and Trendline for a CO2-Temperature Dataset.32 min
Influence of Noise on CorrelationVary Noise Levels, Compare Correlations, Collect Results, and Display as Bar Chart.35 min
The series connects competency building, clear progression, and practical application of scientific Python workflows in CodeRoom.

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.