Åpne data er viktige for demokratiet, og gjør at næringslivet kan lage nye tjenester basert på dem – og skape arbeidsplasser. Vi mener det er viktig å lære om, så vi publiserer våre egne!

Les mer

Vi ønsker gamle og nye frivillige velkommen til å planlegge vårens aktiviteter i Kodeklubben Vestby. Kan du noe du har lyst til å lære bort? Koding, web-design, geo caching eller noe helt annet? Vil du bruke to timer eller mange timer som frivillig? Vil du være frivillig i Vestby eller i Son? Du er uansett velkommen til planleggingsmøtet! Vi håper vi blir mange nok til å snekre sammen et godt tilbud til kidsa våre denne våren:-) Møtet er på Vestby bibliotek 14. januar kl. 17.30.

PragPub, tilgjengelig på http://theprosegarden.com/ er et interessant månedlig magasin om programmering (magasinet har sitt utspring fra Pragmatic Bookshelf) hvor man får mye fin innsikt i både historie, nye trender og språk innen programmering osv. I år har de også hatt litt fokus på barn og programmering, og de har samlet flere artikler om å lære barn å programmere i et gratis Special Issue. Dette kan du laste ned som pdf, epub eller mobi fra forsiden (se boksen What’s In It?)

Happy reading! (og kanskje de vil være interessert i å høre noe om erfaringene til LKK også?)

pragpub_special

2014-07-06 13.09.02

Det var en tilfeldighet at vi bestemte oss for å bo litt utenfor sentrum på helgeturen til Belgia. Det var også en tilfeldighet at vi tok den veien vi tok til byen, og også en tilfeldighet at jeg bestemte meg for å se litt rundt før vi krysset gata. Et stort Minecraft bilde i glassvinduet møtte blikket mitt. “Her skal vi inn!” sa jeg bestemt og dro inn resten av reisefølgen inn gjennom de store glassdørene.

Det var tidlig lørdag formiddag, og det store rommet stod ganske tomt, med unntak av 3-4 barn som satt og hamret iherdig på tastaturet. Veggene var dekorerte med tre-paller, det luktet eik, og jeg følte meg plutselig hjemme.

Han som jobbet der snakket flytende engelsk, og fortalte masse om stedet. G33k factory er sponset av IT-giganter som Microsoft, HP, Intel, og flere. Dørene er åpne fra 8 på morningene til 6 på morgenen dagen etter, og de arrangerer spillkvelder, kurs, konkurranser, og inviterer spill-kjendiser for å holde uformelle seminarer. Det er et sted der barn, unge, og voksne samles for å dyrke sine hobbyer og skape nye.

G33k factory har over 100 pc’er og omtrent 40 ulike pc-spill. I tillegg kan de friste med Oculus Rift, og med håndfull ulike spill og opplevelser – drager, karuseller, zombier, labyrinter, bilkjøring og mye annet! Man kan også få seg selv scannet og printet ut som en lten statuett gjennom 3D printer som de har laget selv – målet er å få laget en hel 3D printer av detaljer som var printet ut av printeren! Hittil har de omtrent 20% printet, og 80% “originalstoff”.

Jeg syntes opplevelsen var helt utrolig! Å ha et slikt kreativt sentrum for makers, gamere, teknikkgeeks er noe jeg håper vi kan etterhvert få gleden å se mer av her i Norge!

2014-07-06 15.43.31 2014-07-06 12.38.482014-07-06 15.28.212014-07-06 13.08.50 2014-07-06 14.52.08

Jeg tok kontakt med Deichman bibliotek på Lambertseter senter 16 september 2013 for å høre om muligheten til å holde et innholdsrikt, dog noe ambisiøst, programmeringskurs for ungdom via biblioteket. Jeg hadde tidligere vært inne på tanken om å organisere et programmeringskurs for ungdom uten at det resulterte i noe konkret. Når Lær Kidsa Koding så startet sitt engasjement, følte jeg at tiden var inne for å sette meg ned og planlegge et konkret innhold. Starten på Lambertseter Kodeklubb var dermed i gang! Det er også nylig opprettet en Facebook side for Lambertseter Kodeklubb. Alt kursmaterialet publiseres fritt på nettsiden Kodegenet.
 
