coding

Bee-bot programmering i barnehage

DaVinci barnehage

Bee-bot er en robot som kan bli programmert. Bee-bot er basert på programmeringsspråket LOGO. Vi har skrevet om Bee-bot programmering tidligere. Nå har vi jobbet med barn i barnehage i 4-5 alderen og skriver litt om våre erfaringer.

Bee-bot blir vanligvis brukt på ‘matter’. Vi designet en matte av et landskap som er tilpasset barn i Norge i bygda og på landet. Formålet var at vi ville bruke bilder de vil lett gjenkjenne.  Vi ville designe en aktivitet hvor det er lett å komme i gang (lav terskel), uten symboler av tall eller bokstaver, som krever kunnskaper ikke alle har utviklet i samme grad. Dermed er utfordringen i utgangspunkt like for alle og fokuset er på å programmere Bee-bot, noen ingen har gjort før. Landskapet har skog med ved, beite, åker, et hus, en låven, et vann med fisk.

Landskapet virket veldig motiverende og barna begynte med en gang å snakke om hva de så på landskapet. Barne kom umiddelbart i gang med å sette ord på hvordan Bee-bot skulle gå. For eksempel:
«Vi henter ved og da må vi over brua.»
«Nå skal vi tilbake til låven.»
«Bee-bot skal fiske og vi må først til båten.»

Etterhvert bygget vi en låven hvor Bee-bot kunne gå inn og rygge ut (bilde 2).

Vi forklarte kun at Bee-bot er en robot som kan programmeres, men ikke hvordan det blir gjort. Gjennom samtalen og forsøk oppdaget barna hvordan de måtte bruke knappene for at Bee-bot beveger seg mot målet de stilte sjøl. Barna begynte å telle stegene helt på eget initiativ. Et barn kunne ikke telle videre enn fem, men etter noen minutter telte hun også fram til seks. De viste først hvor de ville at Bee-bot skulle gå og deretter programmerte de ham.

I løpet av uka ble en annen matte brukt med tall. Barna kunne velge selv om de ville bruke de symbolene for tall eller bilder som viser antall. Noen koblet de to sammen.

Innspill fra barna da vi spurte hva vi kunne legge til på landskapet: blomster i hagen, høyballer på jordene og en gård (hus).
Innspill fra barnehagestyrer: Matte med tall kunne bli endret slik at symbolene har hvit bakgrunn og bildene er mer fargerike.

Se på opplegget for Bee-bot programmering i barnehage.

Flere aktiviteter i DaVinci Vitenskap og Teknologi i barnehage

Hvor stor er panteren?

Kikkeboks og syns-linjer

Elektrisitet 

SCRATCH

scratch-logo

DiScoro skriver hver måned om ressurser som kan brukes i undervisning.
Vennligst ta kontakt for kurs, workshop, rådgivning, annen tjenester og mer inspirasjon.

SCRATCH er siste programmeringsspråk for barn vi vil skrive om. Scratch er et visuelt og objektorientert programmeringsspråk. Språket har blitt utviklet av MIT. Scratch fungerer ved å bruke byggeklosser i stedet for kode i form av tekst som bør skrives. Dette reduserer syntaksfeil . Byggesteinene passer inn i hverandre som LEGO-klosser. Scratch er godt egnet til å lage animasjoner og spill.

Aktører i Scratch, eller objekter, kalles Sprites. En Sprite kan ha flere scripts. Nedenfor ser du et screencast av et program for to dansende Sprites. På høyre siden ser du selve koden. Faktumet at du må skrive den samme dancingkoden to ganger, nemlig for begge Sprites, betyr at programmet er ikke fullstendig objektorientert.
Det finnes en stor Scratch community og etter du har opprettet en konto er det lett å dele programmer. Scratch programmet og interface kan stilles inn på nesten hvert språk du ønsker.

scatch-program

Michal Armoni og Moti Ben-Ari, forskere i Israel, bemerket at elevene ikke plukket opp informatikkbegreper mens de jobbet med Scratch. Forskerne utviklet ei lærebok for å fremheve at informatikkbegrepene blir lært under programmeringen. Resultatet er ei 30 siders lærebok med leksjoner, rettet mot elever på 9. og 10. trinn. Boka er tydelig men krever mye lesing. Kanskje kunne du som lærer bruke læreboka for å plukke opp ideer hvordan en kan fremheve informatikkbegrepene ved bruk av oppgaver, spørsmål, refleksjon og instruksjon, istedenfor at den blir brukt av elevene.

Se på læreboka Computer Science Concepts in Scratch,  basert på Scratch 1.4 !

Note:
SCRATCH er et objektorientert programmeringsspråk.
LOGO (Turtle Academy) er et funksjonelt programmeringsspråk
Java Script (Code Monster) is a scripting language and more a functional than an

Programmering på skolen?

DiScoro skriver hver måned om ressurser som kan brukes i undervisning.
Vennligst se på menyen for kurs, workshop, annen tjenester og mer inspirasjon.

