Komplett pensumoversikt for innføring i beregningsmodeller ved UiO — med forklaringer, sentrale begreper, eksamenstips og vanlige fallgruver. Eksamensoptimalisert basert på tidligere eksamener.
Ikke medisinsk råd
Dette innholdet er pedagogisk materiale for eksamensforberedelse på eksamenssett.no. Det skal ikke brukes som grunnlag for pasientbehandling, medikamenthåndtering, diagnose eller andre medisinske vurderinger. Følg alltid prosedyrer på arbeidsplassen og rådfør deg med autorisert helsepersonell ved kliniske spørsmål. Slik lages og kvalitetssikres innholdet
BIOS1100 Innføring i beregningsmodeller for biovitenskap gir deg verktøyene til å bygge matematiske modeller av biologiske systemer og implementere dem i Python. Kurset kobler biologi og programmering: du lærer å beskrive populasjonsvekst, smittespredning, genetisk drift og aldersstrukturerte populasjoner med matematiske modeller, og deretter simulere og analysere dem med kode.
Eksamen tester tre ting: (1) matematisk forståelse av modellene (kan du sette opp og tolke likningene?), (2) programmeringsferdigheter (kan du skrive og lese Python-kode?), og (3) biologisk tolkning (hva betyr resultatene i en biologisk kontekst?). Du må beherske alle tre for å gjøre det godt.
Denne studieguiden dekker de åtte hovedtemaene i kurset med detaljerte forklaringer, eksempler, vanlige feil og eksamenstips. Bruk den sammen med forelesningsnotater og obligatoriske oppgaver.
Grunnleggende Python-syntaks, variabler, løkker, funksjoner, lister og NumPy/Matplotlib — verktøyene du trenger for å implementere biologiske modeller.
Python er det dominerende programmeringsspråket i moderne biovitenskap. I BIOS1100 bruker du Python til å simulere biologiske modeller, visualisere data og utforske «hva skjer hvis»-scenarier som er umulige å løse analytisk.
I Python lagrer du verdier i variabler. De viktigste datatypene i kurset er:
N = 1000r = 0.03populasjon = [100, 130, 169]True eller FalseVariabeltilordning i Python:
x = 5 betyr «lagre verdien 5 i variabelen x». Det er ikke en matematisk likning — x = x + 1 er gyldig Python og øker x med 1.
For-løkker er det viktigste verktøyet for å simulere biologiske systemer over tid. Du itererer gjennom tidssteg og oppdaterer tilstanden i hvert steg:
En bakteriepopulasjon starter med og dobler seg hvert tidssteg.
N = 100
populasjon = [N]
for t in range(10):
N = N * 2
populasjon.append(N)
print(populasjon) # [100, 200, 400, 800, ...]Forklaring: range(10) gir tidssteg 0–9. I hvert steg multipliserer vi N med 2 og legger til i listen. Etter 10 steg har vi .
Funksjoner lar deg organisere koden og gjenbruke beregninger. I BIOS1100 bruker du funksjoner til å definere modeller:
def logistisk_vekst(N, r, K):
"""Beregn neste populasjonsstørrelse med logistisk modell."""
return N + r * N * (1 - N/K)Denne funksjonen tar inn nåværende populasjon , vekstrate og bæreevne , og returnerer .
NumPy gir deg arrays (effektive lister for beregning) og matematiske funksjoner. Matplotlib brukes til plotting.
Vanlige NumPy/Matplotlib-kommandoer:
import numpy as np — importer NumPy
np.array([1, 2, 3]) — lag array
np.zeros(100) — array med 100 nuller
np.random.random() — tilfeldig tall mellom 0 og 1
import matplotlib.pyplot as plt
plt.plot(x, y) — linjeplott
plt.xlabel('Tid'), plt.ylabel('N') — akselabeler
plt.show() — vis plottet
Mange studenter prøver å tilordne verdier til en liste som ikke eksisterer ennå. Du må opprette listen før løkken:
# FEIL:
for t in range(10):
populasjon[t] = N # IndexError!
# RIKTIG:
populasjon = []
for t in range(10):
populasjon.append(N)På eksamen får du ofte oppgaver der du skal lese kode og forklare hva den gjør, eller finne feilen. Øv på å «trace» gjennom kode steg for steg — skriv opp variabelverdiene etter hvert steg i en tabell.
Nøkkelformler
for t in range(n): — løkke over n tidsstegliste.append(verdi) — legg til element i listedef funksjon(param): — definer funksjonnp.array(), np.zeros(), np.random.random()Vanlige feil
Eksamenstips
Laster...