Det å lære å programmere er vanskelig og innebærer at man må lære seg et tankemønster som er annerledes enn de fleste fag som læres bort på ungdomsskole nivå. Programmering er til tider frustrerende og man kommer til å gjøre feil – MANGE feil. Noen feil er enkle å se og rette opp i, andre er vanskeligere og ofte ser man ikke de mest åpenlyste feilene før man er på nippet til å røske strømkabelen ut av veggen. Oppskriften på å lære å programmere er å finne seg et prosjekt eller en oppgave man ønsker å utføre, for så å prøve seg frem og feile – helt til det ikke feiler lenger. Tro det eller ei, men slik er det faktisk også selv etter en høyere utdanning og 10 års erfaring i faget. For at frustrasjonen skal være enklere å takle, ønsket jeg at kurset skal være morsomt for deltakerne å være med på, og at de lærer å lage noe de kan ta og føle på.
 
Jeg har holdt introduksjonskurs i bruk av Raspberry Pi og enkel elektronikk på IT konferanser og hos IT selskaper som fagdager og ønsket at Raspberry Pi skulle være sentralt i programmeringskurset mitt. Både fordi Raspberry Pi er en fantastisk kul liten datamaskin, men også fordi den fungerer som en ypperlig og trygg platform for å lære seg mer om hva en datamaskin er, hva den består av og hvordan den kan brukes som en del av elektroniske produkter.
 
Til tross for sin kredittkort-størrelse er Raspberry Pi en fullverdig datamaskin kraftig nok til å kunne levere video i full HD, samtidig som den har innganger og utganger som gjør det mulig å koble og styre elektriske kretser.
 
 
Raspberry Pi
 
Planlegging av kursinnholdet
Utfordringen var å lage et kursopplegg som jeg hadde tro på at deltakerne følte var verd å bruke en lørdag hver tredje uke på mellom januar og mai. Vi satt opp 7 lørdager av 2-3 timer hver mellom januar og mai, med det ambisiøse målet om å lære en gruppe ungdom fra 12 til 16 år å bygge og programmere en radiostyrt bil som kan styres trådløst. Men i tillegg til å lære enkel programmering og elektronikk, skal vi også lære å installere et Linux basert operativsystem og bruke Linux sin kommandolinje gjennom hele kurset.
 
Selv om kommandolinjen kan virke som en veldig gammeldags måte å styre en datamaskin på, kommer man ikke bort fra at kunnskap om hvordan kommandolinjen fungerer og hvordan operativsystemet kan styres via kommandolinjen er svært viktig i IT bransjen.
 
Når jeg planla kursinnholdet forsøkte jeg å dele inn kurset i 7 seperate deler som bygger på hverandre, og hvor sluttresultatet er en fungerende radiostyrt bil som deltakerne selv i grupper har bygget, selv har koblet sammen de elektriske kretsene og programmert hvordan bilen skal styres.
 
For at innholdet skulle være lett tilgjengelig og enkelt og forstå, laget jeg en nettside, http://kodegenet.no, hvor kursinnholdet publiseres. Her forsøker jeg å forklare så detaljert og forståelig som mulig hva som skal gjøres, hvordan og hvorfor, samtidig som jeg har laget korte video segmenter for å demonstrere deler av innholdet. Det var også viktig for meg at kursinnholdet var fritt tilgjengelig på nett, slik at andre får muligheten til å følge eller bruke innholdet.
 
Som nevnt, inneholder kursmaterialet både tekst og videoer. Videoene er ment som et supplement til teksten, og forklarer innholdet på en mer “hands-on” og interaktiv måte enn teksten gjør. Under ser du et av eksemplene på en av videoene som følger med kursinnholdet. Hittil er det laget ca. 10 slike videoer, og det er planlagt flere i løpet av de siste 3 kapitlene/kursdagene.
 
