Kursserie
Python for Naturvitenskap
Kompakt kurs om databehandling, simulering og analyse med Python-verktøy som NumPy, Pandas og Matplotlib.

Didaktisk konsept
Serieen presenterer systematisk databehandling, simulering og analyse av naturvitenskapelige spørsmål med Python. Strukturen starter med visuelle og intuitive simuleringer, går videre til måledata, NumPy-arrangementer, Pandas-arbeidsflyt og Matplotlib-diagrammer for statistiske evalueringer, regresjon, feilanalyse og feltspesifikke anvendelser. Denne utviklingen kobler teoretiske konsepter med konkrete analyse- og simuleringstasker slik at data ikke bare blir beregnet, men også tolket og visualisert. Dette skaper en kontinuerlig arbeidsflyt fra dataproduksjon til rensing og modellering til feltspesifikke evalueringer.
For lærere gir serien en tydelig strukturert innføring i vitenskapelig programmering med Python. De enkelte modulene er modulært brukbare, gjør læreformål synlige og støtter et spårbar kompetanseutvikling fra grunnleggende til praktiske mini-prosjekter.
Kompetanseutvikling
- Bygging av profesjonelle kompetanser i variabler, lister, NumPy-arrayer, Pandas-dataframe, visualisering med Matplotlib og statistisk evaluering.
- Utvikling av metodiske kompetanser gjennom databehandling, datatyring, simulering, regresjon, feilanalyse og resultatinterpretasjon.
- Støtte for strukturert tenkning gjennom tydelig strukturerte arbeidsflyt fra inndata til beregninger til utdata og visualisering.
- Overføring mellom vitenskapelig modell, numerisk implementasjon og programmeret analyse.
- Bruk av fagspesifikke Python-biblioteker i biologi, kjemi, geovitenskap og astronomi.
Struktur i serien

Visuelle grunnlag: Simulering & Intuasjon
Visuelle sandkasser for fritt fall, terninghistogrammer, regresjon, befolkningsvekst og predator-predator-dynamikk.
Dette modulen starter serien med visuelle og interaktive modeller. Eksemplene gjør sentrale ideer som tilfeldighet, fordeling, dynamikk og simulering greie før mer formelle data- og analyseprosedyrer følger.

Innledning til behandling, simulering og evaluering av data
En kompakt læringsenhet med fem påfølgende moduler. Studenter jobber med dataverdier (variabler/lister), beregner enheter og NumPy-arrayer, simulerer måleserier med støy, visualiserer data med Matplotlib, og evaluerer CSV-laboratoriedata med Pandas.
Denne seksjonen legger grunnlaget for videre fremgang. Dataverdier lagres og regnes først enkelt, deretter bearbeides med NumPy, simuleres og presenteres vitenskapelig ved hjelp av Matplotlib.

Dataanalyse i eksperimenter
En kompakt læreinnsats med fem påfølgende moduler: (1) Inspeksjon og rengjøring av data med Pandas, (2) beskrivende statistikk med NumPy, (3) lineær regresjon med scikit-learn inkludert R² og plot, (4) feilanalyse med konfidensintervall og t-test, (5) vitenskapelige diagramtyper med Matplotlib (histogram, boksplot, feilbånd, underplott).
Denne modulen utvider arbeidet med data til en eksperimentbasert analyseprosess. Datarensing, statistikk, regresjon og feilsikring behandles som sammenhengende trinn i vitenskapelig evaluering.

Simulering og modeller – Praksisprosjekt
En kompakt praksisprosjekt med fem påfølgende oppgaver: fra eksponensiell vekst over Lotka-Volterra og bevegelse under krefter til tilfeldige prosesser og parameterstudier. Målet er å implementere simuleringer med NumPy strukturerte, sammenligne resultater (inkludert feil) og visualisere i samsvar.
Denne seksjonen går fra analyse av eksisterende data til aktiv modellering og simulering. Numeriske prosedyrer, parameterstudier og sammenligningspresentasjoner styrker overgangen mellom vitenskapelig modell og implementert beregning.

