DNA-model med laserskærer

September 2024: En kollega spurgte, om vi havde en fysisk model af DNA liggende? -Nej, men hvorfor ikke? Jeg researchede de sædvanlige kilder: Etsy, Thingiverse, 3dcults og Google. Ingen modeller som er gode eller til at betale for penge.

Første prototype

I et blogindlæg fra MIT fandt jeg en løs beskrivelse af en laserskåret 3d model. Ingen filer, men en tegning af brikkerne. Jeg vektoriserede tegningen i Inkscape og skar en pap-prototype af brikkerne. De passede sammen, men efter 2-3 basepar blev det klart, at modellen aldrig ville blive en spiral. Noget i modellen passede ikke sammen.

Efter 4-5 iterationer i pap kom jeg frem til nogle mål, som passer nogenlunde sammen (bl.a. ca. 36 grader mellem hvert nukleotid, og længden af bindingen mellem baserne).

Planen er, at skære baserne i 3mm mdf med tekst, og skære backbone samt bindinger i pap, så der bliver en vis fleksibilitet i modellen.

Jeg vil prøve at implementere:

  • major og minor groove i modellen ved at lave stykker af backbone, som er kortere og længere.
  • den antiparallel struktur bliver synlig.
  • forskellen på AT og GC. Måske bindinger med hhv. 2 og 3 hydrogenbindinger.
  • tydeligere adskillelse mellem fosfat og ribose, som p.t. er eet stykke.
  • Undgå at basen ser ud som om, at den binder to nukleotider sammen (det er ribose, som gør det)

Det er stadig meget tvivlsomt, om eleverne kan samle modellen, men en kollega har lovet at teste det.

oktober 2024: Backbone blev opdateret med symboler inkl. 3′ og 5′. Hver base og backbone fik en pil, som skulle vise, hvilken retning brikkerne skulle samles. Siderne af DNA blev farvet hhv. brun og hvid for at gøre det nemmere at samle hver side.

Jeg lavede 10 sæt i pap a 8 basepar, som eleverne i 1g NV (grupper a 3) skulle samle. Der blev også lavet to samlede og limede modeller, som eleverne kunne kigge efter.

De fleste elever kunne ikke finde ud af det. Dels var deres viden om DNA meget begrænset. Dels var der mange kombinationer af brikker, hvorfor de havde svært ved at komme i gang. De få elever, som det lykkedes for, var dem, som sad med de limede modeller.

Jeg har nogle ideer til, hvordan eleverne kan komme i mål:

  • Eleverne samle nukleotider først, og jeg skal tjekke, om de er korrekte.
  • Fælles start af de første basepar.
  • Ingen må tage de limede modeller, som skal stå, så alle kan se dem.

(opdateres nok)

Udgivet i Biologi, Bioteknologi | Kommentarer lukket til DNA-model med laserskærer

Skab digitale modeller med generativ AI

Når eleverne træner modellerings-kompetencer, kan det foregå gennem arbejde med digitale interaktive modeller til at forstå, formidle og forudsige faglige pointer. Men det er svært at kvalificere eleverne, så de selv kan programmere de digitale modeller.

For programmering er et kreativt håndværk, som tager tid at lære. Heldigvis er det blevet meget nemmere at være kreativ med IT. For eleverne kan nærme sig programmering uden at skrive kode.

Efter chatbots er kommet frem, først og fremmest repræsenteret af ChatGPT, kan eleverne i stedet beskrive, hvad et program skal kunne, og prompte en chatbot til at skrive et bud på programkoden.

De nye chatbots (fx ChatGPT 4o) er så gode til at skrive kode, at elever (et stykke hen ad vejen) kan prompte en interaktiv digital model frem. Claude’s Sonnet-chatbot har endda et interface, hvor prompt, kode og kørsel af koden vises i samme skærmbillede. Der er dog også chatbots på markedet, som p.t. ikke magter opgaven fx skoleGPT.

Eleverne kan opbygge en digital model gennem en række prompts. Det kræver præcise prompts at få specifikke forhold frem i modellen, hvorfor eleverne arbejder med prompt engineering.

Den kode, som chatbotten leverer, kan være skrevet i HTML, flyttes til en tekst-editor og vises i en browser. Koden kan også flyttes til et online-udviklingsmiljø som Trinket eller Replit.

