Oplæg om Computationel Tankegang
Hvor stammer computational thinking fra?
Meget tidligt et begreb først nævnt i matematikundervisning�(compute = beregne)
Seymour Papert 1980, Konstruktionisme�Støtte og udvikle kognition
… my central focus is not on the machine but on the mind (…) C.T is the use of programming as an extension of our mind
Papert created Logo as ‘objects to think with’ and was interested in giving children cognitive artifacts that bridged the gap between the physical sensory world and the abstract inner world
… I shall be talking about how computers may affect the way people think and learn. I begin to characterize my perspektive by noting a destinction between two ways computers might enhance thinking and change patterns of access to knowledge
CT - Jeanette Wing
“CT is the thought processes involved in formulating problems and their solutions so that the solutions are represented in a form that can be effectively carried out by an informationprocessing agent” (Wing J. , 2011)
”The solutions can be carried out by a human or machine, or more generally, by combinations of humans and machines”
“It represents a universally applicable attitude and skill set everyone, not just computer scientists, would be eager to learn and use.”
Kernen i Computational thinking
CT indebærer:
(BBC Bitesize, 2017).
Computational thinking og didaktik
Spil LightBot: kortlink.dk/2ewct
Computational thinking og Computationel tankegang?
Same same?
Teknologiforståelse�- kompetenceområdet “Computationel tankegang”
HELT KORT
Eleverne skal lære at anvende, skabe, vurdere og visualisere data som afsæt for deres problemløsning.
Data kan f.eks. være:
Data kan lagres i f.eks. regneark og kan visualiseres som grafer og diagrammer. Video og lyd kan lagres som filer på en computer eller i skyen. De kan bearbejdes og visualiseres v.h.a. redigeringsværktøjer.
COMPUTATIONEL TANKEGANG
Mønstre: Se efter mønstre og tendenser i indsamlet data.
Algoritmer: Beskriv en trinvis og logisk procedure for behandling af et datasæt.
Dekomposition: Identificere flere problemstillinger i de indsamlede data
Abstraktion: Se bort fra irrelevante data, udvælge et blandt flere fokusområder.
Idé udvikling
HELT KORT
Eleverne skal lære at skabe egne algoritmer, analysere andres algoritmer og vurdere disse.
Skab algoritme:
Analyser en algoritme:
Vurder en algoritme:
COMPUTATIONEL TANKEGANG
Mønstre: Undersøg lignende scripts (algoritmer) for ligheder (mønstre) til udvikling af egne algoritmer.
Dekomposition: Skil et script ad i dets enkeltdele og test hver del (analyse).
Algoritmer: “trin-for-trin” tankegang, test efter hvert trin. Skab flowcharts (mindmaps) over en funktion/program.
Abstraktion: Fjern al overflødig kode og andre funktioner for at skabe et script, der udfører en bestemt funktion.
Algoritmisk tænkning�Unplugged
CS unplugged: �https://www.csunplugged.org
Code.org CS unplugged:�https://code.org/curriculum/unplugged
Code.org CS Curriculum:�https://code.org/educate/curriculum/csf
Harold the Robot
Terninge ræs https://curriculum.code.org/csf-1718/coursee/10/
Spil 3 gange.
Når I er færdige, skal I lave en algoritme (en række af trin), som en anden kunne bruge for at lære, hvordan man spiller “terningeræs”.
Gentag 3 gange | { | Trin 1: | ___________________________________________________ |
Trin 2: | ___________________________________________________ | ||
Trin 3: | ___________________________________________________ | ||
Trin 4: | ___________________________________________________ | ||
Trin 5: | ___________________________________________________ | ||
Trin 6: | ___________________________________________________ | ||
Trin 7: | ___________________________________________________ |
Skab en algoritme
Brug de “trin” du brugte, da du spillede spillet. Skriv dem ind i felterne til højre.
Udnyt “gentag loopet” for at undgå at skrive de samme instruktioner ned flere gange.
Sammenlign jeres algoritmer.
Terninge ræs
Pseudokode
LEVEL 1 - pseudokode
SPØRG “Hvor gammel er din hund?”
SÆT Alder til Svar*7
SIG “Din hun er “;Alder;” hundeår”
Pseudokode
Lav et gættespil hvor spilleren skal gætte, hvor mange gaver julemanden har i sin sæk!
Der er mellem 1-100 gaver. Man får at vide hvis man gætter for højt eller lavt - og selvfølgelig når man gætter rigtigt!
Pseudokode
variabler?
Spørg
Hvis - Så
Vælg et tilfældigt tal
større end
mindre end
sig
Udvidelser
LEVEL 2 - pseudokode
SÆT variablen Forsøg til 0
TØM listen Gæt
SÆT TilfældigtTal til tilfældigt tal mellem 1-100
GENTAG INDTIL Svar = TilfældigtTal
SPØRG “Hvilket tal gætter du på?”
SÆT variablen Svar til dit svar.
ÆNDR Forsøg med 1
HVIS Svar er i listen Gæt SÅ sig “Dumt gæt!!” ELLERS
TILFØJ Svar til listen Gæt
HVIS Svar > TilfældigtTal, SÅ sig “For højt!”
HVIS Svar < TilfældigtTal, SÅ sig “For lavt!”
SIG “Du gættede tallet i ”;Forsøg;“ forsøg”
RØD = Variabel/liste
ORANGE = Kommando
Pseudokode
Hvad nu hvis DU var julemanden og computeren skulle gætte?
Hvordan ville algoritmen så se ud?
HELT KORT
Eleverne skal lære at analysere og tilrettelægge effektive strukturer for processer og funktioner vha. computationelle begreber såsom: gentagelse, rækkefølge, forgrening, betingelse og logiske operatorer.
COMPUTATIONEL TANKEGANG
Algoritmer: Eleverne øver sig på at udvikle de mest effektive scripts, der udfører en given funktion. Eleverne strukturer og opmærker koden, så den er let at forstå for andre. De bruger flowcharts/mindmaps som redskab i udvikling af script.
Mønstre: Eleverne præsenteres for kodeeksempler og lærer herigennem at genkende og genanvende strukturer/mønstre i hvordan programmer struktureres effektivt.
Dekomposition: Eleverne skiller kode ad i dets enkeltdele for at undersøge og forstå den bagvedliggende struktur.
Abstraktion: Eleverne skaber “proof of concept”, og udvikler et script, hvor de viser, at en bestemt funktion “kan lade sig gøre” sådan her. De fjerner alt andet - f.eks. layout, brugerinterface, grafik og afledte funktioner. Scriptet gør kun denne ene specifikke ting og kan senere bygges ind i et større program (modulisering).
Beskrivelsen læner sig af didaktiske årsager, primært op af definitionen på “strukturering”, som beskrevet i ordlisten: https://emu.dk/grundskole/teknologiforstaaelse/ordliste
Flowchart�Procesdiagram
Flowdiagram/Rutediagram/procesdiagram
Flowdiagram/Rutediagram/procesdiagram
Start program
Gentag for altid
Vent 10 minutter
Hvis
temp >= 80 grader F
Så
Tænd AC�Ellers
Sluk AC
Pseudokode
Flowdiagram/Rutediagram/procesdiagram
FLOWCHART
I skal designe en password algoritme, der består af en pinkode på 4 cifre.
Hvad hvis…
Man bliver låst ude efter 3 forkerte gæt og brugeren får en underretning. Hvis det ikke er brugeren der har forsøgt at bryde ind, skal koden nulstilles.
Hvilke SIMPLE algoritmer kan fungere som øvebane for eleverne ift. strukturering af dataprocesser?
HELT KORT
Eleverne skal kunne anvende, justere, konstruere og analysere modeller, der repræsenterer udvalgte dele af virkeligheden. Modellerne kan være skabt af eleven selv eller af andre. Endvidere skal eleverne kunne vurdere begrænsninger i digitale modelleringer.
Hvad kan en modellering bestå af?
COMPUTATIONEL TANKEGANG
Mønstre: Sammenlign en model med modeller man allerede kender for at spotte ligheder og forskelle.
Dekomposition: Skil eller analyser modellen i dens enkeltdele, for at forstå hvordan hver del har betydning for resten.
Algoritmer: Kortlæg en models virkemåde trin-for-trin. Lav en opskrift på hvordan modellen virker.
Abstraktion: Skab en model af et afgrænset område af virkeligheden og fjern alle andre parametre og forhold.
Modeller udsnit af virkeligheden.
Hvilke modeller vil eleverne kunne: