Udarbejdet af CFU Absalon

Relaterede dokumenter
Kom igang med Scroll:bit

Skab Din Egen Verden

ChatBot. Introduktion. Scratch. Nu skal du lære hvordan du programmerer din egen talende robot! Arbejdsliste. Test dit Projekt.

Hukommelsesspil. Introduktion. Scratch

I gang med dit Gamer: bit Arkade Kit Denne guide er oversat og en smule forenklet fra Sparkfuns Hook-Up guide

Teknologiforståelse. Måloversigt

Ghostbusters. Introduktion. Scratch. Du skal lave et fangelegsspil med spøgelser! Arbejdsliste. Test dit Projekt. Gem dit Projekt

Bekrig Klonerne. Introduktion. Scratch. I dette projekt skal du lære, hvordan du laver et spil, hvor du skal redde Jorden fra monstre i rummet.

Sproget Rascal (v. 2)

TEKNOLOGIFORSTÅELSE SOM FAG - MELLEMTRIN 4. KLASSE

Kapitel 3 Betinget logik i C#

Hjernetræning. Introduktion. Scratch

Pædagogisk konsulent v/cfu, Center for Skole & Læring, UCSJ for områderne: Digitalisering, programmering & robotteknologi

Elevark 6: Prøv at kode en produktionsproces

Matematik, sprog, kreativitet og programmering. Lærervejledning. Stefan Mandal Winther VIA Center for Undervisningsmidler

Fang Prikkerne. Introduktion. Scratch

Undervisningsbeskrivelse

ALGORITMER OG DATA SOM BAGGRUND FOR FORUDSIGELSER 8. KLASSE. Udfordring

Høvdingebold. Introduktion. Scratch

Jan B. Larsen HTX Næstved Computational Thinking Albena Nielsen N. Zahles Gymnasium 2018/2019

DM507 Algoritmer og datastrukturer

Sproget Six. Til brug i rapportopgaven på kurset Oversættere. Vinter Abstract

Scratchdag 16. maj Lær at programmere med scratch

Undervisningsbeskrivelse

Kom godt i gang med kodning resumé

TEKNOLOGIFORSTÅELSE SOM FAG - MELLEMTRIN 4. KLASSE. Blindecenter bruger Beacons. Blok 4

DM507 Algoritmer og datastrukturer

Læseplan for valgfaget teknologiforståelse. (forsøg)

Kapitel 4 Løkker i C#

DM507 Algoritmer og datastrukturer

Rumfart. Introduktion. Scratch. Nu skal du lære hvordan du programmerer din egen animation! Arbejdsliste. Test dit Projekt.

Titel. Data om læremidlet:

DM507 Algoritmer og datastrukturer

Scratch. - introduktionshæfte

Programmering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen

TEKNOLOGIFORSTÅELSE SOM FAG - MELLEMTRIN 4. KLASSE. Interaktion med bevægelse. Blok 7

Læseplan for valgfaget teknologiforståelse

#AlleKanKode. Lektion 3 - Operatorer

Tegnekasse. Introduktion. Scratch. I dette projekt skal du lave dit eget tegneprogram! Arbejdsliste. Test dit Projekt.

Software Dokumentation

Undervisningsbeskrivelse

Mircobit Kursus Lektion 3 (Du skal her vælge Lets Code Og nederst Microsoft Block Editor.)

Undervisningsbeskrivelse

Efter installation af GEM Drive Studio software fra Delta s CD-rom, skal hoved skærmbilledet se således ud: (koden til administrator adgang er: admin)

NetLogo-simuleringen. Simuleringer og fysiske modeller (henfaldsloven)

Derfor inviterer vi jer til at indgå i undervisningsforløbet ultra:bit Åben Skole og inviterer jer inden for hos en række virksomheder.

En liste, hvor der kun kan angives et svar. En dropdown menu, hvori kun et svar kan vælges

Maria Damlund, Hornbæk skole

Implikationer og Negationer

NATUR/TEKNOLOGI 4. KLASSE. Fra blindebuk til kodede beskeder med micro:bit

Årsplan for matematik på mellemtrinnet (Lærere: Ebba Frøslev og Esben O. Lauritsen)