En generel fremgangsmåde og nogle opmærksomheds-punkter nedenfor. Ordet “Modellen” henviser her til den model, som eleverne prøver at skabe, og ikke til den model, som ligger i chatbotten.

  1. Eleverne/læreren skal vælge en del af et simpelt system fra faget, som de vil modellere. I biologi/kemi kan det være en kemiske reaktion eller en enkel biologisk proces fx rovdyr-byttedyr, molekyler, hormoner, del af et stofkredsløb o.l.
  2. Lav en skitse af modellen og beskriv indholdet med tekst/pile.
  3. Eleverne skal overveje, hvilke dele af systemet de vil begynde med at modellere.
  4. Det er en fordel at modellere systemer, som er velegnede til agent-baserede modeller, som bygger på en objekt-orienteret tilgang. Det er svært at animere og få elementer i modellen til at ligne konkrete dele af verden fx konkrete molekyler, organer eller cellulære strukturer.
  5. Begynd med en standard prompt, som beskriver hvilket kodesprog modellen skal skrives i, og hvad modellen overordnet skal simulere. Skriv at modellen skal opbygges gennem en række prompts. Rolle, kontekst, opgave, format og sprog kan strukturere prompten.
  6. Brug versionering, så det er nemmere at holde styr på forskellene på de modeller, som bliver outputtet. Begynd med version 1.0.0. Hvis en outputtet model bliver forkert, kan man let gå tilbage til en bestemt version, som var mere korrekt.
  7. Bed chatbot’en placere tekster i modellen. Bliv ved med at prompte indtil placeringerne og teksterne står korrekt. Beskriv den form, som hvert sted skal repræsenteres af fx kasse eller cirkel, samt deres farver.
  8. Bed chatbot’en tilføje nogle af de agenter, som skal bevæge sig mellem stederne. Præciser farve, form og bevægelseshastighed for agenterne.
  9. Udvid med flere egenskaber til og/eller interaktion mellem agenterne.
  10. Udvid med brugerens muligheder for at interagere med modellen fx gennem knapper, slidere og evt. tekstfelter.
  11. Udvid med flere agenter.

Produkter fra chatbots må aldrig stå alene, så eleverne skal reflektere grundigt over på hvilke punkter modellen afspejler virkeligheden (det faglige indhold), og på hvilke punkter den ikke gør. De bør også reflektere over de generelle muligheder og begrænsninger ved modeller.

De kan reflektere over hvilket fagligt indhold, der var let/svært, at få frem i modellen og hvorfor. En af pointerne her, vil ofte være, at en chatbot skal promptes meget specifikt og med meget kontekst, for at opnå et bestemt udtryk. De vil muligvis også komme frem til, at for mange ændringer på samme tid, ikke giver de ønskede resultater. I stedet bør variabel-kontrol udøves, så modellen forbedres trinvist.

Aktiviteten rammer flere læringsmål:

  1. Modellering (dekomposition) af indhold fra faget.
  2. Arbejde med prompting af chatbots, uden at målet er en tekst, hvorfor fokus på hurtige veje til et produkt og på snyd bliver mindre.

Jeg er spændt på, om eleverne:

  • Magter at dekomponere det faglige indhold til en simpel model og skitsere denne. Måske kræver det et større fagligt overblik end forventet at vælge et system, som er velegnede til denne form for modellering. I så fald, må jeg støtte dem med forslag fx et simpelt kredsløb mellem hjerte, væv og lunger.
  • Vil simulere systemer, som er så komplekse, at en chatbot ikke kan skrive et program, der fungerer. For eleverne kan ikke opdage eller rette fejl i koden.
  • Tager magten over chatbotten eller chatbotten tager magten over eleverne. Vil de blot acceptere (delvist forkerte) forslag, som chatbotten kommer op med? Det kan kræve en del prompt-forsøg og tålmodighed at få en model til at se ud på en bestemt måde. Og det er svært at få dynamiske systemer i balance.
  • Formår at jonglere med chatbot, HTML-dokument og browser til fortolkning af HTML.

Eksempel: Her er et eksempel, som er lidt mere avanceret, end jeg forventer af eleverne. Det er kønshormonerne GnRH, LH, FSH og testosteron, som udviser feedback på hinanden. Systemet er endnu ikke helt balanceret, og viser derfor nogle ret store udsving i testosteron-indhold.

Nogle af de prompts, som er brugt til at skabe eksemplet ovenfor:

  1. Standard prompt (ikke vist)
  2. …en række af flere prompts..
  3. Flyt kassen med Testikler lidt til venstre. Udvid den hvide ramme for kredsløbet lidt til venstre og til højre. Udskil GnRH fra Hypothalamus, også når der ikke klikkes på knappen.
  4. Testosteron skal sørge for, at der udskilles mindre GnRH og FSH og LH.
  5. Gør den hvide ramme lidt smallere igen på højre og venstre side.
  6. Udskil færre FSH og LH på grund af GnRH.
  7. Begynd simuleringen uden hormoner. GnRH skal medføre færre FSH og LH frigivet.
  8. Tilføj en legend hvor det kan ses hvad de hhv. røde, grønne, gule og sorte prikker repræsenterer.
  9. Kasserne med hhv. hypothalamus, hypofysen og testikler skal forblive på deres x og y koordinater, men prikkerne skal passer bagved kasserne.
  10. Ændr knappen “release GnRH” til “indspøjt AAS”. Når der klikkes på knappen skal der tilføres et ekstra hormon “AAS”, som er blåt. AAS skal tilføres til venstre i kredsløbet. ASS skal opføre sig ligesom Testosteron. På legend skal der tilføjes en blåt prik og teksten “AAS (kunstigt testosteron)”.
  11. AAS skal have samme hæmmende virkning på frigivelsen af GnRH, LH og FSH, som Testosteron har.
Udgivet i Biologi, Bioteknologi, Computational thinking, Informatik, Kemi, Programmering | Kommentarer lukket til Skab digitale modeller med generativ AI

Skoleåret 2024-25

