Technology-Will-Save-Us_BBC_Micro-Bit_dezeen_ban

Jeg har vært skeptisk til alle dingser som skal kobles til PC’er – fordi det som regel hører med software som må installeres på nedlåste skole-PC’er. Men BBC og det norske selskapet Nordic Semiconductor har løst floken. Og dingsen er billig!

Les mer

Artikkelforfatter

Ole Kristian Pedersen

Jeg anser meg selv som selvlært. Jeg lærte meg selv å programmere i niende klasse. Det tok meg lang tid å komme i ordentlig i gang. Jeg var interessert i datamaskiner og likte å spille dataspill – men det å programmere var noe helt nytt. Det var mange problemer jeg møtte på i starten. Hvor begynner man egentlig? Hvilket språk? Hva slags læringsressurser er tilgjengelig? Alle disse er spørsmål jeg vil prøve å besvare i denne teksten.

Da jeg begynte å programmere var det svært begrenset med læringsressurser. Det fantes noen videoer på youtube, mange nettsider og bøker – det aller aller meste på engelsk. Det var mye å velge i, og det var ikke lett å vite hvor man skulle begynne. Tilstanden har ikke blitt noe bedre i dag. Du kan fremdeles ikke unngå å kunne lese engelsk – dokumentasjon og læringsressurser er ofte på engelsk. Det finnes imidlertid flere ressurser på norsk i dag enn da jeg lærte å programmere.

Jeg begynte med å lære meg Python. Dette er et språk som er veldig godt egnet for de som er helt nye, men også de mer erfarne. Alternativt kan det å lære seg HTML og CSS for å kunne lage noen enkle nettsider kan også være et godt utgangspunkt. HTML/CSS er teknisk sett ikke programmeringsspråk men såkalte “Markup Languages”. Disse språkene kan likevel være nyttig å lære, spesielt om du skal lære deg å programmere interaktive nettsider i JavaScript. Etter at du er godt kjent med et par programmeringsspråk, så er det ikke så vanskelig å lære ett til. Programmeringsspråk er stort sett like, bare med litt andre navn og en litt annerledes måte å skrive på.

Det er mange språk å velge mellom…

Bøker er undervurdert. Å lære seg å programmering fra ei ordentlig bok er ekstremt nyttig. Du kan ikke kopiere koden direkte fra et nettsted eller liknende, men må skrive koden selv. Den treningen du får ved å skrive all koden selv, lete etter feil osv. er utrolig viktig for både for å lære seg å forstå hvordan det aktuelle programmeringsspråket fungerer, men også for å “få det i fingrene”. Dermed kan du skrive koden raskere og du får en “følelse” for hva som er rett, og hva som er galt. Du lærer svært mye mer av å skrive koden selv – kanskje først skrive av eksempelet i boka, før du senere endrer på koden for å se hva som skjer.

CodeSchool - enda en YouTube-kanal

CodeSchool – enda en YouTube-kanal

Det er selvfølgelig ikke noe problem å lære fra nettressurser, men husk på at du lærer mest av å skrive koden selv. Av alle ressursene som finnes på internett, så er det spesielt verdt å merke seg YouTube-videoer, gratis bøker, nettsteder/blogger og interaktive nettsteder. Imidlertid er det viktig å huske på at innholdet du finner på nett ikke alltid er oppdatert, og kanskje ikke gjelder lenger.

YouTube-videoer er en uvurderlig ressurs, du kan bare søke opp det man ønsker å lære om og som regel eksisterer en video om akkurat det man ønsker å lære. For eksempel har en foreleser ved NTNU lagt ut mange videoer om programmering i Python (på norsk).

Det finnes en mengde gratis bøker og nettsteder, og akkurat hva som passer for deg avhenger av hva du har lyst til å lære. Har du lyst til å lære Python kan du for eksempel begynne med boka Automate the Boring Stuff, eller om du har mer lyst til å lære JavaScript kan du prøve deg på Eloquent JavaScript. Begge bøkene kan leses gratis på nett. Internett har utrolig mange læringsressurser, men heldigvis er det noen som har laget en liste for oss, den kan du finne her. Søk etter det du har lyst til å lære om, for det finnes trolig på denne lista. Jeg må i tillegg nevne Lær Kidsa Koding sin egen oversikt, samt Kodeklubbens nettressurser (på norsk).