[youtube=https://www.youtube.com/watch?v=8fLyjexdEbg]
 
Gjennomføringen av kursdagene
Vi startet med å sette av 2 timer til hver kursdag, men utvidet dette til 3 timer halvveis i kurset for å få mer tid til å jobbe med det vi lærte, samtidig som deltakerne fikk mer tid til å kunne spørre direkte når de stod fast eller lurte på noe.
 
Første kursdag startet med at deltakerne fikk utlevert hver sin Raspberry Pi datamaskin komplett med SD kort, strøm og nettverkskabler. Deretter fortsatte vi med på å sette opp og installere Raspian, samt til å koble Raspberry Pi datamaskinene til nettverket og koble seg til via en protokoll som heter Secure Shell (SSH).
 
En av deltakerne kobler sin Raspberry Pi til LAN nettverket

En av deltakerne kobler sin Raspberry Pi til LAN nettverket

 
Andre kursdag tok vi et dypdykk inn i Linux og kommandolinjen og lærte hvordan vi navigerer i filsystemet, oppretter mapper og filer, samt hvordan filer kan editeres via kommandolinjeverktøyet “nano”. Vi fikk også installert node.js, som er kjøremiljøet vi skal bruke for å kjøre JavaScript programmene vi skriver i løpet av de øvrige kursdagene.
Noen eksempler på elektriske kretser som ble bygget og programmert på kursdag 4

Noen eksempler på elektriske kretser som ble bygget og programmert på kursdag 4

 
Etter at vi ble kjent med Linux og kommandolinjen, benyttet vi tredje kursdag til å lære grunnleggende programmeringskonsepter som variabler, sammenlikninger og kontrollstrukturer, før vi fjerde kursdag tok frem elektriske komponenter som monstander, transistorer, ledninger, LED lys og koblingsbrett. Her lærte vi både hvordan vi kan koble elektriske kretser med Raspberry Pi som utgangspunkt, samtidig som vi lærte hvordan vi kan bruke Raspberry Pi til å programmere kretsene.
 
De siste 3 kursdagene skal vi bruke på å lære å kontrollere DC motorer, forskjellen på seriekobling og parallellkobling av komponenter, samt å bygge og programmere den radiostyrte bilen. Vi har satt av god tid til denne delen av kurset, for det er her jeg tror deltakerne vil være aller mest gjennom prøving og feiling.
 
Når vi startet kurset, var jeg litt redd for at opplegget var litt for omfattende og ambisiøst, og at vi ikke kom til å bli ferdig i løpet av 7 kursdager. Men det viser seg at deltakerne, som er mellom 12 og 15 år, har tatt til seg innholdet raskt og vi har stort sett kommet gjennom det planlagte innholdet på hver av kursdagene.
 
Jeg gleder meg til å se sluttresultatet 24. mai! 🙂
 
Prototypen til bilen

Prototypen til bilen med alle komponentene på plass 🙂

I den første artikkelen viste jeg hvordan en kan få gitt beskjed til en Arduino om at en drar i en spak vha. ComputerCraft. Denne gangen skal jeg vise hvordan du kan gjøre det tilsvarende med ScriptCraft. Det er mange forskjeller:

  • ScriptCraft bruker Javascript som programmeringsspråk. Det vil komme til nytte dersom du skal lage websider, siden all logikk der skrives i det språket
  • Du får tilgang til å hekte logikk på mange hendelser i hele Minecraft, og er ikke begrenset til “Computere” slik som i Computercraft
  • Det er vesentlig enklere å installere
  • Det er basert på bukkit-server, som er den mest populære plattformen for å lage plugins til Minecraft
  • Javascript-utvidelsen er basert på det faktum at det faktisk er støtte for å ha javaScript som scriptspråk i et javaprogram. Dermed har du også tilgang til mange Java-API´er og klasser. Så det er muligheter for å gjøre veldig mye.

Walter Higgins skapte ScriptCraft blant annet for å kunne lære barn koding i CoderDojo. Her ser du en artikkel fra CoderDojo, med noen eksempler på bruk i en kodeklubb-setting. Denne artikkelserien ser ellers ut til å være en fin ressurs for “modding” av Minecraft generelt. .

Her er en video som viser noe av hva en kan få til med ScriptCraft:

Installasjon

Dette er delvis oversatt fra den engelske veiledningen. Om du har noen Minecraft-kyndige barn er det gjort på 1-2-3

  1. Siden dette er en server-versjon, må du skaffe deg en bruker hos Minecraft – men det hadde du kanskje? Det er en engangskostnad på ca. 175 kroner. Så må du installere den vanlige Minecraft-klienten og sjekke at den virker. Det er en fordel om du har installert Java på forhånd, og du trenger ikke være redd for sikkerhetshull – her skal programmene kjøres lokalt
  2. Så må du installere Bukkit Server. som altså er en versjon av Minecraft hvor du kan legge inn plugins. Du kan laste den ned herfra
  3. Neste skritt er å laste ned ScriptCraft – altså den plugin’en som lar deg kontrollere Minecraft ved hjelp av JavaScript. Det er en enkelt jar-fil som du kopierer inn i plugins-katalogen til bukkit server.
  4. Gå til http://scriptcraftjs.org og sjekk alle de fine eksemplene. Du kan for eksempel styre en drone som bygger ting i minecraft, eller kalle på enkle kommandoer som lager fyrverkeri, arrangerer snøballkamp, eller bygger et slott!

Her er Javascript-versjonen av programmet

[gist id=”8566683″]

Kildekoden på Arduino er identisk med den forrige artikkelen, og så må du huske å kjøre den samme shell-kommandoen.

Neste skritt: Internet of things

Siden jeg sitter og pusler litt med Internet of things om dagen, spurte jeg på forumet til ScriptCraft om hvordan en kunne koble seg til MQTT fra ScriptCraft. MQTT er blant de ledende standardene innenfor feltet. Det var ikke helt rett fram, så Walter Higgins laget det like gjerne som en utvidelse til ScripCraft! Dermed kan vi koble Minecraft med sensorer og brytere i hele huset. Eller koble sammen flere minecraft-verdener på forskjellige PC´er – i forskjellige byer! Jeg har laget en demo av konseptet, og pusler med en artikkel om dette også.

Sønnen og jeg ønsket å se om vi kunne styre ting i den fysiske verden fra Minecraft. Arduino er en liten datamaskin som kan kobles til veldig mange forskjellige styre-enheter og sensorer. Om du ønsker å starte med Arduino, kan du kjøpe et startsett med en god instruksjonsbok fra Robonor eller andre steder (Ikke sponset). Det fysiske oppsettet vi brukte er identisk med “Circuit 15” i instruksjonsboka.


Som du ser på videoen, kommer det “støy” på skjermen, og vi må nok forbedre det litt. Men det funker!

Arduino med display

Arduino med display

Så rotet jeg litt rundt på nettet, og fant kode som henter tekst fra serieporten. Her er programkoden. Det er veldig lenge siden jeg kodet i C. Kanskje du kan komme med forbedringsforslag?
[gist id=”8186792″]
Deretter hjalp sønnen min meg med å installere “ComputerCraft” – en såkalt “mod” til Minecraft som gjør at du kan skrive programmer i et språk som heter Lua. Vi fant ut at den enkleste måten å få det inn på på mac’en var ved å installere en “modpack” som heter “Feed the Beast”(!). Lua er et enkelt programmeringsspråk som ligner litt på Python, og det finnes et utall YouTube-videoer som viser hvordan du kan gjøre ting med det i Minecraft.

Sønnen utplasserte en “computer” i terrenget, og så festet vi en spak. Vi ønsket å vise om spaken var opp eller ned på skjermen som var koblet til Arduino’en. 

En computer i Minecraft

En computer i Minecraft

For å skrive inn programkoden høyreklikket vi på datamaskinen i Minecraft, og skrev “edit startup”. Når du kaller scriptet startup, vil det kjøre automatisk. Etter litt prøving og feiling fikk jeg endelig skrevet til en fil som jeg kunne bruke for å sende tekst til Arduino´en.

Kode i Minecraft

Kode i Minecraft

Her er programkoden vi brukte:
[gist id=”8187010″]

Helt til slutt åpnet jeg et “shell”, og kjørte en kommando som sender endringer i en fil til USB-porten som Arduinoen er koblet til. Dette er på en mac. Jeg aner ikke hvordan det gjøres under Windows.
[gist id=”8187124″]

Da lærerne på Engebråten ungdomsskole reiste på seminar tok foreldrene over undervisningen for en halv skoledag. Klasse 9C1 fikk tilbud om ulike aktiviteter fra foreldrene og valgte enstemmig å lære hvordan man kan programmere quadcoptere.

Computas stilte med med fire instruktører, i samarbeid med ex-Computass Arnulf Krokeide fra Confirmit og de dronene som overlevde elevene på Hundsund sin herjing 🙂 Les mer om programmering av droner på Hundsund her.

Etter 2.5 t var tilbakemeldingen svært entydig. Så og si alle 14-åringene ønsker nå å lære mer om koding ‘fordi det er gøy og nyttig’. På en skala fra 1-5, der 1 er kjededelig og 5 er veldig moro, gav 21 av 28 elever programmeringsdelen karakter 5. Evalueringen finner du her

Se bilder fra arrangementet her

Torsdag 3. Oktober hadde kodeklubben Halden sitt første Lær kidsa kode kurs. Dette kurset ble ledet av Beathe Due, Pernille Omberg, Ellen H Anthonisen med resten av de fantastiske frivillige fra Høgskolen i Østfold, avd. Halden. Vi startet med å fordele oppgaver, noen rigger, noen møter barna og noen hjelper barn med å sette i gang.

Det var over 50 barn som møtte opp, noe som var mange fler enn forventet! 

Rett etter kl.13 startet Harald Holone sitt foredrag om Processing og Scratch. Etter Harald fikk Anders Skaalsveen litt tid for å presentere Minecraft/Computercraft. Dette var veldig populært blant barna!

Når dette var ferdig fikk vi samlet barna i biblioteket, så de fikk satt seg til rette og startet opp. Etter en kort stund var pizza og drikke klart i kantina.

Resten av ettermiddagen fikk de frivillige løpt seg slitne mellom barna. Det er viktig at vi går rundt og spør barna om alt går bra, ikke alle skjønner at uansett hva de lurer på så kan de strekke opp hånden i været så får de hjelp.

Vi fikk knall respons både fra barn og foreldre! Alle barna var stor fornøyd og de aller fleste spurte når neste kurs skulle holdes. Dette var en stor suksess!
NRK P1 var inne og hadde intervjuer (ca. fra 21 min) med et par av de frivillige og et av barna. NRK kom også tilbake med et videokamera for å lage en reportasje til østlandssendingen.
Halden Arbeiderblad var også innom for å intervjue og ta bilder til en artikkel.

Kodetimen lanserer snart. Her har du et infoskriv å kose deg med så lenge

csedweek

I samarbeid med code.org

Vi får stadig spørsmål, og har fått tips om å spille inn svarene på YouTube i stedet for å svare i et forum.

En femtenårig gutt spurte: Hvordan kan jeg komme i gang med programmering, slik at jeg kan lage plugins og modde Minecraft?

Jeg spurte sønnen min hva han ville ha svart, og har har formidlet det på YouTube! Fungerer det? Legg igjen kommentar…

Les mer