En kan diskutere om verdien av å lære programmering (eller coding) på grunnskolen. Det finnes mange andre måter til å utvikle kunnskaper som fremhever logisk tenkning, systematisk tenkning, kreativitet og problemløsning.  «Steve Jobs would NOT introduce the iPad to his kids.« Men han hevder at alle mennesker skulle lære programmering i minst et år for eks. på videregående skole. «Learning to program teaches you to think.» (Steve Jobs). Han sendte barna sine til en grunnskolen hvor de ikke ble undervist i programmering. Han mente at gode grunnleggende ferdigheter i andre fag er mye viktiger på denne alder.

Les også Digital Dementia (Manfred Spitzer) for å ta en informert beslutning om du vil introdusere programmering til barn.  Han hevder at barna trenger først og fremst sosiale og fysieke aktiviteter i den virkelige verden. Mange som anbefaler programmering av barn er tilknyttet IKT industrien eller påvirket av den. Allikevel er programmering en produktivt aktivitet og mye mer kreativt og lærerikt enn bruk av sosiale media eller de fleste dataspill.

Vi tar opp emnet og skriver om hvilke programmer kan brukes når en introduserer programmering/coding til barn.

Bee-Bot

beebot_blinking_leftBee-Bot, yngste barn (5-7 år)

 

 

turtle-logoLOGO (7-10 år), Turtle Academy

 

 

code-monsterCode Monster (10-15 år)

 

 

 

SCRATCH (11-15 år)

 

LOGO

turtle-logoTurtle Academy bruker LOGO som programmeringsspåk. Det finnes mange dialekter av LOGO språket. Turtle Academy kan brukes i programmering med barn i alderen 7-12. Turtle Academy tilbyr 20 leksjoner som barn kan jobbe med for seg selv eller helst i par.

Turtle Academy (LOGO) bruker enkle kommandoer som brukeren må skrive ned for at skilpadden beveger seg på skjermen. Barna lærer at de må skrive nøyaktig. Elevene lærer til å interpretere tilbakemeldinger som tyder på at noe er feil i koden eller i kommandoen, men de må oppdage sjøl hva som er ikke helt riktig og bør endres.
Det er viktig at du som lærer oppmuntrer elevene til å forutsi hvordan Turtle vil bevege seg med en visst kommando, eller spør hvilke kommando(er) trengs slik at Turtle vil bevege seg på en visst måte.

LOGO egner seg godt til grafiske oppgaver. Allikevel, man kan også lage et program som spør etter input fra brukeren og gir en beregning tilbake. For eks. «Hvilken gangetabell vil du se?». Programmet skriver den gangetabellen med resultatene på skjermen. Slike programmer gir elevene godt innsikt hva et program og en datamaskin (også) kan: beregne super raskt med store tall.

Når en jobber med Turtle Academy Lessons skriver du kun én kommandolinje om gangen. Lag din egen account slik at du kan:

  • bruke opsjonen Playground
  • lage programmene dine
  • skrive og se flere kommandolinjer i et program (se på bildet).

logo-screendump2

Pair programming

pair-programmingPair programming, programmering i par, er en del av eXtreme programming. Praksisen er i bruk ved de største IKT bedrifter i verden (MicroSoft, IBM). Pair programming betyr at to programmører sitter bak én datamaskin og jobber sammen. En skriver koden og den andre vurderer og gjennomgår arbeidet. De ofte bytter rolle. Resultatet er at koden blir mye bedre, koden inneholder færre feil, og hele utviklingsprosessen blir mer effektivt.

Ulike kilder og forskning,  både i industrien og i klasserommet, tyder på at både voksne programmører og elever viser høyere selvtillit når de programmerer i par,  og mange lærer enten fra tips om programmeringsspråkregler eller til generelle design ferdigheter. Jenter viser større interesse og økt selvtillit i programmering når de jobber i par.

pairs-working-ipad2

Så barn (som voksne mennesker) lærer mye mer når de jobber i par på én datamaskin. Det gjelder programmering men også bruk av andre programmer på en datamaskin som ber om problemløsningsferdigheter. Grunnen er ikke bare at to ser og vet mer en en, men samarbeid krever (verbal) kommunikasjon, noe som er avgjørende for læring og forståelse.

Problemløsningsferdigheter som egner seg til samarbeid i par med én datamaskin finner du for eksempel på:

Artikler/forskning på Pair Programming:

A. Cockburn, L.Williams. (2001). The Costs and Benefits of Pair Programming.

Williams, L. et all. (2002). In Support of Pair Programming in the Introductory Computer Science Course. Computer Science Education, Vol. 12, Issue 3.

“Student pairs are more self-sufficient which reduces their reliance on the teaching staff. Qualitatively, paired students demonstrate higher order thinking skills than students who work alone.”

Liebenberg, J. , Mentz, E. & Breed, B. (2013). Pair programming and secondary school girls’ enjoyment of programming and the subject Information Technology.https://discoro2.wordpress.com/2017/02/12/bee-bot-programmering-for-barn/ Computer Science Education. Vol. 22, Issue 3.

“Girls’ motivation for (programming and) computer science was much higher when they were allowed to work in pair. Girls’ confidence in the subject was higher in the pair programming classes.”

“A critical mass of girls is required to make girls enjoy and choose computer science and careers. Pair programming is an important means to reach that goal.”

Pair programmering i praksis? Les mer på bloggene …