2. Hvordan jeg som underviser har utviklet meg

Begynnelsen

Student og PhD student

Min første erfaring som underviser var som gruppelærer for et kurs i zoologi. Det ble en veldig fin opplevelse: mens studentene så et tverrsnitt av en kattenyre hver, så jeg mange flere når studenter ba meg om hjelp. Jeg følte at jeg lærte en god del mer av å undervise faget, da når jeg tok faget selv.

Som PhD student fikk jeg mulighet til å bli med som underviser på det europeiske Erasmus kurset “Marine Cell Biology”, som fant sted på et marin biologisk laboratorium i Frankrike (Observatoire Oceanologique, Banyuls-sur-mer, France). Forskergruppen min var en av de som sto for organisering av kurset, og mine veiledere ba meg å holde foredrag og bidra med labøvelser. Denne erfaringen fortalte meg at jeg faktisk likte å undervise, å stå foran en gruppe studenter og formidle min kunnskap til dem.

2005-2009

Jeg mener at disse erfaringene har bidratt til at jeg fikk stilling som postdoktor ved Biologisk Institutt (nå Institutt for Biovitenskap) ved Universitetet i Oslo. Professoren jeg jobbet for, Kjetill Jakobsen, ba meg å bidra med noen forelesninger i kurset BIO2120 Evolusjonsbiologi om evolusjon og utviklingsbiologi (fagfeltet mitt som doktorgradsstudent), og evolusjon av gener og genomer. Jeg ble også bedt å steppe inn en gang for å organisere en av labbene i BIO1000, det daværende store introduksjonskurset for nye studenter i biologi. Det var en ny erfaring å undervise unge studenter, noe jeg synes var spennende. Men, jeg var fortsatt opptatt av den klassiske undervisningsmetoden med 45 minutter lange forelesninger og ingen studentaktiviserende øvelser.

Som forsker byttet jeg imidlertid fagfelt i retning bioinformatikk og genomikk. Datasettene jeg jobbet med begynte å bli så store at de ikke lenger kunne bearbeides med Microsoft Excel. Jeg måtte lære meg å bruke kommandolinje-baserte verktøy og supercomputere. I tillegg lærte jeg meg et programmeringsspråk (Perl). Alt dette trengte jeg for å kunne delta i genomrevolusjonen som startet i 2006/2007, der nye instrumenter gjorde det mulig for mindre forskningsgrupper å sette sammen, og undersøke, genomer til diverse organismer.

Jeg merket fort at jeg trivdes med å videreformidle min nye kunnskap til mine kollegaer. Jeg ga korte kurs for kolleger i bruk av de verktøyene jeg brukte mest, og i programmering.

INF-BIO5121/9121 (2012-2016)

Fra 2009 ble jeg med i Norwegian Sequencing Centre (NSC), en nasjonal forskningsinfrastruktur for DNA sekvensering. NSC bestemt seg i 2011 for å starte med kursing av sine ‘kunder’, og satt opp et kurs med en generell introduksjon til sekvensering, og to parallelle kurs i praktisk bruk av bioinformatiske verktøy. Sammen med en kollegaforsker fra England organiserte vi en av disse praktiske kursene: en to-dagers workshop om teknikker for å sette sammen genomer, såkalt ‘genom assembly’. Vi tok bevisst en veldig praktisk tilnærming, der deltakere, PhD studenter og erfarne forskere, fikk mye hands-on erfaring med ekte data og bruk av verktøyene. Dette var en fantastisk erfaring: her følte jeg at deltakere virkelig lærte noe, og at de når de kom ‘hjem’ med en gang kunne bruke det de hadde lært. Dette var starten av en ny periode der jeg ble mer og mer overbevist om at denne hands-on læringen fungerer veldig bra, og er en god mulighet til å koble undervisningen veldig tett på pågående forskning.