Sist, men ikke minst: interaktive nettsteder. Denne typen nettsteder er noe nytt som har kommet de siste årene, og var ikke noe som fantes da jeg lærte å programmere. Blant disse kan spesielt Codecadmy, og HackerRank være aktuelle. Slike nettsteder er ofte gode for å lære seg det grunnleggende, men gir ofte ikke den samme dybdeforståelsen som en bok eller en lengre tekst ville gjort. Dermed kan det ofte være et godt sted å begynne på et av disse nettstedene, også kan du gå videre til en god bok eller en annen mer dyptgående læringsressurs etterpå.

Codecademy lar deg skrive kode rett i nettleseren!

Codecademy lar deg skrive kode rett i nettleseren!

Hva gjør jeg når jeg har lært meg å programmere? Vel, man er aldri utlært. Noen omtaler programmering som en kunstform som det kan ta et livsløp å mestre. Man kan alltid gjøre seg nye erfaringer. En av de beste måtene å lære på er å lage noe selv. Prøv for eksempel å lage ditt eget nettsted, ditt eget spill, eller kanskje din egen app? Du vil lære enda mer av dette. Du må tenke deg frem til løsninger på egenhånd, og ikke bare løse oppgaver lagd av andre. I tillegg så er det utrolig kult å kunne vise frem noe man har lagd til andre.

Jeg vil ønske deg lykke til videre på veien i programmeringens verden. Vi kodes!

Ole Kristian Pedersen, Kodeklubben Trondheim.

 

For å gjenta successen fra fjoråret, slo Programutvikling og LKK hodene sammen atter en gang og dro igang en konferanse for barn og unge. Mange syntes det var stas å være i 34 etasje med utsikt over hele byen, og få servert ny lærdom blandet med boller.

2014-06-03 19.56.22

Siden vi var enda flere i år som i fjor, hadde vi et ekstra stort auditorium i første etasje, dedikert til Scratch med Torbjørn Skauli. Kurset var det første som ble fullbooket og der satt det 60 ivrige barn med tålmodige foreldre ved siden av, og fikk katten til å mjaue og løpe på taket.

2014-06-03 18.39.20

Oppe i trettifjerde etasje hadde vi 6 andre parallelle tracks.

I ett av de større rommene oppe holdt de unge kurset selv om spillutvikling i Kodu. Kristoffer Moe Lundquist og Ole Lassesen Ekern stilte modig opp med Øystein Imsen og Bjørn Sør-Reime Erga nikkende fornøyd fra salen.

Ermesjo_NDC2014_DSCF1963

De aller eldste lærte å “hacke” til kommandolinje med veiledning fra Rustam Mehmandarov (aka ninjaen) og Harald Solstad Fianbakken (aka samuraien).

2014-06-03 18.06.53

For å gjøre kvelden komplett måtte også litt robotikk til såklart! Joachim Haagen Skeie holdt et kurs i Arduino, der diverse propellere spant veldig fort!

Ermesjo_NDC2014_DSCF2010

Dessuten kom Pernille Omberg og Adnan Hajic på besøk og satt opp stand med Lego Mindstorm roboter som jaget etter intetanende forbigåere på sine små hjul.

Ermesjo_NDC2014_DSCF2029

Scratch var ekstremt populært, så vi satt opp hele to kurs i det! Med Jan-Erik Vinje i spissen stod Itera på og lærte barna å programmere Flappy Bird.

Ermesjo_NDC2014_DSCF1971

Computercraft er et plugin for Minecraft, og passer perfekt som introduksjon til programmering for unge i 10-15 års alderen, spesielt de som er allerede hekta på Minecraft. Helge Astad fikk en rask innføring av Geir Arne Hjelle i kurs-opplegget, og holdt det med stor success for en fullsal.

Ermesjo_NDC2014_DSCF2082

Bjørn Einar Bjartnes kom med skillpaddene. Sammen med Computas-gjengen gikk de gjennom grunnleggende konsepter i Python og hvordan man kan bruke Turtle-bibliotek til å tegne kule mønstre. Konsentrasjonsskyen hang tykt over rommet.

2014-06-03 17.46.36

Simen Sommerfeldt samlet foreldrene i ett av møterommene for å snakke om hvordan man kan selv starte lokal kodeklubb.

 Ermesjo_NDC2014_DSCF2070

Som takk for prosjektledelse fikk Olga en boks med spam. Boksen er nå tømt, og sommerferien kan begynne!

2014-06-03 21.34.47