Jeg er færdig med efteruddannelse, og håber derfor at få mere overskud til alt andet 🙂

Arbejde videre med hukommelses-teknikker herunder flipkort.

Køre fag i en Agile ramme, dvs. afprøve og evaluere læringsaktiviteter og gentag aktiviteter, som ser ud til at virke.

Undersøge Generativ AI i undervisningen og formidling heraf.

I informatik vil jeg prøve par-programmering mhp. eksamensgrupper. Efter at have arbejdet med escape room gennem flere år, vil jeg arbejde med museumsformidling sammen med Naturama.

Udgivet i Biologi, Informatik, Kemi | Kommentarer lukket til Skoleåret 2024-25

Agilitet i HF-undervisning

På mit sidste kursus (software engineering), blev jeg introduceret til Cynefin-modellen, som beskriver fem typer situationer (domæner) og giver bud på beslutninger, der kan løse dem (beslutnings-domæner):

Cynefin model
  1. Simple problemer: Enhver kan se løsningen, som ligger ligefor. Der er entydig en enkel sammenhæng mellem årsagen til problemet og løsningen. Det er muligt at opstille en best practice, fordi der er en indlysende og gennemprøvet måde at løse problemet.
  2. Kaotisk: Der er ingen sammenhæng mellem årsager og virkninger. Derfor er det tilfældigt hvad der virker og ikke virker. Bedste bud på en løsning er, at en ledelsesperson tager en beslutning for alle involverede, som kan bringe systemet til et af de andre domæner.
  3. Komplicerede problemer: Her er en sammenhæng mellem problemet og løsninger tilstede, men den er svær at finde. Derfor skal problemet analyseres af en (eller flere) kompetente eksperter, som kan analysere problemet og udpege løsninger. Det kan være nødvendigt at indsamle data før analysen. Problemet er så kompliceret, at det er umuligt at opstille én entydig best practice. I stedet kan der opstilles en good practice, som et katalog over handlinger, som kan bidrage til at løse situationen.
  4. Komplekse problemer: Her er så mange aktører og sammenhænge, at problemerne ikke lader sig dele op i isolerede problemer. Desuden skifter forudsætningerne ofte, så noget der har virket, måske ikke virker igen. Derfor er det ikke muligt for en ekspertgruppe at analysere (deducere) og udpege løsninger. Det er hverken muligt at opstille best eller good practice. I stedet skal der anvendes metoder fra det Agile rammeværktøj: En divers gruppe med forskellige kompetencer skal afprøve forskellige handlinger, på vej mod en løsning. Gruppen skal forstærke de handlinger, som viser tegn på at løse situationen, og formindske de handlinger, som viser tegn på at forøge problemerne.
  5. Uorden (disorder/forvirring): Ligger midt i modellen. Her placeres situationen, hvis man ikke ved hvilket af de andre domæner, den kan placeres i.

Mange forhold i undervisning udgør heldigvis simple problemer med simple løsninger, som er nemme at gennemskue. Meget af den traditionelle undervisning ligger også her. Hvis problemet er, at eleverne mangler viden og kompetencer om emnet, så gennemgår læreren det eller eleverne læser det, så løses der opgaver osv. Det er som regel undervisningen i velfungerende stx-klasser, som ligger her.

Noget undervisning indeholder situationer, som er sværere at gennemskue. Det er de komplicerede problemer. Fx hvad skal der ske med skærmene i skolen? Vi skal både bruge dem, og de tager en masse ufaglig opmærksomhed. Der er blevet lavet en række ekspert-undersøgelser på området og udgivet en good practice i skærmbrug, som de fleste følger.

Simple og komplicerede situationer kan som regel løses ved at lægge en plan og følge den. Det kan kaldes at følge en vandfaldsmodel, hvor hver aktivitet er fastlagt i en bestemt rækkefølge og resultater forudsigeligt. Meget undervisning foregår på den måde, når læreren gentager det, som blev gjort sidste år. Metoden virker heldigvis i mange undervisnings-situationer.

Nogle undervisnings-situationer placerer sig i det kaotiske domæne: Her er meget frustration blandt underviserne (og eleverne), og intet ser ud til at virke. Derfor kan man ønske, at nogen bestemmer, at nu skal undervisningen køre på en bestemt måde, som kan bringe situationen hen til et af de andre domæner. Det kan være klassen opløses eller deles i to halvdele, eleverne får faste pladser eller alle produkter skal afleveres. Eleverne kan ønske, at læreren udøver høj grad af autoritet.

Nogle lærings-situationer påvirker så mange forhold, at de ligger i det komplekse domæne. Der er nogle årsag-virkning sammenhænge, men de er filtrede sammen. For eksempel undervisning i HF, som jeg placerer i det komplekse domæne, fordi elevgruppen er ofte meget blandet med stor faglig spredning, diverse diagnoser og meget forskellige sociale kompetencer. Desuden kan eleverne skifte meget gennem forløbet, da deres sociale-, familie- og sundhedsmæssige forhold kan skifte.