Rundt denne tiden oppdaget jeg Software Carpentry, en internasjonal organisasjon av frivillige som organiserte workshops om bruk av verktøy for forskere som bruker beregninger og programmering i sin forskning (‘research computing’). Målgruppen var forskere som meg, som senere i karrieren sin oppdaget et behov for å kunne bruke disse verktøyene, uten å ha fått lært dette i sin opplæring. Jeg så at tilnærmingen til Software Carpentry var grundig forankret i pedagogisk forskning, og at målet deres var å undervise kunnskap opparbeidet gjennom årene om ‘best practices’, og forhindre å finne opp hjulet på nytt. Jeg ønsket å delta på en slik workshop og tok kontakt. Resultatet var at deres daværende direktør Greg Wilson kom til Oslo og holdt den første Software Carpentry workshopen i Norden. Ikke bare lærte jeg mye om hvordan jeg kunne bli mer effektiv i min forskning, jeg ble - gledelig - rekruttert til å bli instruktør for Software Carpentry. Etter et (online) instruktør treningsprogram med stor fokus på pedagogikk, ble jeg og en kollega sertifisert for å kunne holde Software Carpentry workshops selv. Erfaringer med Software Carpentry endret mitt syn på undervisningen totalt. Plutselig ble jeg bevisst på viktigheten av motivasjon for læring, det å begrense kognitiv last, formativ vurdering osv. Jeg bestemte meg for å tenke annerledes om undervisning, og for å forankre min tilnærming i forskning og kunnskap på feltet.

INF-BIO5121/9121

På denne tiden var det flere grupper på UiO som organiserte korte kurs eller workshops rundt analyse av DNA sekvenseringsdata. Alle sammen ble de bedt av det som på denne tiden var Computational Life Science initiativet, en satsning fra fakultetet for å fremme bioinformatikk forskning og undervisning, å laget et poenggivende kurs på master og PhD nivå basert på disse kursene. Vi ble enige å slå oss sammen til et 5 poengs intensivkurs der studentene fikk en generell introduksjon til DNA sekvensering og data analyse, etterfulgt av moduler om anvendte analyser tilsvarende våre opprinnelige workshops. I 2013 ble jeg tilbudt en 20% 1. amanuensis II stilling ved Institutt for Informatikk for blant annet å være kursansvarlig for dette kurset. Dette ble INF-BIO5121/9121 - High Throughput Sequencing technologies and bioinformatics analysis. Kurset har blitt en suksess og tiltrakk seg mange studenter, flest biologer, men også noen informatikere. Jeg tok selv min allerede utviklede assembly modul inn i kurset.

Dette var min første erfaring som kursansvarlig (emneansvarlig), som var noe nytt for meg. Kurset var et samarbeid mellom undervisere, med meg som leder, og jeg lærte mye om å drive fram et slikt prosjekt. Vi brukte studentevalueringer aktivt med et egetutviklet nettskjema som studentene fylte ut etter siste kursøkt. Dette førte til at jeg besluttet etterhvert å bytte ut noen av undervisere, som fikk veldig dårlig tilbakemelding fra studentene. Jeg synes det var en vanskelig, men helt nødvendig beslutning å ta, og det fikk den ønskede effekten med bedre læringsutbytte for studentene for den aktuelle modulen. Erfaringene som emneansvarlig var positiv, og førte til en bedre forståelse for hele kursets løp, fra forberedelse, gjennomføring, eksamen og evaluering. Jeg fikk også bedre innsikt i studentenes perspektiv på å ta universitetskurs.

Pedagogisk kompetanse

På denne tiden fikk jeg styrket min pedagogisk kompetanse på to måter. Våren 2014 tok jeg fellesdelen av Universitetspedagogisk Basiskompetanse. Siden jeg var ansatt i en 20% 1. amanuensis II stilling trengte jeg ikke å gjennomføre hele fellesdelen og jeg valgte da bort kollegaveiledningen. I 2016 ble jeg instruktørtrener for the Carpentries. Med dette kunne jeg lære opp nye instruktører. Til det har The Carpentries utviklet et instruktørtrenings opplærings materialet, som er forankret i elementære pedagogiske forskning (pedagogisk psykologi) rundt hvordan vi lærer. Sentrale begreper er motivasjon, kognitiv last, novise versus ekspert, mentale modeller, tilbakemelding og summativ versus formativ vurdering. Som instruktør trener var jeg nå selv en av dem som underviste elementære begreper i pedagogikk til andre.