Spesiell takk til Programutvikling for å ha gjort konferansen mulig, skaffet lokalene, utvidet kontaktnettverket vårt, kjøpt inn frukt og lagde flotte t-skjorter til barna! Tusen takk til alle foredragsholdere som stillte opp på en tirsdagskveld, som for mange var også dagen før “voksen-konferansen”, og tusen takk til kursdeltagerne og deres foreldre for stort iver og enthusiasme – vi håper på snart gjensyn! <3

Ermesjo_NDC2014_DSCF1924

Den 5. og 6. mars var det mattedager på Fjellstrand skole, Nesodden. Én av stasjonene handlet om programmering. Der satt vi opp Python på skolemaskinene og brukte skillpadde-oppgaver fra Kodeklubben for å inspirere elevene. Det var 4 grupper totalt som var innom stasjonen, gruppene var på 10-12 elever fra mellomtrinnet, femte til syvende klasse. Vi hadde det veldig gøy, og elevene ble fort hekta på “progging”. Til slutt tok de over initiativet og begynte å finne på kreative figurer som overgikk alle forventninger! Største gjennombruddet var da de forstod at hastigheten på skillpaddene kunne brukes til å lage filmklipp og diskolys. Mange lurte på hvordan de kunne fortsette med det hjemme 🙂

DSC01727.jpg3.jpg

DSC01733.jpg3.jpg

DSC01738.jpg3.jpg

DSC01740.jpg3.jpg

DSC01755.jpg2.jpg

DSC01870.jpg2.jpg

gruppebilde.JPG

DSC01873.jpg2.jpg

Jeg har laget en intro til hvordan du kan kombinere Raspberry Pi, Arduino og Minecraft. Det er kanskje litt drøyt for de aller yngste, men burde være fullt mulig for 12+ Da lærer de å lodde også…

Et bra utgangspunkt for å skremme barn som vil ha godteri

Et bra utgangspunkt for å skremme barn som vil ha godteri

 

Fredag 15.11 gikk konferansen vår av stabelen, takket være solid innsats fra enkeltpersoner, firmaer og organisasjoner. Det var over 60 lærer til stede på dagen, og på kvelden deltok det ca. 40 lærere og kodeklubbere.

NRK Skole filmet på formiddagen, og vi bringer opptakene her når de er klare.

Her oppdaterer vi fortløpende presentasjonene:

På formiddagen

Vi fortalte også om kodetimen,  som er en anledning til å prøve dette på den lokale skolen.

Workshops på ettermiddagen

Her ble det gitt konkret opplæring i de mest aktuelle programmeringsspråkene og verktøyene.

Lyntaler på kvelden

Vi delte erfaringer rundt undervisning i skolen, og hvordan en kan drive kodeklubber.

Bilder

Oppstart: NRK Skole filmet de første foredragene

Oppstart: NRK Skole filmet de første foredragene

Roger Antonsen ønsker velkommen

Roger Antonsen ønsker velkommen

Ivrige lærer er elever når Torbjørn undervise i Scratch

Ivrige lærere er elever når Torbjørn underviser i Scratch

Humor på Olve Maudals RasPi kurs

Humor på Olve Maudals RasPi kurs

Bjørn Sør-Reime Erga i gang med Kodu. Her var det lagt inn dramatikk!

Bjørn Sør-Reime Erga i gang med Kodu. Her var det lagt inn dramatikk!

Roger Antonsen fikk stort oppmøte på Processing-sporet

Roger Antonsen fikk stort oppmøte på Processing-sporet

caoti

På kvelden: Asgjerd Halseth og Eirik Haugberg deler erfaringer fra Ellingsrud og Bakås skoler

Thomas Mathisen (16 år) fortalte om å lage utvidelser til Minecraft

Thomas Mathisen (16 år) fortalte om å lage utvidelser til Minecraft

Charlotte Kongshavn og Anne Cathrine Strande Straubø fortalte om undervisningen på Hundsund Teknologiskole

Charlotte Kongshavn og Anne Cathrine Strande Straubø fortalte om undervisningen på Hundsund Teknologiskole

Stor stemning på kvelden. Folk møtte hverandre og utvekslet erfaringer.

Stor stemning på kvelden. Folk møtte hverandre og utvekslet erfaringer.

Vi takker samarbeidspartnere for støtte til arrangement, lokaler og mat

logo
1-2-logo-universitetet-i-oslo

samsung-logo

iktlogo

9. klasse på Ellingsrud begynte å føle seg ferdig med Scratch og var klare for å gå over til tekstbasert programmering. Undertegnede og faglærer Marina Nasi testet ut den første øvingen fra kodeklubben.