SOFTWARE DOKUMENTATION

Teknologiforståelse og Digital Dannelse

Læseplan for Teknologi og innovation som dimension og fag i Rødovres skoler

Undervisningsbeskrivelse

Skriftlig Eksamen DM507 Algoritmer og Datastrukturer

Kreativ programmering

Sortering. De n tal i sorteret orden. Eksempel: Kommentarer:

Vejledning til forløb om regnestrategier med multiplikation og division

Forløb om undervisnings- differentiering. Elevark

Micro:Bit Indbygget sensorer og Monk Makes sensorbord

7 QNL 9DULDEOH 6DPPHQK QJ +27I\VLN. Trekanter & firkanter. Dåser. Angiv hvilke variable i Figur 2, der er sammenhæng mellem:

NATUR/TEKNOLOGI 4. KLASSE. Fra blindebuk til kodede beskeder med micro:bit

Programmering af Babysimulator

Afstande, skæringer og vinkler i rummet

3OMSTILLING. Manual til 3Omstilling Webklient for brugere V2.0

Programmering I Java/C#

TEKNOLOGIFORSTÅELSE EN NY FAGLIGHED I FOLKESKOLEN

Kort om baggrund for kurset, aktører, kodning.dk

Studiepraktik. Thomas Bøgholm Mikkel Hansen Jacob Elefsen

Morse med micro:bit. Morse med micro:bit

Bådsejlads. Introduktion. Scratch. Du skal lære hvordan du laver et spil, hvor man bruger musen til at styre en båd til en øde ø.

Afstande, skæringer og vinkler i rummet

5. OPSÆTNING DOKUMENTSKABELONER 5.1 TRIN

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

Mircobit Kursus Lektion 4 (Du skal her vælge Lets Code Og herefter Block Editor.)

Mircobit Kursus Lektion 1

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Programmering og geometri i scratch

Sproget Limba. Til brug i G1 og K1. Dat1E 2003

Abstrakte datatyper C#-version

Sortering af information er en fundamental og central opgave.

Undervisningsbeskrivelse

OPBYGNING AF INSTRUMENTER. Online Designeren Record ID Felttyper Validering og variabelnavne

Introduktion til undervisning i innovation og iværksættermesse

Undervisningsbeskrivelse

Sortering. Eksempel: De n tal i sorteret orden

Bemærk! Et PHP script har kun brug for at forbinde én gang til databaseserveren. Det kan så sagtens udføre flere kommandoer vha. denne forbindelse.

Rockband. Introduktion. Scratch. I dette projekt skal du lære, hvordan du kan kode dit eget musikinstrument! Arbejdsliste.

Undervisningsbeskrivelse

Kom godt i gang med Fable-robotten

I denne artikel vil du ved hjælp af arrays kunne afrunde et decimaltal til et helt tal.

Danmarks Tekniske Universitet

MDS koder. Oprette eller passivere landsdækkende koder for Undersøgelser

Computerspil - Kappa

Undervisnings plan til Programmering

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

Fortløbende summer NMCC Danmark Muldbjergskolen 8.P

DM507 Algoritmer og datastrukturer

Sammenlign og byt. Et eksempel på dokumentering af et program

Transkript:

Chatbots i Scratch Introduktion: En chatbot er et lille program, der kan chatte. De bruges mange steder på internettet, enten for at kunne hjælpe i nogle bestemte situationer eller for at underholde. De fleste chatter via tekst, men der findes også bots, som kan tale, fx Siri på iphones. Et forløb med chatbots giver mulighed for at arbejde med: Sprog og sproglige variationer Kunstig intelligens Computational tankegang og teknologisk handleevne Udtryk et program før kodning Du kan med fordel bede eleverne om at starte med at udtrykke deres idé som et flowchart eller i pseudokode, inden de går i gang med selve kodningen. Pseudokode En måde at udtrykke et program på, før det er kodet, er gennem pseudokode. Pseudokode betyder, at man først opdeler sin idé i delelementer - hvad skal programmet gøre trin for trin - og derefter beskriver man hvert trin i naturligt sprog. En pseudokode for et simpelt additionsprogram kunne se således ud: Bed om første tal Bed om andet tal Resultat = første tal + andet tal Vis resultat Fordelen ved at arbejde med pseudokode er, at det træner eleverne i computationel tankegang, da de både anvender dekomposition, abstraktion og algoritmisk tænkning, samtidig med at de får en forståelse for logikken i programmet og får udarbejdet en systematisk fremgangsmåde, før de går i gang med selve kodningen. Desuden får de gennemtænkt deres chatstruktur og får konkretiseret de sproglige elementer, som skal indgå. Flowcharts Flowcharts er en bestemt måde at udtrykke et programs logik på gennem faste symboler. De mest almindelige er: 1

