Dette indlæg er alene udtryk for skribentens egen holdning.

En Arduino øjenåbner...

14. august 2012 kl. 11:3829
Artiklen er ældre end 30 dage
Manglende links i teksten kan sandsynligvis findes i bunden af artiklen.

Her er en af de "fabriksbesøg" blogindlæg som hacker-verdenen elsker: Et besøg hos en fabrik der (bla.) laver prints til Arduinoer.

Der er to ting ved den historie jeg hæfter mig ved:

For det første: Scarmagno var en af Olivettis produktionsfaciliteter og selv nu, så mange år efter, er der tilsyneladende masser of elektronikproduktion stadigvæk.

For det andet: 25.000 printkort til én enkelt model af Arduinoer ?

Artiklen fortsætter efter annoncen

Wow...

Er det nu vi skal prøve at få beslutningen om ikke at undervise i programmering i folkeskolen op til revurdering ?

phk

PS: Glem ikke arbejdsmødet om COMAL historien d. 27 sep.

29 kommentarer.  Hop til debatten
Denne artikel er gratis...

...men det er dyrt at lave god journalistik. Derfor beder vi dig overveje at tegne abonnement på Version2.

Digitaliseringen buldrer derudaf, og it-folkene tegner fremtidens Danmark. Derfor er det vigtigere end nogensinde med et kvalificeret bud på, hvordan it bedst kan være med til at udvikle det danske samfund og erhvervsliv.

Og der har aldrig været mere akut brug for en kritisk vagthund, der råber op, når der tages forkerte it-beslutninger.

Den rolle har Version2 indtaget siden 2006 - og det bliver vi ved med.

Debatten
Log ind eller opret en bruger for at deltage i debatten.
settingsDebatindstillinger
20
19. december 2013 kl. 11:42

Er der folk der KAN undervise elever i folkeskolen i Arduino? Kender I nogen?

22
19. december 2013 kl. 13:26

Undervise: ja Planlægge et undervisningsforløb: fisk

Som med det meste, er kunsten vel at forstå modtageren (her eleverne) af det (undervisningen) man "producerer".

Men dit spørgsmål giver anledning til det mere overordnede spørgsmål: hvordan får vi gjort folkeskolen (skoleledere/politikere/forældre?) interesseret i at tilbyde undervisning i programmering/systemudvikling?

18
15. august 2012 kl. 08:51

... og er nok det jeg ville anbefale i folkeskolen.

Jeg ved der er flere uddannelsessteder der overvejer at bruge det i undervisningen.

http://appinventor.dk/ fungerer igen.

Der er et danssproget forum hvor man kan få hjælp: http://appinventor.dk/forum/

Der er en dansk bog om det:http://appinventor.dk/android-apps-uden-programmering/

Man kan i øvrigt styre Mindstorm-robotter fra AppInventor og endda (med lidt arbejde) oversætte AppInventor-kode til Javakodehttps://plus.google.com/114820443085046080944/posts/f5aGcSjmaXG

14
14. august 2012 kl. 21:57

Prøv at google processing og arduino

Det var vist processing environment der startede det hele :-)

Måske lidt firkantet grafik - men det spiller :-)

13
14. august 2012 kl. 21:54

Jeg er helt uenig med Jacob C. M-A. ovenfor: Det er netop ved at få et stykke hardware til at gøre noget konkret man har en chance for at fange ungernes interesse.

Uanset hvor programmerbar en PC er, er der slet ikke samme bang-for-the-buck I at skrive et program på den, som der er ved at få en arduino til at tænde en lysdiode når man skygger for en fotomodstand osv.

Lego Mindstorms er en anden god platform.

Men det centrale problem er at der slet ikke er nogen der kan forstå hvilken nytte det ville være til, at undervise ungerne i programmering.

16
14. august 2012 kl. 22:43

helt helt enig

Har efterhånden prøvet det med diverse unge mennesker med cansat's osv

