coding

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 …

Code Monster: programmering for barn

code-monsterCode Monster bruker JavaScript. Dette programmeringsspråket blir brukt av profesjonelle folk som driver med webdesign. Code Monster tilhører Crunchzilla og den tilbyr fire ulike veiledningsmiljøer for programmering. (Se på Code Maven for litt eldre aldersgruppe.) Code Monstre er egnet for bruk av barn i 10-15 alderen. Bruk av yngre barn er mulig men ofte resulterer i prøv og feil strategi istedenfor forståelse og begrepsmessig kunnskap. Code Monster gir 59 økt som introduserer et emne og bygger opp i vanskelighetsgrad og kompleksitet.

Barn (og voksne mennesker) lærer mye mer når de jobber i par på en datamaskin. Det gjelder ikke bare programmering. 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.

Bruk av Code Monster gjør at noen elever vil går videre til neste steg før de har engang prøvd å skrive koden selv. Oppmuntre elevene til å tenke og gjør et forsøk først. For å framheve tenkning før eksperimentering (feil og prøv strategi) kunne du som lærer/instruktør gi nye oppgaver en gang iblant som elevene bør skrive ned (på papir) først. Deretter blir ulike løsninger presentert og diskutert på smart tavlen. Resultatene kan bli sjekket i Code Monster.

codemonster-ex1

screenshot Lesson 30/59