De forskellige symboler bindes sammen af procespile, som angiver flow'et i programmet, altså hvilken rækkefølge, de afvikles i. Det er klart nemmest at lave flowcharts digitalt. Brug fx programmet https://www.draw.io/ Fordelen ved at arbejde med flowcharts er, at det lige som pseudokode træner eleverne i computationel tankegang og hjælper dem til at gennemtænke deres chatstruktur og konkretisere de sproglige elementer, der skal indgå. Se evt. denne lille demonstration: https://youtu.be/tdqdde60aiu Særlige datastrukturer For at kunne arbejde med chatbots, skal eleverne vide noget om forskellige måder at lagre og manipulere med data på. For en simpel chatbot er data primært tekstbidder, som den skal kunne læse og anvende. I eksemplerne på de næste sider bruges både variable og lister. Lidt om variable: En variabel er en symbolsk repræsentation for en mængde eller et udtryk, det kan fx være alder eller navn. Når man opretter en variabel, angiver man variablens navn og normalt også type (heltal, decimaltal, tekst, billede, m.fl) samt værdi. I Scratch er det nok at navngive variablen - programmet finder selv ud af resten. Når variablen har fået en bestemt værdi, kaldes den enten et aktuelt parameter eller et argument. I Scratch er dette dog også uden betydning - her bruges bare ordet Variabel. 2

Lidt om lister: I forbindelse med data taler man også om lister og arrays. Begge dele er måder at organisere flere dataforekomster på, fx forskellige typer af frugt, som er tilfældet i det andet eksempel nedenfor. En liste organiserer dataforekomster som en fortløbende række, mens et array organiserer data som en slags tabel. Hvis man sammenligner med alfabetet, vil en liste organisere dette kronologisk, altså a, b, c, d, e,..., mens et array giver hvert bogstav en bestemt plads med et nummer, fx b=0, e=1, c=2, a=3, d=4. man kan så "skrive" alfabetet ved at bede om 3, 0, 2, 4, 1. Man kan sammenligne lister med bibliotekets måde at organisere boghylderne på, og arrays med en købmandsdisk, hvor det er ligemeget, hvad man putter i hvilken skuffe, så længe man kender placeringen ( indhold + skuffenummer ). I Scratch bruges der kun lister, men hvis du fx anvender MakeCode i forbindelse med micro:bits, kan du se, at du her har mulighed for at lave arrays også. På de følgende sider kan du se en gennemgang af tre små chatbot-programmer i Scratch og finde idéer til, hvordan du kan arbejde med dette i din undervisning. 3

Chatbot 1: Spørgsmål/svar Find og afprøv programmet her: https://scratch.mit.edu/projects/271137425/ Forklaring: Dette lille chatprogram bygger på spørgsmål og svar og benytter en hvis/ellers konstruktion. Først beder spriten om brugerens navn, Derefter tilkobles teksten Hello til det navn, som brugeren har angivet, og spriten siger altså Hello + brugerens navn Spriten spørger nu, om navnet er typisk dansk. Hvis svaret er yes, svarer spriten med Oh I see, og er brugerens svar noget andet end yes, siger spriten I think it s a wonderful name. Til sidst gentages spørgsmål/svar strukturen fra starten med et nyt spørgsmål. 4

Gendan programmet De forskellige kodelinjer er lavet ved at bygge blokke sammen. Nedenfor er programmet skilt ad. Prøv at finde blokkene, der er brugt, og genskab programmet. Når du skal finde blokkene i panelet, så vær obs på, at de hvide felter har en standardtekst, som er ændret eller helt slettet i blokkene nedenfor. 5