Nå var mye på plass for å ta neste steg, som viste seg å bli et stort og spennende prosjekt der jeg fikk mulighet til å bygge opp et helt nytt grunnemne for det nye biovitenskapsprogrammet.

BIOS1100 (2017-)

I 2017 ble det introdusert nye bachelorprogrammer i alle studieprogrammer ved det matematisk- naturvitenskapelige fakultet ved Universitetet i Oslo. Alle programmene inkluderte fra da av et beregningsaspekt fra første semester. Dette var et viktig steg i det prisbelønte prosjektet ‘Computing in Science Education’ (CSE) ved fakultetet. Målet var å integrere beregninger som et naturlig verktøy i utdanningen, for å forberede studentene på en karriere der dette er en mye etterspurt kompetanse. På Institutt for Biovitenskap ble dette implementert ved et nytt introduksjonskurs BIOS1100 - Innføring i beregningsmodeller for biovitenskap, som er obligatorisk for alle biovitenskapelige studenter. Videre skulle andre kurs, både obligatoriske og fordypningskursene, implementere beregningsperspektivet som en del av undervisningen.

Jeg var ikke involvert i prosessen som førte til disse endringene. Men jeg var, og er, sterkt overbevist om alle biologer bør skaffe seg beregningskompetanse. Arbeidet med The Carpentries viser at mange ferdigutdannede biologer mangler denne kompetansen.

Da jeg i 2016 fikk tilbudet å ta emneansvar for BIOS1100 og utvikle kurset fra første semester det ble undervist, takket jeg gledelig ja. Dette var en fantastisk mulighet til å utvikle et unikt kurs som skulle forberede studentene til å være framtidens biologer. Det viste seg imidlertid at dette ansvaret var mye større enn jeg hadde forutsett, men også har vært veldig givende. BIOS1100, og jeg som underviser, har gått gjennom en utrolig utvikling de første fire gangene det ble undervist. Nedenfor beskriver jeg først selve kurset, og så de utfordringene jeg støtte på, og hvordan jeg har forsøkt å løse disse.

Om BIOS1100

BIOS1100 - Innføring i beregningsmodeller for biovitenskap, underviser studenter i enkel (matematisk) modellering, implementering av disse modellene i programmeringsspråket Python mens det hele tiden fokuseres på problemer som er relevante for studenter i biovitenskap. Fokuset på biologi tar sikte på å sikre at studentene ser relevans av det som blir undervist, noe som er viktig for studentens motivasjon og læring. Biologiske problemer som for eksempel populasjonsvekst og -dynamikk, arv, DNA-analyse og sykdomsepidemier brukes til å gradvis innføre mer kompleks programmering og modellering.

Kurset er basert på en ny lærebok “Introduction to Analysis and Modeling in Biology with Python” skrevet av fire tidligere doktorgradsstudenter i nevrovitenskap fra Biologisk Institutt som alle har bakgrunn innen fysikk, samt meg som emneansvarlig. Boken er fortsatt under utvikling og forbedres etter erfaringer med undervisningen i BIOS1100 før det skal publiseres i nær framtid. Kurset består av:

  • To timers forelesninger

  • Fire timers gruppeundervisning, obligatorisk fra og med 2018

  • Fra og med 2019 to timers ikke obligatorisk samkodingstimer

  • Flere obligatoriske innleveringer gjennom semesteret

  • Fire timers avsluttende digital eksamen

Kurset og kursboken har blitt utviklet fra grunnen av med oppstart i 2017. Siden dette er et unikt kurs var det lite materialet utover kursboken som kunne brukes til å bygge kurset på. Kurset har gjennomgått en stor utvikling fra den første gang det ble undervist i 2017. Herunder diskuterer jeg noen av de store utfordringene jeg opplevde med å undervise BIOS1100, motiverer løsningene jeg valgte, og beskriver effekten på studentenes læring.

1: Hvordan å undervise programmering til biologistudenter