Situationer i det komplekse domæne, som undervisning i HF, skal udføres med metoder, som ligger inden for det Agile rammeværktøj. Underviseren skal afprøve forskellige lærings-designs/aktiviteter, og undersøge effekten, for derefter at udbygge de dele, der virker lige nu, og nedtone de dele, som ikke virker. Hvad der virker, kan ændre sig gennem forløbet eller fra hold til hold, fordi eleverne og læreren ændrer sig. I dén situation, er det en fordel at være en erfaren underviser, fordi man har en række af lærings-designs liggende, og kan prøve dem af på et nyt hold.

Målet med hver aktivitet er læring, og det kan være svært af måle. Et bud kan være en formativ evaluering fx i form af:

  • en grundig evaluering med spørgeskema
  • samtale med enkelte elever
  • underviserens indtryk af effekten
  • gruppe- og/eller klassedialog
  • lyn-evaluering hvor eleverne med tommelfinger markerer up, mellem eller ned.

De hurtige metoder (sidst på listen) er nok at foretrække, fordi det er bedre at bruge tiden på at teste flere aktiviteter af, end at gennem-teste få aktiviteter. En evaluering på elevernes viden og kompetencer skal der også til. Ikke for at vurdere eleverne, men for at vurdere, om en aktivitet virker. Har der været flere aktiviteter i spil, bliver det selvfølgelig sværere at klarlægge en entydig årsag-virkning sammenhæng.

Egentlig burde underviserne i en HF klasse tale meget mere sammen, fordi en divers gruppe af undervisere kan få mange flere ideer og kan afprøve mange flere aktiviteter end en enkelt underviser.

Dog er det ikke givet, at ét lærings-design, som virker hos én underviser, vil virke ligesådan hos en anden underviser. Underviseren er en anden, relationen mellem underviser og elever er en anden, og eleverne er et andet sted både fysisk og mentalt. Men underviseren kan prøve at forstærke designs, som virker her og nu.

Dertil må underviseren tage hensyn til læreplaner og forskellige elevtyper i vurderingen af hvad der skal forstærkes og svækkes. Nogle elever kan trives med én type af aktiviteter, mens andre elever ikke har udbytte af den.

Det kan være fristende at placere undervisning i HF i det kaotiske domæne. Løsningen kunne i givet fald være, at nogen vedtog en plan for fast curriculum, opgaver, aktiviteter og øvelser. Dét ville ikke udnytte underviserens kompetencer ret godt, og man kunne derfor sætte en underviser med lavere uddannelse til at undervise. Det ville desværre også gå ud over eleverne: de fagligt dygtige ville ikke blive udfordret, og de fagligt svage ville risikere at blive hægtet af.

Udgivet i Biologi, Bioteknologi, Kemi, Planlægning | Kommentarer lukket til Agilitet i HF-undervisning

Arkitektur og design af software

Så fik jeg endelig afsluttet det sidste kursus for at leve op til de faglige mindstekrav i informatik. Kurset hedder “Software Engineering” på SDU og indbefatter to dele: Planlægning af projekter og system-arkitektur. Carsten Lützen stod som underviser.

Underviseren havde planlagt kursus-forløbet som en projekt-udvikling efter formen:

Kursets indhold om planlægning af et projekt (gule ovenfor) omfatter den traditionelle sekventielle vandfaldsmodel over iterative modeller som kan kaldes Agile til at berøre extreme programming (XP). Arbejdet inden for Agile rammer blev mest præsenteret via retningslinjerne i scrum.

Scrum er en ramme for team-organisering (5-10 personer) med henblik på trinvis forbedring for jævnligt at give brugerne værdifuldt software mellem hænderne. Der er forskellige roller, artefakter og ceremonier i scrum, og en arbejdsperiode på 2-3 uger kaldes et sprint.

System-arkitektur (grønne ovenfor) delen handlede om hvordan den overordnede struktur i IT-systemer kan designes og kommunikeres. Et system kan bestå af én kode (monolit) eller af mange små selvstændige moduler (micro-services). Hvert modul kan være opbygget af typisk op til tre lag, som fungerer i en klient-server arkitektur.

Kvalitet af kode og test af programmer blev også introduceret. Kode rådner dvs. kvaliteten falder med tiden, når den refaktoriseres (omskrives) og udvides. Høj kvalitet af kode kan sikre færre fejl, at koden kan genbruges og at den kan læses og forstås (og derfor forbedres eller udvides) senere. Metoderne er bl.a. lav cyclomatisk complexitet (antal veje gennem koden) og unit tests, og inden for objekt-orienteret programmering er principper som dekobling, encapsulation (don’t show your privates), single-responsibility afgørende for høj kvalitet af kode.

Eksamensspørgsmålene omfattede:

Et godt kursus, som giver en god baggrundsviden for design af IT-systemer. På trods af, at kurset indeholdt en projektaflevering over et IT-system, kunne det have været sjovt at prøve nogle af programmerings-principperne af fx. nogle design patterns eller implementering af et system i trelags-arkitektur.

Udgivet i Informatik, Programmering | Kommentarer lukket til Arkitektur og design af software

Sprog i naturvidenskab

Der er traditioner for at skrive på en særlig måde i naturvidenskab. Fagbegreber bidrager i høj grad til, at sproget er præcist og effektivt. Ligeledes kan komplekse sætningsstrukturer og ualmindelige ordvalg sænke effektivitet i formidling.