Program udtrykt som flowchart: Når eleverne har afprøvet programmet og arbejdet med at gendanne det, kan du bede dem om at analysere koden og forsøge at omsætte den til et flowchart. Alternativt kan du vise dem eksemplet ovenfor. Bed dem derefter om at lave en eller flere modifikationer eller udvidelser: 1) som flowcharts 2) som kode Slut evt. med at lade eleverne afprøve hinandens små chatbots. 6

Chatbots 2: Brug af lister Find og afprøv programmet her: https://scratch.mit.edu/projects/277903685/ Lad eleverne prøve at udtrykke programmets logik, enten som flowchart eller pseudokode. Det kunne se således ud: Lad eleverne modificere programmet ved at udvide listen over frugt. Bed dem derefter om at oprette nye lister, fx over slik eller grøntsager og udvide koden, så chatbotten også spørger om et tilfældigt element på disse. Lad dem også gerne arbejde med, hvordan chatbotten kan nuancere sine udsagn, så det i højere grad ligner en samtale. 7

Chatbots 2: En variant I det første lille program bliver listerne anvendt til at skabe variation, da spriten vælger et tilfældigt element. Koden til dette er ikke så svær. Man kunne også forestille sig, at man gerne ville have spriten til at spørge om alle elementer på en liste en af gangen. Her er koden lidt mere kompliceret og kræver en god forståelse for, hvordan man kan arbejde med variable i programmering. Du kan se et eksempel her: https://scratch.mit.edu/projects/278451549/ For at lave programmet skal der både oprettes en variabel - aktuel frugt - og en liste - fruit - som indeholder de forskellige slags frugt. Det første, der sker, er, at variablen aktuel frugt sættes til 0. Derefter er der indsat en løkke, som skal køres lige så mange gange, som der er elementer på listen. Hvis der fx er fem forskellige slags frugt, vil løkken altså gentages fem gange. Fordi lister tildeler hvert listeelement et nummer, er det nu muligt at bruge matematik til at få programmet til at vælge hvert element i rækkefølge: Først bygges kodelinjen, der stiller spørgsmålet, således: 8

Først indsættes variablen aktuel frugt, som jo i starten af programmet blev sat til at være 0, i plus-operatoren, og der lægges 1 til. Variablen aktuel frugt er nu lig med 1. Denne blok indsættes i den mørk-orange blok, som angiver hvilket nummer af listen fruit, der skal bruges. Derefter indsættes denne blok på den sidste plads i den grønne operator, som tilkobler et ord/sætning med en anden. På den første plads formuleres første del af spørgsmålet. Til sidst indsættes det hele i den blå bed om - blok. Næste kodelinje sørger for, at variablen aktuel frugt bliver ændret med 1, dvs. den nu er lig med 2. Ved næste gennemløb af løkken vil den være lig med tre, osv, indtil løkken stopper, fordi der ikke er flere elementer på listen. 9

Chatbots 3: Lister Find og afprøv programmet her: https://scratch.mit.edu/projects/277911267/ Forklaring: Programmet starter med denne kode, som er placeret under baggrunden. Her spørges om navn og alder. Når brugeren har besvaret begge dele, sender programmet en besked, som aktiverer spritens kode. For at kunne gemme brugerens svar, er der oprettet to variable, nemlig Name og Age. Spritens kode benytter sig af lister til at autogenere et svar baseret på brugernes input. Der er en formel og en uformel liste over greetings. Afhængig af brugerens alder, vælger spriten en af de angivne muligheder på enten den formelle eller den uformelle liste: Her ses de to lister, som hver består af tre 10

forskellige greetings, som der vælges blandt. I programmet er listerne synlige for at demonstrere, at de er der, men man kan sagtens skjule dem, så brugeren ikke ser dem. Program for Chatbot 3 udtrykt som flowchart Programmet viser en meget simpel forgrening. Eleverne kan arbejde med at modificere programmet, enten ved at ændre i udsagnene og parametrene eller ved at tilføje nye spørgsmål og responsmuligheder på nye lister i hver af forgreningerne. 11