NetLogo

NetLogo er et agentbaseret simuleringsværktøj, som jeg bruger til computational thinking (CT). Her taler vi den konkrete del af CT, som arbejder med kode. Trods mine forbehold overfor endnu en platform til kodning, er mine første erfaringer med NetLogo overvejende positive.

Netlogo har en ret letforståelig syntax. Der er få mystiske ord og tegn (fx er mange sprog fyldt med { } parenteser og semikolon-tegn) og ingen indryk (som kendes fra Python). Erklæringer og opdateringer klares med nøgleordet “set” og systemet er født med en tids-variabel (dt=1), som inkrementeres for hvert loop.

Mit konkrete forsøg omhandler simulering af logistisk vækst. Eleverne får udleveret en online model i NetLogo over eksponentiel vækst (dN = N*r*dt), som de skal forstå og skal modificere til at simulere en logistisk vækst (dN = (N*r_max*(1-N/K))*dt). Der plottes forskellige data mod tid fx antal individer, vækstrate, bæreevne). Simulationen er selvfølgelig ledsaget af nogle stilladserende spørgsmål, som sikrer faglig og taksonomisk progression.

Jeg har lavet samme system i Python, hvilket er meget let vha. Numpy biblioteket og platforme som fx trinket.io.

MEN.. NetLogo tillader implementering af ‘slidere’, så værdier som N(0) (start population), vækstrate, bæreevne m.v. kan manipuleres før eller under simuleringen. Det giver online Python ikke mulighed for (der findes et underbibliotek af Numpy, som ikke er en del af trinket.io).

NetLogo-applikationerne har jeg gemt i en onlineudgave, som hostes på en Github-side. NetLogo HTML koden er MEGET lang, så hverken et google-site eller github, kan vise hele teksten i HTML-filen, hvorfor ændringer bliver foretaget i notepad :-(, som derefter oploades til mit Github-repository og vises på siden.

Nu er jeg selvfølgelig spændt på hvad eleverne siger. Finder de det let at forstå og ændre koden? -De tog ret blandet imod opgaven. Givet de er 3g’ere i slutningen af skoleåret og gymnasiet, var motivationen ikke særlig høj. Ingen havde svært ved at løse opgaverne, men det var ret blandet hvor langt de nåede. Fx nåede de færreste opgaverne med forsinkelse indbygget i modellen. Nogen gav udtryk for, at det var sjovt..

Hele opgaven: https://raskrawen.github.io/Growth/

Senere fik jeg det råd, at lave en endnu mere grafisk model, hvor hvert individ er en prik. På den måde bliver det forhåbentligt tydeligere for eleverne at det er en population vi modellerer.

Dette indlæg blev udgivet i biologi, Computational thinking, Programmering. Bogmærk permalinket.