Der har længe været en tradition for at skrive passivt i naturvidenskab fx “Der gives..”, “Der opstilles et forsøg..”, “Det forventes at..”.

Men traditioner skifter. Det er blevet klart, at det er nemmere for modtageren at visualisere og forstå indholdet, hvis sproget gøres aktivt og konkret. Dvs. skriv hvem der opstiller forsøget, og hvem der skal udføre opgaven. De store naturvidenskabelige tidsskrifter (Nature og Science) er begyndt at anbefale at skrive “Vi” (eller “Jeg”) i metode og diskussion-afsnit.

Jeg har opstillet seks regler for at skrive i naturvidenskab.

Der er lidt forskel på det naturvidenskabeligt sprog i forskning og i skolen. Fx vil forskere ofte udtrykke usikkerhed i deres konklusioner, hvilket ikke forventes i lige så høj grad af elever. Elever/studerende forventes i høj grad at forklare kendte begreber og teorier, hvilket forskere ikke behøver.

 RegelSådan gør du
1Præcist sprog: Fagligt sprog i naturvidenskab er ekstremt præcist for at undgå misforståelser og tvetydighed. Skriv så vidt muligt konkret frem for generelt.Læs korrektur! Kan din tekst forstås på andre måder?   Du må gerne skrive jeg/vi, frem for man/der/passiv. Vær tydelig, hvis du bruger henvisningsord som den, de og det fx “Det er grunden til at..” (hvad er det?)
2Effektivt: En naturvidenskabelig tekst undgår unødvendige ord og komplekse sætningsstrukturer. Sproget formidler informationen så effektivt som muligt. Sproget har ofte korte sætninger og bruger ikke fyld-ord. Kemiske og matematiske formler øger effektiviteten.Undgå lange sætninger. Højest en hovedsætning og en bisætning.   Undgå hverdagssprog og talesprog.   Undgå personlig stemme.
3Fagbegreber: For at udtrykke komplekse idéer præcist og effektivt, er det vigtigt at kunne bruge faglige begreber, og bruge dem i korrekte sammenhænge.Brug fagbegreber. Forklar de vigtigste fagbegreber i en sætning for sig selv.  
4Forklaringer: Faglige svar i naturvidenskab begynder ofte med en pointe, efterfulgt af dybere forklaringer af relevante begreber, sammenhænge og processer. Fold forklaringen ud et skridt ad gangen.   Nogle afsnit følger PEE: Point, Evidence, Explain (pointe, bevis, forklaring).Fordi, fordi, fordi, fordi, fordi.. ..hvilket vil sige at Årsagen til..  er at.. Grunden til.. er at.. .. skyldes at Som følge af.. , vil..  Konsekvensen af..  er at.. Sammenhængen mellem.. og.. er..   Undgå opremsning f.eks. af symptomer, men forklar enkelte.
5Objektivitet: Skriv objektiv. Fokuser på præsentationen af data, teori og forklaringer, frem for personlige meninger eller følelser.Undgå: Jeg mener../jeg føler../Jeg synes..  
6Sikkerhed: Konklusioner og vurderinger fra nye data bliver ofte udtrykt uden fuld sikkerhed. Det er fordi vores forståelse kun er baseret på de undersøgelser og data, som vi har lige nu.Resultaterne tyder på.. Det er tegn på.. Resultaterne antyder.. Resultaterne indikerer..
Udgivet i Biologi, Bioteknologi, Kemi, Skriftlighed | Kommentarer lukket til Sprog i naturvidenskab

Prompte ChatGPT med Google Sheets

På 2023 sommerskolen på Bork Havn Efterskole, brugt jeg det meste af tiden på at prompte ChatGPT. Selv om chatbotter bliver nemmere at prompte og kan begynde at gætte på, hvad det er brugeren ønsker, giver en chatbot mest værdi, når man prompter den med konkrete og specifikke oplysninger.

Inspireret af et indlæg i FB-gruppen “ChatGPT for Teachers” af Jason Coale, fik jeg lavet et Google Sheets (regneark), som kan generere en fyldig prompt ud fra indtastede værdier. Det kan f.eks. anvendes til at give eleverne feedback på skriftlige arbejde:

  1. Jeg vurderer elevens skriftlige aflevering med score mellem 0 og 4 i nogle kategorier. F.eks:
Afbildning af data
Typen af diagram er velegnet2
Der er titel på diagrammet og titel samt enheder på akserne0
Skrevet en kommentar til diagrammer3
Argumenter for at data-punkter følger en matematisk model3

2. Hver score-værdi er forbundet med en række stikord:

0mangler i besvarelsen.
1ikke godkendt, utilstrækkeligt.
2mangelfuldt, plads til forbedring.
3fint, godt, tilstrækkeligt, nogen grad af forståelse.
4meget godt, godt arbejde, høj grad af forståelse.

3. Jeg har programmeret Google Sheets til at generere en prompt, som er sammensat af faste vendinger, forklaringer af scorerne i 0 til 4-skalaen og af de scorer, som jeg har givet eleven. En del af programmet ser ud som:

function generatePrompt() {
   var report = 'Skriv på dansk. Skriv et respons til en biologi opgave på højest 150 ord fra en lærer til en elev på gymnasieniveau. Begynd med "Hej ' + studentName + '". Skriv klart og med få tillægsord. Lad være med at skrive "Kære" og "Med venlig hilsen". Vær opmærksom på følgende scorer: '
  for (var i = 0; i < 5; i++) {
    report += i;
    report += ' = ';
    report += sheet.getRange('E' + (74+i)).getValue();
    report += ' ';
  }
  
 report += 'Vær opmærksom på at score 3 og 4 er gode og tilstrækkelige. Lad være med at vise eller nævne score værdier. Varier sproget. Lad være med at liste kategorierne i rækkefølge. Undgå generelle vendinger.'


  for (var i = 0; i < categories.length; i++) {
    for (var j = subcategoriesStartRow[i]; j <= subcategoriesEndRow[i]; j++) {
      var subcategory = sheet.getRange('C' + j).getValue();
      var rating = '';
      if (sheet.getRange('J' + j).getValue() === false) {
       rating = sheet.getRange('K' + j).getValue();
       report += ' I kategorien ' + categories[i] + subcategory + ', har eleven scoret ' + rating + '.';
      }
    }
  }
  return report;

4. Programmet genererer en prompt. Som det ses nedenfor er denne ret lang, og indeholder bl.a. mine vurderinger af elevens arbejde. Det vil tage en del tid at sætte sådan en prompt sammen for hver elev, hvis jeg ikke havde programmet. Prompten:

Skriv på dansk. Skriv et respons til en biologi opgave på højest 150 ord fra en lærer til en elev på gymnasieniveau. Begynd med “Hej Søren”. Skriv klart og med få tillægsord. Lad være med at skrive “Kære” og “Med venlig hilsen”. Vær opmærksom på følgende scorer: 0 = mangler i besvarelsen. 1 = ikke godkendt, utilstrækkeligt. 2 = mangelfuldt, plads til forbedring. 3 = fint, godt, tilstrækkeligt, nogen grad af forståelse. 4 = meget godt, godt arbejde, høj grad af forståelse. Vær opmærksom på at score 3 og 4 er gode og tilstrækkelige. Lad være med at vise eller nævne score værdier. Varier sproget. Lad være med at liste kategorierne i rækkefølge. Undgå generelle vendinger. I kategorien Afbildning af data: Typen af diagram er velegnet, har eleven scoret 2. I kategorien Afbildning af data: Der er titel på diagrammet og titel samt enheder på akserne, har eleven scoret 0. I kategorien Afbildning af data: Skrevet en kommentar til diagrammer, har eleven scoret 3. I kategorien Afbildning af data: Argumenter for at data-punkter følger en matematisk model , har eleven scoret 3.

5. Prompten gives til chatbot fx ChatGPT. Resultatet bliver et sammenskrevet feedback til eleven og kan blive som følger:

Hej Søren,

Godt arbejde med at anvende velegnede diagramtyper. Dog er det vigtigt at inkludere titel på diagrammet og enheder på akserne næste gang. Din kommentar til diagrammerne viser forståelse. Flot argumentation for, at data-punkter følger en matematisk model.

Når du præsenterer beregninger, sørg for at inkludere forklarende tekst og brug enheder på alle tal. Konklusionen på dine beregninger viser forståelse, og du har fint afrundet resultatet med hensyntagen til betydende cifre.

Godt arbejde med opgaven, Søren! Fortsæt den gode indsats.

Mvh,
Læreren

Nogle gange skriver ChatGPT de tal ind, som jeg har vurderet eleven til, selv om jeg udtrykkeligt har bedt ChatGPT om IKKE at skrive tal i svaret. Tal kunne evt. undgås mere konsekvent ved at bruge en bogstav-skala (E til A) i stedet for tal.

Eksemplet viser metoden i at have en masse præfabrikerede stikord og sætninger, som kan udvælges fra en tabel og skrives sammen til en mere præcis prompt: Chatbotten omskriver mine talvurderinger til almindeligt sprog, som eleven måske bedre forstår.

Flere spørgsmål melder sig:

  • Hvad får eleven ud af den feedback, som ChatGPT har skrevet? Får eleven samme, mere eller mindre ud af ChatGPT-feedbacken sammenlignet med den feedback jeg selv ville have skrevet?
  • Feedback’en er mest summativ og forklarer ikke eleven så klart, hvad vedkommende skal gøre for at forbedre sin præstation -kan forslag til forbedringer eller links tilføjes ud for hver kategori og integreres i feedbacken?
  • Kan der integreres fokuspunkter og progression i metoden?
  • Sparer jeg tid ved at lade ChatGPT skrive feedbacken, eller bruger jeg lige så meget (eller mere) tid ved at nedskrive mine tal-vurderinger, generere prompten, få svaret, læse det igennem og kopiere svaret til eleven?

Selv om metoden måske ikke er velegnet til elev-feedback, kan den måske bruges til andre formål. På sigt kan en chatbot måske læse elevens besvarelse og give vurderingerne i tal, som derefter kan omskrives til en sammenhængende feedback.

Udgivet i Maskinlæring, Programmering, Skriftlighed | Kommentarer lukket til Prompte ChatGPT med Google Sheets

Skoleåret 2022-23 og fremtiden..

Året der gik:

Jeg synes, at jeg har succes med at uddele kladdehæfter, og i højere grad lade eleverne tegne og skrive noter i hånden. Det startede i et forløb i en biologi c klasse og er udvidet til en bioA studieretningsklasse i en måneds tid. Det har krævet, at jeg selv øver mig i, hvad jeg vil skrive på tavlen, for eleverne kopierer det ned i deres hæfte. Husk at lave tid til, at eleverne selv kan skrive delkonklusioner, som samler op på en sekvens.

I informatik har jeg lært, at størrelsen af det system, som eleverne udvikler til eksamen, også indgår i vurderingen af deres præstation.

biologi C: Forløbet om sex og kønshormoner skal skæres til, så det kan gøres kort og præcist.

Tor har besluttet at rejse til Grønland 😛

Året der kommer:

Året forsætter med at bruge artefakter til at styrke det neurale aftryk og dermed støtte hukommelsen. Få begreber. Flere tests.

HF: “Salt i havvand” frem for “Adskille salt og sand”. Adskille sand og salt er alt for kompliceret, mens at inddampe vand og veje det tilbageværende salt, vil fungere bedre. Jeg vil nok ikke gentage forsøget med at fremstille biogas, men måske satse mere på CO2-fang.

Videoafleveringer i HF frem for skriftlige afleveringer er værd at afprøve. Det vil kræve en del teknisk support.

Informatik: Jeg ved ikke, om jeg vil gentage forløbet om escape room, da det ikke siger eleverne ret meget. Måske skal de se rummet, som noget af det første, for at give dem noget inspiration. Dertil skal forløbet om kunstig intelligens gøres mere præcist.

Biologi A: Hvordan skal jeg inddrage chatbot i undervisningen? Jeg kan ikke ignorere det, men skal være tydelig i at vise eleverne, hvorfor det er vigtigt at udarbejde egne produkter. F.eks. i en aktivitet med chatbot assisteret forsøgsdesign eller chatbot genereret repons på deres opgaver.

Det bliver spændende at se hvordan eleverne tager imod moduler uden mobiltelefoner.

Udgivet i Biologi, HF, Informatik, Kemi, Skriftlighed | Kommentarer lukket til Skoleåret 2022-23 og fremtiden..

Algoritmer og data-strukturer

I efteråret 2022 har jeg fulgt og bestået kursus i Algoritmer og datastrukturer ved AU. Hvad har jeg lært?

Algoritmer er et forskningsfelt inden for datalogien, hvor man optimerer for tids- og pladsforbrug. En effektiv algoritme er mere besparende end en hurtig computer.

Nogle af de effektive algoritmer kører rekursivt dvs. kalder sig selv med et nyt argument. Rekursive algoritmer benytter en kalde-stak, hvor det sidste, som er lagt på stakken, også afvikles først (LIFO=last in, first out). Kommandoer som står før det rekursive kald, afvikles mens kaldestakken fyldes. Kommandoer som står efter det rekursive kald, afvikles mens kaldestakken tømmes.

Alternativt til en stak, bruges nogle gange en , hvor de sidste som er lagt i køen også afvikles sidst (FIFO = first in, first out). Køen kan udvides til en prioritets-kø, hver elementerne hele tiden skal sorteres efter værdi, så elementet med mindst værdi (minPQ) ligger først i køen.

De fleste event-drevne systemer som f.eks. Micro:bit og MakeCode Arcade bruger en prioritetskø til at afvikle funktioner. Når systemet registrerer en ny event, bliver den tilføjet bagest i køen, og tidligere tilføjede funktioner skal være færdige, før en ny kan afvikles. Der er undtagelser: Forever-funktionen får altid laveste prioritet og den indbyggede Pause-funktion sætter afviklingen af en funktion på pause og lægger den i en stak til pausen er slut. Dette program kan demonstrere det.

Der er mange sorterings-algoritmer, som hver har deres fordele og ulemper (fx selection sort, insertion sort, mergesort, quicksort, heapsort).

Der er mange søge-algoritmer (fx binær søgning, binære søgetræer). Binære søgetræer skal helst være balancerede (samme dybde til alle blade dvs. fra top til bund), hvilket kan opnås med rød-sorte binære søgetræer.

Grafer er samlinger af knuder forbundet af kanter. Om to knuder er forbundet, kan afgøres efter dybde-først-søgning. Korteste vej (sti) mellem to knuder kan kortlægges i en vægtet orienteret graf med Dijkstras algoritme eller i en uorienteret graf med bredde-først søgning (korteste antal kanter).

Den model af et biologisk neuralt netværk, som jeg har skrevet i JavaScript, kunne gemmes som en rettet vægtet graf, dvs. knuden er cellens soma, og linket (kanten) til en anden nervecelle er aksonet, som kan sende signal i een retning (deraf rettet graf). Aksonet kan være vægtet med en værdi, som repræsenterer synapsens følsomhed.

En rettet vægtet graf er ofte gemt i en datastruktur, hvor knuderne gemt i et array (adjacency list), hvor hvert element i arrayet indeholder en hægtet liste (linked list) af naboknuder, som knuden har en kant hen til jvf. kantens retning. Naboknuderne er gemt som objekter med værdier fx type, vægt m.v., og med en pointer til næste naboknude. Dvs. for index 2, kan man iterere over knude 2’s naboknuder ved at følge pointeren ned gennem den hægtede liste.

Et virkelig spændende kursus, og et helt nyt felt, som har åbnet sig på klem for mig, men nok ikke noget jeg kommer til at forfølge i større grad.

Udgivet i Computational thinking, Informatik, Programmering | Kommentarer lukket til Algoritmer og data-strukturer

Skrive en fagtekst

Jeg har læst bogen “Den digitale læsers hjerne” af Kresten Bjerg (Hans Reitzels forlag 3. udgave 2022), som handler om at skrive fagtekster til ikke-fagfæller. Jeg vil ridse de vigtigste pointer op, så jeg måske husker dem senere.

Bogen bygger på mekanismer, som er udledt af forsøg og overvejelser inden for neurovidenskab og psykologi. Mange af mekanismerne forklares ud fra evolutionsteorien. Tesen er, at vi er udviklet til at begrænse det kognitive arbejde, hvilket giver energi til andre formål (fx fouragering) og dermed øger den reproduktive succes.

Vi nedsætter det kognitive arbejde gennem flere mekanismer: Ved at rette vores opmærksomhed mod det genkendelige og ved at genbruge så mange mentale modeller som muligt. Fx husker vi ved hjælp af metaforer og i generelle kategorier, som indgår i associationer eller i fortællinger. Som forfatter kan man hjælpe læseren ved at skrive tekst, der lægger op til at bruge nogle af de nævnte mekanismer.

Ifølge forfatteren er de fleste vant til at læse på en mobilskærm, hvorfor læseren typisk bruger 2-3 sekunder på at læse de første linjer i hvert afsnit og vurdere om det er værd at læse videre. Læseren hopper hurtigere ud ad teksten og er derfor ofte på udkig efter nye steder at hoppe ind i teksten igen. Man kan diskutere om det er en adfærd, som forfattere til undervisningsmateriale skal forsøge at tilpasse sig eller forsøge at bryde med?

Personer med længere uddannelse er villige til at vente på en pointe, mens personer med kortere uddannelse har mindre faglig tålmodighed og skal derfor have pointen serveret tidligere.

Hvert afsnit i en tekst skal omhandle et og kun et emne. Afsnittet skal have en overskrift, som enten er en kategori, der hjælper læseren med at kategorisere ny viden, eller er en forklarende overskrift. Hjælp læseren med at organisere sin viden ved hjælp af kategorier og deres sammenhæng fx i tid (før, nu og efter), modsætninger (lys vs. mørk), placering (over og under).

Et afsnit indledes med en emnesætning, der formulerer emnet kort og overordnet. Det skal helst fortælle læseren, hvad der kan forventes at komme i afsnittet inklusiv evt. konklusioner på undersøgelser og lignende. Konklusioner skal ikke gemmes til slutningen. Afsnittet skal så vidt muligt tage udgangspunkt i noget let og kendt (eller genkendeligt) før det nye eller komplekse.

Derefter kan der komme længere uddybende sætninger med detaljer. Brug forbindere til at kæde sætningerne sammen fx “Det skyldes..”. Til slut evt. en kort opsamlende sætning.

I den enkelte sætning bør grundled være en central aktør og udsagnsled en central handling, da det nemmere tillader læseren at danne en fortælling. Grundled og udsagnsled bør være korte og stå tæt på hinanden. Undgå passiv former, hvor den der agerer er skjult fx “Der gives..”.

Brug navneord frem for stedord, fx undgå det, denne o.l. og brug samme ord for et fænomen frem for at skifte mellem forskellige ord for samme fænomen.

I forklaringer skal let før svært, overordnet før specifikt og kendt før ukendt. Forklaringen bør begynde med et emnefelt, som indeholder noget kendt eller noget som lige er blevet forklaret. Sæt det ukendte ind i den kendte kontekst. Derefter kan komme en forklaring, og forklaringen kan slutte med et fokusfelt, der indeholder et nyt begreb eller specifikke detaljer. Sæt altid et nyt begreb foran et punktum fx “, det kaldes entropi.”, og følg op med uddybende forklaring eller detaljer.

Det kan være en god ide, at bruge metaforer til at forklare begreber. Metaforer kan gøre det komplekse mere simpelt og gøre det abstrakte mere konkret, så det bliver nemmere for læseren at skabe en fortælling.

I øvrigt er det en god ide at tælle for læseren fx “Der er tre grunde til.. for det første..”. Ved punktopstillinger med lange tekster, bør hvert punkt indledes med et emneord.

Alt i alt finder jeg bogen velskrevet og anvendelig. 260 sider er for meget -jeg godt nøjes med 100 sider mindre.

Udgivet i Biologi, Bioteknologi, Informatik, Kemi, Skriftlighed | Kommentarer lukket til Skrive en fagtekst