Jeg demonstrerte litt live-koding ved å løse den første Euler-oppgaven i Python. Resultatet var ikke helt det jeg håpet på:

– Du, er ikke det der sjukt vanskelig?
– MÅ du programmere på engelsk?

20131030_135902Jeg måtte forklare at alt som er kult er vanskelig, men at det går an å begynne lett og at man blir bedre ved å øve seg. Tror de kjøpte forklaringen, de gav ihvertfall ikke opp.

Elevene startet med å laste ned og installere Python 3 og IDLE. Det var litt fikling i starten med installasjon og editering av tekstfiler. De som var nøye på å følge instruksjoner raste i fra de som ikke var like nøye med å lese forklaringen steg for steg, men etterhvert var alle i god gang med å programmere streker på skjermen i Pythons Turtle modul. Det meste av feil bestod i at man skrev i feil vindu, slet med å lagre filer og tilsvarende. Det er lett å løse med litt veiledning, men det krever at man er tilstede for å unngå at ting stopper opp. Selv hadde jeg tenkt at det var en fin oppgave siden den bygger videre på en del elementer fra Scratch-øvingene, men jeg tenkte at den kunne bli kjedelig. Det viste seg at jeg hadde undervurdert ungdommens kreativitet.’

– Denne går bare fire ganger, hvordan får jeg den til å gå evig?
– while(True):, skjøt jeg inn
– Fett… (hacking…)
– SJEKK HER A!
– Hvordan fikk du til det? Slutt og vær så j@€vlig geni, ‘a!

Og så var de i gang. Spurte etter tilfeldige tall. Tilfeldige farger. Det endte i et fyrverkeriet av underlige figurer, mer eller mindre planlagt datakunst. Friminuttet ble lett ignorert av samtlige, og da jeg måtte gå var timen på overtid og ingen viste tegn til å gi seg.

20131030_135835

En av mange figurer som elevene laget. Oppgaven var å lage en trekant, men det ble fort for kjedelig for den gjengen her…

Python oppgavesett

CodeClub UK har utarbeidet et oppgavesett i Python for elever som ønsker å gå videre fra Scratch og ta steget over til tekstbasert programmering. Dette er termin 4 i opplegget deres, der termin 1-3 er i Scratch. Opplegget bygger videre på Scratch-oppgavene og forklarer noe med bakgrunn i Scratch, men det er ikke nødvendig å ha vært igjennom Scratch-oppgavene. Oppgavene består blant annet av å tegne bilder med rekursjon og å lage enkle krypteringsalgoritmer (om man kan kalle Cæsarkoden kryptering…).

De første delene av dette er nå klart på norsk, med instruktørveiledning (fortsatt på engelsk). Alt finner du her https://www.kidsakoder.no/fildeling/folder/termin-4-introduksjon-til-python/

Hva krever dette?

Python og IDE’en IDLE virker både på Mac, Windows og Linux. Ideelt sett bør man installere Python lokalt, men det er mulig å gjennomføre (med noen endringer) dette i browseren også. Et browserbasert læringsopplegg er ennå ikke helt ferdig. I tillegg bør man ha noen som kan litt programmering. Øvingsopplegget kan sannsynligvis gjennomføres med lite veiledning da svarene er gitt i oppgavearkene, men det blir nok morsommere og en bedre læringsopplevelse om man har noen som kan forklare litt underveis.

Uttesting

Allerede neste uke skal dette opplegget testes ut på en ungdomsskoleklasse på Ellingsrud, og Øyvind Aardal og Vegard Pettersen skal teste det på en kodeklubb i Sandnes. Ta gjerne kontakt om du ønsker å teste dette opplegget også! Vi får dele erfaringer med hverandre.

Mer info/bli med å oversette

Her finner du flere undervisningsopplegg og beskrivelser https://www.kidsakoder.no/wiki/kidsa-koder-wiki/undervisningsopplegg/

Hele oppgavesettet, med norske oversettinger, ligger på https://github.com/CodeClub/python-curriculum, men de genererte .pdf’ene finner du bare på kidsakoder.

Hvis du vil være med og oversette så ta kontakt med @einarwh  og undertegnede eller på beb@computas.com/eih@computas.com. Vi jobber med oversettelsen her. Alt skjer på GitHub og med GitHub markdown. Nå holder vi på med korrektur på oppgavesett nr. 4, og når UK er klare med oppgave 5-7 oversetter vi dette fortløpende.

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