Fagspesifikke anvendelser: Bio, Kjemie, Geo & Astronomi
En kompakt lære-enhet med fem moduler. Studenter lager trinnvis små analyseprogrammer med Biopython, RDKit, GeoPandas/Matplotlib og Astropy. Hver modul fører til et konkret resultat (viktige figurer, tabeller eller plot) og bruker kun de bibliotekfunksjonene som er introdusert i kurset.
Modulen viser hvordan de tidligere bygde Python-kompetansene brukes i faglige sammenhenger. Biblioteker fra biologi, kjemi, geovitenskap og astronomi illustrerer den anvendelsesmessige relevansen av vitenskapelig programmering.

Mini-prosjekter: Vitenskapelig dataanalyse & simulering
Denne leksjonen samler fire mini-prosjekter som praktisk anvendelse: full EDA med Pandas, simulering (Monte Carlo), publikasjonssikker Matplotlib-visualisering og et uavhengig mini-forskningprosjekt. Målet er en kontinuerlig arbeidsflyt fra datagenerering/datainnlasting til analyse og visualisering til tolkende sammanfattelse.
Den siste modulen samler analyse, simulering, visualisering og tolkning i prosjekt-lignende oppgaver. Dette fullfører serien med en komplett vitenskapelig arbeidsflyt.
Innhold på et hengsel
Visuelle grunnlag: Simulering & Intuasjon
| Innhold | Fokus | Varighet |
|---|---|---|
| Sandbox for fri fall | Simulering av fri fall med variabler, numerisk integrasjon, grafer og interaktiv kontroll. | 25 min -> @@ITEM_0001@@25 minutter |
| Histogrammer for terningkast | Tilfeldighet, fordelinger, histogrammer, visualisering og interaksjon ved hjelp av eksemplet med terningkast. | 0 min |
| Streediagrammer & enkel regresjon | Simulering av posisjon, hastighet og akselerasjon med interaktiv kontroll. | 0 min -> @@ITEM_0001@@0 minutter |
| Sandbox for befolkningsvækst | Eksponensiell vekst med brukergrensesnitt, løkke, knapper og dynamisk visualisering. | 25 min -> @@ITEM_0001@@25 minutter |
| Sandbox for piratens gull | Lotka-Volterra-dynamikk med trinnfunksjon, historiebevaring og diagram. | 20 minutter |
Start: Behandle data, simulere og evaluere
| Innhold | Fokus | Varighet |
|---|---|---|
| pH-verdier: Variabler, lister, gjennomsnitt | Lagre pH-verdier som variabler og liste, beregn gjennomsnitt og vis resultat. | 20 minutter |
| Pendelens periode med NumPy-beregning | Beregn pendelens periode med NumPy, evaluér lengde-serien og vis i tabell. | 25 minutter |
| Simulering av målesekvenser: Fri fall med støy | Simuler frifall-målesekvens med NumPy, legg til støy og beregn avvik. | 25 minutter |
| Måle spenningskraft og vitenskapelig plotting | Simulere spenningskraftdata og visualisere teori og målinger med Matplotlib. | 35 minutter |
Dataanalyse i eksperimenter
| Innhold | Fokus | Varighet |
|---|---|---|
| Les og renser måledata (Pandas) | Les CSV-data med Pandas, diagnostiser feil, rens, interpoler og lagre. | 45 min |
| Beskrivende statistikk og usikkerhet (NumPy) | Beregn statistiske verdier, standardfeil, kvartiler, utløpsvirkning og usikkerhet. | 35 min |
| Lineær regresjon: evaluering av termisk utvidelse | Lineær regresjon med scikit-learn, residualer, R², tilpasningsformel og spredningsdiagram med tilpasset linje. | 35 minutter |
| Feilanalyse: AI, standardfeil og t-test | Konfidensintervall, t-test, tolkning av p-verdi, og valgfri evaluering av OLS-modell. | 35 minutter |
| Laboratorie sammenligninger: histogram, boksplot, feilbånd | Sammenligne verdier fra flere laboratorier med histogram, boksplot, feilbånd og samlet oversikt. | 35 minutter |
Simuleringer & modeller – praktisk prosjekt
| Innhold | Fokus | Varighet |
|---|---|---|
| Euler-simulering: sammenligning av eksponensiell vekst | Simulere eksponensiell vekst ved hjelp av Eulers metode og sammenligne med analytisk løsning. | 60 min |
| Lotka-Volterra-simulering med Euler | Simulering av predator-rovmodell med NumPy-arrayer, varierte parametere og observasjoner. | 45 minutter |
| Parachutefall: Euler-simulasjon med luftmotstand | Simulering av parachutefall med luftmotstand og fasesteg, beregning av nøkkelverdier og plotting. | 75 min |
| 2D tilfeldig gang: Ensemblestatistikk | Simulering av 2D-tilfeldige ganger, evaluering av endeforskjeller og sammenligning med teoretisk forventning. | 35 min |
| Parameterstudie: Skjevt kast med Euler-metoden | Simuler skjevte kaster numerisk og visualiser områder i to parameterstudier. | 60 minutter |
Faglige anvendelser: Bio, Kjemie, Geo & Astronomi
| Innhold | Fokus | Varighet |
|---|---|---|
| Biopython: Sekvens, lengde og GC-innhald | Analyser sekvenser med Biopython, beregn lengde og GC-innhold, og sammenlign. | 25 minutter |
| DNA til mRNA og protein med Biopython | Bruk sekvenstransformasjoner som komplement, reverse_complement, transkriber og oversett. | 25 minutter |
| Biopython: Lesingsrammer og ORF-sammenligning | Evaluering av basefrekvenser, lesingsrammer, oversettelser og beste lesingsrammer. | 35 minutter |
| RDKit: SMILES-deskriptorer og Lipinski-sjekk | Analyser SMILES-strukturer, beregn molekylære deskriptorer og sjekk Lipinski-regler. | 35 minutter |
| Geo- og astro-data: Filter, avstand, vinkel | Utfør analyse med GeoPandas og Astropy på stasjoner, avstander, stjernedistanse og vinkler. | 75 min |
| GeoPandas: Analyser og filtrer punktdata | Analyser punktdata med GeoDataFrame, CRS, filtering, nye kolonner og avstander. | 45 min |
| Astropy: Stjernedistanse og vinkler | Bruk enheter, Quantity, SkyCoord, separasjonsvinkler og formaterede resultattabeller. | 45 min |
Mini-prosjekter: Vitenskapelig dataanalyse & simulering
| Innhold | Fokus | Varighet |
|---|---|---|
| EDA-arbeidsflyt: Vannmåledata med Pandas | Full EDA-arbeidsflyt med simulert vanndata, rensing, gruppering, korrelasjon og eksport. | 60 minutter |
| Monte Carlo: Buffons nål og Pi | Vektorisert simulering av Buffons nålpåsproblem, estimere Pi, sammenligne feil og visualiser. | 75 minutter |
| Firepanelfigur med Matplotlib | Generer gjenbrukbare data og eksporter en flerdelte vitenskapelig figur. | 60 minutter |
| Mini-forskningprosjekt: Simulering og analyse | Uavhengig simulering og analyseprosjekt med metrikker, undergrupper, sensitivitetsanalyse og diskusjon. | 120 minutter |
| Simuler og visualiser CO2-tidsserie | Simuler og vis CO2- og temperaturtidsserier med NumPy og Pandas ved hjelp av Matplotlib. | 28 min |
| Analyser CO2-temperaturdatasett | Regn ut gjennomsnitt, korrelasjon, spredningsdiagram og trendlinje for et CO2-temperaturdatasett. | 32 min |
| Influens av støy på korrelasjon | Endre støynivåer, sammenlign korrelasjoner, samle resultater og vis som stolpediagram. | 35 min |
For lærere blir en strukturert serie skapt som kobler grunnleggende prinsipper, dataanalyse, simulering og fagspesifikke anvendelser på en forståelig måte. Byggesteiner kan brukes fullstendig eller modulært i undervisning og prosjektfasen.
Forespør demo-tilgang for å teste serien i din egen undervisningskontekst. Dette lar deg vurdere hvilke byggesteiner som passer til læringssammenheng, tidsramme og akademiske mål.