Da jeg planla undervisningen for første gang kurset skulle bli undervist i 2017 valgte jeg å formidle til studentene at jeg forventet at de skulle bruke pensumboken og øvelsene i gruppetimene for å tilegne seg programmeringskunnskapen. For å støtte opp under deres læring la jeg inn mye formativ vurdering (kombinert med Peer instruction) med hjelp av flervalgsoppgaver i forelesninger og gruppetimene. Bakgrunnen for dette er beskrevet i undervisningsfilosofien under avsnittet formative_assessment. Jeg gikk også gjennom noen utvalgte oppgaver i forelesningene.

Det viste seg 2/3 del inne i kurset at mange studenter ikke kom på forelesningene lenger, og at deltakelse på gruppetimene, som på det tidspunktet ikke var obligatorisk, også var lavt. I tillegg fikk studieseksjonen gjennom samtaler med studenter inntrykk av at mange hadde falt av tidlig og ikke klarte å komme tilbake igjen. Med andre ord, jeg stolte for mye på selvstendig læring av programmeringen, (‘minimal guidance’), mens forskningen viser at Direkte Instruksjon (‘direct instruction’) er å foretrekke i begynnerundervisningen [1].

Jeg bestemte meg da å ta grep og bytte ut den planlagte undervisningen for de tre siste ukene med et tilbudt til studentene som trengte det med økter med en teknikk som heter samkoding. Samkoding, eller ‘Participatory Live Coding’ er beskrevet utfyllende i undervisningsfilosofien under avsnittet samkoding, der dette også relateres til kognitiv last teori. I korte trekk er dette en teknikk der en underviser skriver kode og programmer sammen med studentene. Teknikken, som er mye brukt av The Carpentries, er ment å senke terskelen for å komme i gang med programmeringen. Jeg tenkte derfor opprinnelig at teknikken kunne egne seg for BIOS1100. Men, jeg var redd for at det ville være vanskelig å skalere opp til det forventede antallet av 200 studenter. Utover samkoding fikk studenter en del ‘mengdetrening’ øvelser der jeg repeterte all Python stoff som hadde blitt undervist.

60 til 70 studenter fulgte denne ekstraundervisningen. Tilbakemeldinger fra studenter på dette var overveldende positivt, og en god del fortalte meg og studieseksjonen etterpå at de nå følte at de hadde forstått det vesentlige med programmeringen. Interessant nok meldte noen studenter skuffelse over at de siste kapitlene ikke ble undervist og ba om tilgang til dem.

Suksessen med samkoding som undervisningsform førte til at jeg bestemte meg å bruke samkoding for å undervise elementære kunnskap i Python gjennom hele kurset. Jeg mente, og mener fortsatt, at dette ikke lar seg gjøre med veldig store grupper studenter. Et av målene med samkodingen er at alle studenter følger med, og at de skal kunne få hjelp når de sitter fast slik at de ikke faller av underveis. I en stor gruppe kan det føre til at en student som har et problem holder opp undervisningen for hele gruppen. Derfor bestemte jeg meg at samkodingen i BIOS1100 måtte skje i gruppetimene. For å muliggjøre dette satset jeg på at dette skulle undervises av gruppelærere.

Andre gang kurset gikk i 2018 ble dette implementert. Samkoding ble brukt som hoved undervisningsform i gruppetimene. Til det hadde jeg skrevet en ‘oppskrift’ for hva som skulle undervises i de ukentlige samkodingsøktene som gruppelærere kunne bruke. Jeg gjennomførte en egen opplæring i samkodingsundervisning med 7 av gruppelærere (alle PhD studenter) modellert etter opplæringen The Carpentries gjør i sin instruktør trening.

Erfaringer underveis og besvarelser av sluttevalueringen viste at veldig mange studenter mente samkodingen i gruppetimene hadde stor nytteverdi: 94% mente dette var ‘bra’ eller ‘meget bra’. Gruppelærere uttrykte også at samkoding som undervisningsform fungerte bra. Som en gruppelærer som selv hadde tatt kurset i 2017 uttrykte det ‘grunnmuren i programmering satt mye bedre’. Studenter følte de nå også fikk mer ut av gruppetimene. Dessverre tok opplegget for mye av tiden i gruppetimene og det ble for lite tid til selvstendig jobbing med (mer komplekse) oppgaver.