Der er ikke noget der kan overgå hands on og det første hello world...

3
14. august 2012 kl. 13:23

Arduino er ganske enkelt perfekt til folkeskolen.

Det er også perfekt til forældre, der lever af at kode, og bliver bedt om at fortælle klassen, hvad de lever af :)

4
14. august 2012 kl. 15:17

Jeg var en af de heldige der ved at bidrage til at (F)OSS arrangement fik en Arduino (og jeg har efterfølgende anskaffet en PI). Normalt programmeres Arduino i et C-lignende programmeringssprog og man kommer ikke særlig langt med sådan en, uden at vide noget om elektronik og elementær fysik. Så vi er mindst i 7 klasse eller endnu længere fremme - såsom 2g. Hvis man vil noget i folkeskolen med Arduino findes der dog heldigvis et scratch bibliotek, der eksponerer nogle Arduino features i MIT scratch (http://seaside.citilab.eu/scratch/arduino) og nogle behjertede lærere kunne sikkert strikke nogle gode opgaver/projekter sammen. Men hvad siger de professionelle her - dvs. skolelærerne?

11
14. august 2012 kl. 19:59

Wiring er bare C. Arduino-IDE'en indsætter automatisk en inkludering af nogle headerfiler med en main()-funktion der laver lidt opsætning og derefter kalder setup()- og loop()-funktionerne. Oversættelsen sker med en almindelig C-oversætter. Det betyder også at det er ret nemt at gå videre når man har fået erfaring (og Arduino-processorer er baseret på Atmel-chips, så der er masser af teknisk dokumentation).

12
14. august 2012 kl. 21:48

skal det være ret er det C++

Som man kan se ved eks Serial.begin(9600);

5
14. august 2012 kl. 16:16

Uden at være skolelærer må jeg sige at jeg nu også betvivler Arduino og lignendes særlige begyndervenlighed. Jeg kan godt forstå at en del gamle programmører finder at det er sjovt stykke nostalgisk legetøj, men skal det være begynderlet så er de vigtigste ting i min optik et miljø som ikke kræver at man selv skal finde biblioteker, rode med compileropsætning eller lignende metaprogrammeringsopgaver, samt at der er ordentlig og let tilgængelig dokumentation. De krav gør en Arduino ikke noget specielt for at leve op til, man kan selvfølgelig lave et godt begyndermiljø til Arduino, men jeg kan ikke se hvordan det skulle blive bedre end et godt begyndermiljø til almindelige PCer.

21
19. december 2013 kl. 12:33

@Jacob Jeg kan jun være enig, som IT-Underviser har jeg oplevet at hvis det bliver for firkantet i folkeskolen så mister eleverne interessen.

Og der vil netop Arduino og RaspberryPI lidt for langhåret for eleverne, det er kun de der har det som interesse der orker at følge med, der kan man så lave efterskoletids ordninger.

Det er PCen der bruges i hverdagen, og det primære eleverne har brug for er at kunne forstå det basale først, og især at kunne bruge computeren til andet end at gå på FB og Twitter. De har behov for at lære at bruge de offentlige sider, Bank siderne og andre i den stil. Der efter kan man kan så fange de der har yderligere behov og de der har interessen for at gå videre.

Man taler ofte om at den nuværende generation og de yngre er IT generationen. Ja det er de, men men men, de er en "IT bruger generation" De har lært at logge ind på en PC, at bruge nogle programmer, færdes på internettet osv. Men IT genier er de ikke (når man skal generaliserer, og sætte det på spidsen :-), der er altid de der har yderligere interesse i IT, og det er de elever der skal have den opmærksomhed, og så de der virkelig gerne vil men ikke lige kan finde ud af det.

At bruge de samlede ressourcer på alle elever er spild af ressourcer, og elevernes tid hvor de kunne dyrke deres evner i den retning de har brug for. Mange elever har simpelthen ikke interessen.

Vi kan ikke alle gå rundt og være IT ansatte, der skal være nogle der laver regnskaber, udvikler på andre platforme, slagtere og købmænd. Alle hæderkronede erhverv, uden hvilke Danmark ville gå ned med et brag.

23
19. december 2013 kl. 13:33

Hvis John repræsenterer den generelle holdning af "it-undervisere" i dk, kan jeg godt forstå at vi ikke er kommet videre med undervisning i programmering.

Ungerne skal nok lære at bruge netbank mv; det er jo overhovedet ikke det det hele handler om. Vores unger skal ikke kun være en "IT bruger generation"!!

De skal generelt lære hvorfor/hvordan ting virker; i matematik/regning stikker vi dem jo heller ikke bare en lommeregner, for derefter at konstatere at de er blevet en "lommeregner generation", og dermed opgive at forsøge at lære dem basal regning og matematik!

28
23. december 2013 kl. 09:29

Hvis man skal lære en klasse på 30 elever at programmere, så vil der opstå en del kaos i de første par timer. Problemet er at eleverne først lære at finde rundt i menusystemet og forstå hvornår man skriver en parantes og hvorfor man skal skrive import og hvad det hele egentlig betyder. Læreren kommer til at løbe rundt i de første timer og mange af elever kommer til at sidde og vente i længere tid end de har lyst til.

Hvis man skal holde gejsten oppe, så er det vigtigt at vælge et system, der er så simpelt som muligt, så eleverne kan få nogen hurtige succes-oplevelser. Scratch virker som en fin løsning. Python sikkert også bruges, hvis man går langsomt frem, men jeg tror ikke at det er en god ide at introducere hardware tidligt i processen og jeg synes at wiring ser lidt indviklet ud.

Det er dejligt at se opensource entusiaster interessere sig for uddannelsesvæsnet, men jeg tror også at det er vigtigt at de sætter sig ind i skolernes behov.

29
23. december 2013 kl. 11:55

Jeg er i stand til at holde elevernes opmærksomhed fangen, det er et hårdt arbejde, men jeg er så i stand til det.

Jeg kan se at der herinde er en del der tydeligvis ved en hel masse om undervisningsforhold "på teoretisk niveau" men sådan er det så bare.

25
21. december 2013 kl. 01:31

Morten, Som IT pro gennem mange år og siden hen også som underviser, har jeg erfaring fra både IT verden og Skole verden, og jeg har haft stor succes med at undervise i IT, men at tro at alle kan blive IT eksperter osv. er at narre sig selv og ikke mindst eleverne. Og så fik jeg stor positiv respons fra alle, både ledelse, lærer, elever og ikke mindst fra forældrene. Så jeg kan godt tillade mig at være tilfreds med det jeg har ydet.

Og hvis du tror at jeg bare stopper ved Office og Nem-ID så tager d fejl, jeg fortsætter, blandt andet ved at tage udgangspunkt i opbygningen af hjemmesider, dette gjorde jeg ved at tage eksempler fra sider der interesserede eleverne og lærte dem at skille siden ad og selv lave lignende effekter og kodning på et niveau de kunne overkomme for sidenhen at gå videre, eventuelt med animationer og script osv. Enkelte elever var interesserede i programmering, så det tog jeg så også fat på.

Jeg lærte dem at opsætte lokale netværk mellem lokalets computere, at genkende de forskellige hardware i ved først at se i enheder i windows og siden at åbne en computer hvor de så kunne udpege hvilke enheder der var hvad osv, jeg lærte dem at bestykke deres egen ønske PC, dog uden at skulle købe det, bare at se om de forstod forskellene på de forskellige specifikationer og ud fra hvad de nu ønskede at deres personlige udgave af en PC skulle se ud.

Og flere andre langhårede ting der gik mere i dybden.

Så jo jeg har været langt mere omkring end du forestiller dig tingene på en folkeskole kan foregå.

Men der er også elever der bare ikke kan, sådan hænger det sammen og der er der forældrene skal ind over ellers bliver det et nederlag for eleven.

26
22. december 2013 kl. 01:08

Bortset fra at du åbenbart mener at vide hvad jeg forstiller mig kan lade sig gøre, så lyder det meget fint. Men stadig meget bruger-orienteret.

Og så mangler din fortælling stadig "og så fik eleven en lampe til at blinke" indholdet, som imho er noget af det vigtigste ved at programmere til en (tilsyneladende) forholdsvis enhed som en arduino, i stedet for en pc. Jeg tror ikke på at html er et godt sted at starte med programmering; det er da, om noget, lige til at miste begejstringen af. Det er jo layout - ikke programmering.

Men en arduino kan man lave noget, som man kan vise til alle, selv når der ikke er en pc (med netforbindelse) i nærheden.

27
22. december 2013 kl. 19:29

Jeg kan ved ikke hvad du forestiller dig, men du har tydeligvis heller ikke forstået noget af det jeg har skrevet.

Jeg kan ikke her sidde og skrive alt vi har foretaget os gennem flere år, så derfor er ikke alt med, men derimod det man kan starte op med, jeg ved ikke hvorfra du har fået den ide at det fra min side kun handler om at lave det bruger orienterede, det er en fejlfortolkning der vil noget!

Jeg har som sagt haft stor succes med undervisningen, og det var ikke bare HTML eller at bruge et regneark, det var hele maskinens opbygning, det var også at kunne få input udefra og at lever et output til eksterne enheder.

Jeg lavede ud fra meget gammel erfaring og på en ældre PC, en slags joystik, i stil med den typer der fulgte med en C64, altså nogle kontakter som fik computeren til at tælle i 4 kolonner en for hver kontakt (to kontakter i minus). Og de kunne så se resultatet af deres anstrengelser, selv om det var en simpel opgave fangede det dem med det samme.

Så opstår spørgsmålet "men hvad kan man bruge det til" Så skal der tænkes, hvordan kan man bruge nogle tal på en skærm, ofte kommer der gode forslag som så prøves, med større eller mindre succes og diskutioner om hvorfor og hvorfor ikke. Det næste skridt er så at lære eleverne at de fisurer der bevæger sig rundt på skærmen gør det udfra netop lignende routiner.

Her bliver eleverne overraskede over at det er sådan tingene ofte foregår.

I dette simple eksempel kan man så flytte figuren i de 4 retninger, man starter med et helt almindeligt billede i 3232 eller 6464 og placere det på de to koordinater, og flytte det rundt med kontakterne, det efterlader så en stribe efter billedet. Hvordan fjerner man den stribe osv.

Når det sidder fast, så går man videre med to figurer hvoraf den ene er styret af computeren, elevernes opgave er så at lave den anden så de kan ramme PC'ens figur osv.

Nu skal der laves simple animationer der bevæger sig efter placeringen. En række billeder her (i starten) bare 16, (4 for op) (4 for ned( 4 for V) (4 for H) Bevægelserne tilpasses figurens hastighed så et skridt ikke bliver til moonwalk hvor figuren flytter sig asynkront. Det gøres ved at benene flytter sig i forhold til tælleren.

Når figuren bevæger sig op ses figuren bagfra. Når figuren bevæger sig ned ses figuren forfra. Når figuren bevæger sig til højre ses figurens højre side. Når figuren bevæger sig til venstre ses figurens venstre side.

Rammer figuren PC'ens figur har PC'en tabt et liv Sker det 3 gange har PC'en tabt (eleven taber ikke endnu). Meget simpelt lavet, og kun i de 4 retninger

Når det efterhånden går og for eleverne at der bag de avancerede spil ligger tonsvis af tunge matematiske beregninger bliver de først overraskede over at de tal de får kan bruges til at lave spis, så kommer helt automatisk interessen for at bruge matematikken i andre sammenhænge, som koder bygget på matematiske routiner, men her er det kun få der kan/vil være med, med de der vil er altid velkommen,og med lidt overtalelse og ved at gå lidt langsommere frem for andre så kommer der flere til.

Nu skriver jeg i nutid, jeg har trukket mig tilbage fra arbejdsmarkedet, og underviser ikke mere.

Men du har tydeligvis langt mere erfaring i IT undervisning af nogen gange mere end 30 elever ad gangen. Det skal jeg selvfølgelig ikke gøre mig klog på.

7
14. august 2012 kl. 16:20

så er de vigtigste ting i min optik et miljø som ikke kræver at man selv skal finde biblioteker, rode med compileropsætning eller lignende metaprogrammeringsopgaver, samt at der er ordentlig og let tilgængelig dokumentation

Det virker da på mig netop som en af styrkerne ved Arduino's miljø. Det er nogenlunde så plug-and-play som jeg kan forestille mig det. Ingen opsætning andet end at vælge det rigtige board i menuen.

8
14. august 2012 kl. 17:01

Det virker da på mig netop som en af styrkerne ved Arduino's miljø. Det er nogenlunde så plug-and-play som jeg kan forestille mig det. Ingen opsætning andet end at vælge det rigtige board i menuen.

Nøgleordet i den sætning er "miljø", selve computeren er i denne sammenhæng ligegyldig, det er programmeringsmiljøet, ikke computeren, der er den afgørende faktor.

Hvis vi nu for diskussionens skyld antager at Arduino miljøet er det perfekte begyndermiljø, hvad er det så selve hardwaren gør som ikke kunne opnås med en emulator eller kompilering direkte til en PC platform?

9
14. august 2012 kl. 17:39

@Lars:

Her er det simpleste wiring eksempel:

  1. // blinks the board LED, use 48 for Wiring 1.0 boards, use pin 15
  2. // for Wiring S
  3.  
  4. void setup()
  5. {
  6. pinMode(WLED, OUTPUT); // set pin as output
  7. }
  8.  
  9. void loop()
  10. {
  11. digitalWrite(WLED, HIGH); // set the LED on
  12. delay(1000); // wait for a second
  13. digitalWrite(WLED, LOW); // set the LED off
  14. delay(1000); // wait for a second
  15. }

Scratch er et grafisk på flere måder blokorienteret sprog ;), der f.eks. anvendes i LEGO mindstorms og Google's nu hedengangne appinventor.

@Jacob Det fede ved arduino, PI boards og mindstorms er belønningen ved at få noget fysisk til at ske. Hvis det er rettet mod børn, må det så ikke blive for svært - her kommer f.eks. scratch ind i billedet. Men for f.eks. at lave et digital termometer med wiring skal man bl.a. vide noget om termiske modstande. Men mindre kan også gøre det: En varme eller bevægelsessensor, en motor, en lydgiver, lidt camouflage og en sagesløs person ;)

10
14. august 2012 kl. 18:50

Ingen tvivl om at det er et fedt stykke legetøj, men det kommer let til at gå rigtigt meget op i hardware. Og eksempelvis Scratch viser da helt klart at man sagtens kan fange opmærksomhed med noget som foregår på skærmen.

2
14. august 2012 kl. 12:34

På en del folkeskoler eksperimenteres der med "profil-linjer" - typisk i 7.-9. klasse. I den natur/teknik-linjen kunne det da være interessant at give en grundkursus i programmering vha. Arduino. Da Arduino let kan bruges sammen med sensorer, kan elverne bygge og programmere små måleopstilling til fysik/biologi/kemi-undervisningen.

1
14. august 2012 kl. 12:18

Arduino i de tidligere skoleår Senere en Raspberry Pi, til dem der vil lære at lege på højere niveau. (de hurtige finder ud af at koble de to sammen...)

Tilsæt en gruppe "voksne" der ulønnet vil skabe et dansk community for skoleelver, med simple eksempler til at komme i gang med...

Så er det slut med først at lære programmering 101 efter gymnasie-tiden.