2: Hvordan lære studentene effektive problemløsningsstrategier

Erfaringer fra de to første semestrene med BIOS1100 viste altså at det i 2017 var for lite fokus på grunnopplæringen i programmering, mens det i 2018 har vært for mye fokus på det, på bekostning av tid til selvstendig arbeid med oppgaver. Dette førte til at studentene ikke fikk utviklet effektive problemløsningsstrategier, noe som ble bekreftet av masterprosjektet til Lars Erik Håland, som er beskrevet i mer detalj i kapitlet om Bruk av forskning i undervisningen. Forskning viser også at begynneropplæring i programmeringen bør fokusere på mer enn bare syntaks, i tillegg bør studentene gis kunnskap om effektive problemløsningsstrategier [2].

Fra og med 2019 ble derfor det som ble undervist ved hjelp av samkoding delt i to:

  • Samkodingstimene: nå som frivillig tilbudt der nytt Python stoff ble undervist

  • Gruppetimene: for å vise hvordan man løser oppgaver (‘worked examples’) og om nødvendig for å forklare ukens stoff på nytt eller på en annen måte

I tillegg ble det i planlegging av gruppetimene lagt opp til å ikke ha mer enn to timer organisert arbeid, slik at det ble to timer til overs for selvstendig jobbing med stoffet og oppgaver, med gruppelærer til stedet. Disse grepene var vellykket. Det har blitt betydelig mer tid i gruppetimene til selvstendig oppgavejobbing mens det samtidig kunne tilbys samkoding om elementær Python stoff. En utfordring var å få de studentene som trenger det faktisk til å gå på samkodingsgruppene.

Fra og med 2019 ble det også gjort forsøk å spesifikk undervise problemløsningsstrategier. Dette viste seg å være vanskelig, og foreløpig har jeg ikke funnet et tilstrekkelig undervisningsopplegg for dette.

3: Hvordan å aktivisere studentene

Som beskrevet over viste tidligere erfaringer meg verdien av aktive læringsformer, og jeg ønsket å bringe disse inn i BIOS1100. Også forskning viser at studentaktive læringsformer fremmer læring i naturfag [3].

I BIOS1100 har jeg over tid prøvd ut og implementert følgende studentaktive (studentaktiviserende) læringsmetoder:

  • formativ vurdering kombinert med Peer Instruction, dette er beskrevet i kapitlet om min undervisningsfilosofi

  • tidligere eksperimenterte jeg med det jeg kalte ‘offline øvelser’: penn-og-papir øvelser for å introdusere et programmeringskonsept uten bruk av datamaskinen. For eksempel brukte vi et kortspill for å illustrere betingede strukturer: ‘hvis neste kort er rød, så …, ellers …’. Dette var inspirert av CS Unplugged, “a collection of free teaching material that teaches Computer Science through engaging games and puzzles” (https://csunplugged.org/en/). Utfordringen var å gjøre øvelser enkelt nok og få studentene til å se relevansen for det de ellers jobbet med i kurset. Siden jeg ofte ikke fant en god løsning på disse utfordringene har jeg mer og mer tatt ut disse type øvelser.

  • Kurset bruker såkalte ‘Active learning Classrooms’ med sekskantede bord, der hvert bord har en stor skjerm som en av studentene kan koble sin laptop på slik at studentene kan se på vedkommendes skjerm sammen og diskutere kode (eller andre faglig relevante ting). Fem til seks studenter per bord er en god gruppestørrelse for samarbeid og gruppelærere stimulerer studentene til å jobbe sammen, som mange også gjør. I tillegg introduserte jeg etterhvert flere øvelser som studentene skal løse sammen, for så å vise sin løsning på storskjermen. Deretter går de rundt i rommet og ser på hverandres løsninger. Målet er å vise at man ofte kan løse samme problem på forskjellig måter når man programmerer i Python.

Tilbakemeldinger fra studentene viser at de setter pris på disse aktive læringsformer, og at de opplever at de lærer mye i gruppetimene. Jeg ønsker å prøve ut flere slike undervisningsformer i framtiden.

4: Rekkefølge av å undervise Python

Boken som ble (og blir) skrevet for kurset har som mål å undervise Python i kontekst av biologien. Det vil si at den biologiske problemstillingen blir gitt først og deretter blir det forklart nytt Python stoff som trengs for å kunne løse problemet. Dette fører til en jevn spredning av stoffet over semesteret. Da BIOS1100 ble undervist for første gang i 2017 viste det seg at den opprinnelige versjonen av kursboken som vi brukte hadde et problem. To måter å gjøre omtrent samme ting i Python ble undervist i to påfølgende kapitler, og dermed i to påfølgende uker i kurset. Dette handlet om det å samle en rekke verdier i en liste-struktur, enten med hjelp av vanlige lister i Python, eller med såkalte ‘Numpy arrays’. Her ble studentene veldig forvirret, de to strukturere og operasjoner de skulle utføre med dem lignet veldig på hverandre, og det var ikke tydelig når og hvorfor de skulle bruke den ene heller enn den andre. Med andre ord, å undervise disse to lignende ting så kort oppå hverandre overbelastet studentene kognitivt [4]. En annen ting jeg opplevde studentene strev med var vanskeligheten av konseptet ‘løkker’, noe som er vesentlig i programmeringsspråk, som for eksempel Python. Løkker lar en repetere noe flere ganger, eller gjøre noe med alle elementer i en liste av ting. Også her er det to forskjellige måter å gjøre dette på (som heldigvis ble undervist på vidt forskjellige tidspunkt i kurset). Jeg ble overbevist om at vi underviste disse formene i feil rekkefølge. Den såkalte ‘while løkke’, som opprinnelig ble undervist sist, er mer transparent og gjør det mer klart for studentene hva som skjer i hvert steg, enn den såkalte ‘for løkke’ som kurset startet med.

Jeg brukte dermed en del tid før kurset skulle starte i 2018 for å skrive om kursboken: bytte om rekkefølge av løkketype (‘while’ før ‘for’) og utsette bruk av den andre liste-strukturen (Numpy arrays) til siste del av boken. Effekten var at jeg opplevde framgangen i Python som mye smidigere. Det ble ikke rapportert om så mye forvirring som før.

Andre aspekter ved BIOS1100

Jeg har under utviklingen av kurset hatt stor fokus på samstemt undervisning (‘Constructive Alignment’) [5]. Disse aspektene er beskrevet andre steder i denne mappen:

  • Utviklingen av de Obligatoriske innleveringer er beskrevet i undervisningsfilosofien under avsnittet obliger.

  • Hvordan eksamensform har endret seg er også beskrevet der, under avsnittet eksamen.

CSE@IBV (2018-)

BIOS1100 er et viktig kurs for å få studentene i biovitenskapsprogrammet en innføring i programmering og modellering av biologiske problebstillinger. Men, målet er at beregningsperspektivet integreres i hele studieprogrammet. Dette innebærer at flere kurs i programmet har et beregningsaspekt. Siden 2018 har det vært min oppgave å koordinere dette arbeidet. Jeg har jevnlig dialog med kollegaene mine om hvordan å tilpasse undervisning slik at studentene tar kunnskapen de tilegner seg i BIOS1100 videre og ser nytteverdien av den for flere biologiske fag. Vi er godt i gang med integreringen i begynneremnene, samt at noen fordypningskurs har begynt med å ta inn beregningsperspektivet. Men, det er mye som gjenstår, som vi også diskuterte i en rapport som jeg i 2020 utarbeidet sammen med alle involverte undervisere. Denne rapporten er tilgjengelig som vedlegg til denne pedagogiske mappen. Jeg representerer også Institutt for Biovitenskap i lederteamet for CCSE, Centre for Computing in Science Education, et Senter for Fremragende Utdanning (SFU) ved fakultet.