per hansen bloghoved

Dengang der var Comal 80 i stedet for Scratch

Nu er det tid til lidt nostalgi. Billedet er af en lille tingest, jeg gravede frem fra en kasse på loftet.

I samme kasse lå en 2-3 kg tung brun boks med en aflang 5 ¼ tomme bred sprække. En kassettebåndoptager med utroligt mange ridser omkring et lille skruehul uden nogen form for benævnelse og et stort klodset tastatur.

Dem, der er vokset op i 80'erne, har nok gættet det. Det var den Commodore 64, jeg ikke har nænnet at smide ud, til trods for at alt dens funktionalitet nu kan simuleres i en app på min mobiltelefon.

Modulet er et "cartridge" - egentlig datidens svar på et SD-kort. Med den fordel at med dem i maskinen så startede programmet i samme sekund, der var strøm på.

Dette specifikke modul var ikke ligesom "Guldkorns Expressen" eller "Skærmtrolden Hugo" et spil, men et programmeringssprog (jeg vist nok fik tiltusket mig, efter min skole havde
droppet dem til fordel for mere moderne maskiner).

Egentlig behøvede man ikke sådan en kapsel for at programmere. Maskinen bootede som standard op i Basic-fortolkeren og forventede første kodelinje som det mest naturlige input til en nyopstartet computer.

Comal 80 var dog specielt god til undervisning og havde særligt nemt ved at tegne grafik.

Og netop dette satte min dengang 10-årige fantasi i gang.

10 PRINT "hej verden"

20 GOTO 10

Var det første, jeg lærte, og det, der gav appetit på mere. Men det var ikke så nemt at finde oplysninger - biblioteket i Udkantsdanmark blev flittigt besøgt, så stille og roligt gik det fremad.

Ud over bøgerne var der adskillige computermagasiner, man kunne læse. Blade med magiske væsner og fantastisk grafik fra næste generation af maskinerne. Maskiner, der stille og roligt gravede det tekniske om bag en nemt forståelig fuldskærmshånd med en diskette, når den forventede, man satte spillet i maskinen.

I bladene var der også adskillige sider af programkode i form af rene tal, der blot skulle tastes ind et efter et for så til sidst at afsløre, hvad det kunne.

Om man lærte andet end utrolig tålmodighed (og sans for virkelig at skrive det rigtige tal (efter at have brugt timer på at taste ind og have ramt forkert et sted blandt flere hundrede kommaseparerede numre og dermed spildt alt arbejde) ved jeg ikke. Men det vakte en form for undren over, hvad der kunne gemme sig under den endeløse stribe tal, som tilsyneladende kunne få maskinen til hvad som helst.

Så kom fremtiden!

Internettet - lynhurtige computere og lynhurtig kommunikation. Open source og jeg skal gi' dig.

Nogle af de 11-12-årige, der dukker op til Coding Pirates' klubaftener, viser en imponerende forståelse for Java, Unity og mange andre programmeringssprog.

Hvis man spørger dem, hvordan de har lært det, svarer de i kor "Youtube". Det er blevet til logik, at hvis man er god tid en ting, så skal man lave en tutorial og lægge den på Youtube.

Det er kommet nye muligheder - selv helt små nybegyndere kan få forholdsvis avancerede spil på skærmen, som de med rette kan sige, de selv har programmeret. Godt nok ved at sætte “når der trykkes start”-brikken sammen med “opret ny klon” af monsteret. Eller “når der trykkes på ‘d’”, så flyt spriten 10 punkter til højre. De lærer programmering igennem visuelle sprog som f.eks. Scratch eller Lego Mindstorm. Uden at forstå, at det er utroligt vigtigt med et semikolon efter hver linje.

Det er ikke svært at se, at fascinationen er lige så stor som dengang, jeg fik endeløse baner af “hej verden” på skærmen. Selvom der er “snydt lidt”, er konceptet jo event-dreven programming, og strukturen af programmet er den samme som med skreven kode.

Men de er også udfordret. De skal navigere i en jungle af distraktioner. De skal bestemme sig for, hvilket af 117 forskellige sprog og værktøjer de vil lære sig. På Commodore 64 var der Basic eller Comal, og var man lidt hardcore, så assembler. Nu kan man ikke snakke med dem, der er fans af Minecraft og derfor har kastet sig over Java, fordi C# er det eneste rigtige.

En anden udvikling er at maskinerne de lærer at kende, nu er perfektioneret til at skjule alt i maskinrummet. Enkelte maskiner er endda låst af med en meget solid hængelås, så adgang til at programmere selv er udelukket.

Er det blevet sværere eller nemmere at lære programmering nu?

Illustration: Privatfoto

Det er ikke noget, jeg tør svare på, men faktum er, at der heldigvis står rigtig mange børn i kø for at få lov at lære at programmere i en klub. Det var der ikke, dengang jeg var knægt. Dengang fik man bank i skolegården, hvis man var nørd ;)

Der er stadigvæk masser af plads til flere IT super stars. Men idoler som Steve Jobs, Bill Gates og især Notch har inspireret mange til at lade kreativiteten blomstre inden for computerverdenen. Vi skal dog passe på med at låse motorhjelmen af, fordi vi er bange for at komme til skade. Der er ingen, der bliver inspireret af, hvor fantastisk sådan en maskine er, hvis de aldrig ser den.

I sidste ende handler det om, at noget skal inspirere på det rigtige tidspunkt. Så kan det nok være lige meget, om det er håbløst besværligt eller legende let. Hvis blot noget motiverer.

Kommentarer (24)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Christian P. Broe Petersen

Personlig har jeg kun fået bank et par gange, fordi jeg provokerede nogle af de seje lidt for meget, men aldrig fordi jeg var nørd. Der har de andre altid set op til mig, netop FORDI jeg kunne skrive programmer - og kopiere spil med hjælp fra andre cartridges :-)

Det er utroligt så mange der er startet nøjagtig som dig. Jeg fik min C64er i 1986, og gik straks i gang med at taste ind fra alle de blade jeg allerede havde, og så¨gik det slag i slag.

Personlig har jeg - ud over mit arbejde som DBA - genopdaget det sjove ved programmering med især Arduino og Raspberry Pi. Jeg synes dog, at det er lidt svært at få mine egne børn til at interessere sig for programmering, men det er altid en fordel, hvis man kan få noget til at gøre et eller andet.

Lige nu er projektet at lave en Rød/gul/grøn lampe, som man via webinterface kan sætte til at lyse i op til 30min uden for vores computerrum, så man kan optage gamervideoer i fred. Det har jeg tænkt mig at hive ungerne lidt ind i, da det jo er dem der brokker sig, når man braser ind og forstyrrer deres optagelser eller livestream. Det skal laves med Arduino med ESP8266 serial wifi og en 3W RGB diode. Hvis jeg har energi til det, kan det være jeg dropper arduinoen, men det er nu så dejlig nemt og overskueligt at bruge den som styreenhed.

  • 4
  • 0
Martin Exner

Jeg tror på at man med Scratch lærer noget andet også, eksempelvis design og prototyping som man hurtigere kommer til med visuelle programmeringssprog. Det er programmeringslære overfor softwaredesign. Jeg tror også på at man med den visuelle tilgang rammer flere (...piger?) hvilket også kan give lidt tiltrængt forandring :)

  • 0
  • 0
Benny Tordrup

Jeg kan også godt huske de gamle Commodore-64 dage - en ven fra skolen havde en, og vi brugte meget tid på at taste Basic-programmerne ind for efterfølgende at spille spillene :-)

Mine første erfaringer med regulær programmering var i Comal 80 på Piccolo og Piccoline maskiner fra Regnecentralen... Det var i valgfaget Datalære i 8. og 9. klasse. I den forbindelse ramte jeg begrænsningen i Comal 80 - kodefilen kunne så vidt jeg husker maksimalt være 250 linjer :-) Derefter måtte man ud i Chain og modularisering...

I gynmasiet stiftede jeg bekendtskab med PolyPascal - stadig på Piccoliner. Og eftesom jeg ikke havde en maskine selv, så skrev jeg programkoden ned på A4-papir inden, jeg havde mulighed for at taste den ind på maskinerne :-)

Jeg er ikke i tvivl om, at jo tidligere, man introducerer programmering, des flere vil man have mulighed for at få ind i faget. Men det hjælper ikke noget at trække programmering som fag ned over hovedet på poderne - de skal stadig have motivationen for at få i gang. I mit tilfælde var det sandsynligvis en stor bunke nørdethed og teknologinysgerrighed, som gjorde udslaget.

LEGO MindStorms kunne jeg meget vel forestille mig kunne være noget, som kunne trække drenge ind i programmeringsverdenen - er ikke helt sikker på pigerne her...

  • 3
  • 0
Dorthe Frøstrup

Jeg var også fascineret af, hvad man kunne få sådan en "computer" til der tilbage i begyndelsen af 80'erne. Det var min far også - ikke mindst var han imponeret over mine evner - han er smed og synes jeg var "sej", så jeg fik en Commodore 128 med kasettebånds"drev" - kom ikke her :-). Min fascination holdt til start 90'erne, hvor jeg læste til edb-assistent om aftenen og arbejdede som 'Operatør' i 'Print-shoppen' hos IBM Danmark A/S - På det tidspunkt opdagede jeg det, der desværre nok sker for en hel del af os piger. Programmeringsverdenen er for "nørdet". Jeg savnede i hvert fald det sociale aspekt og skiftede til en Marketing uddannelse, hvor jeg kunne benytte min kreativitet mere visuelt direkte. Derfor tror jeg måske, at vejen frem (for de semi-nørdede) netop er visuel-kode. Min 11-årige søn er vildt optaget af Minecraft og bruger timer på hvordan han med små stumper programkode/kommandoer kan være ham, der giver kammeraterne fif :-). Pyt med om det tiltrækker flest drenge eller flest piger - vi skal alligevel ikke alle sammen samme vej :-)

  • 3
  • 0
Torben Mogensen Blogger

Min datter er også glad for Minecraft, og bruger en del tid på at få mekanismer såsom hemmelige døre til at virke med de ret primitive programmerings/kredsløbsmuligheder, der er i Minecraft. Så det er ikke kun noget for drenge.

  • 0
  • 0
Bent Jensen

genopdaget det sjove ved programmering med især Arduino og Raspberry Pi.

Samme her, Især Arduino er utrolig nem at gå til, i forhold til porte og I/O. Blev helt som en lille dreng. (Igen) og er begyndt at lege igen. Sidste gang jeg blev lidt mere "tvunget" til det, var under Ingeniør studiet, og her var det 100 gange, hvis ikke mere besværligt at lave noget som helst. Bare det med driver, hvis man ikke bogstavliget skulle skrive dem selv, UV lys for at slette, og så meget andet. Have helt droppet denne del af min uddannelse. Men nu en USB port og du er igang. Et lille fif, programmere og udvikle på et stort Enhed, men når du skal have det ind i noget og bruge det, så køb en billig Kina kopi, kortet er kun 2*1 cm, og koster 12-20,- kr med fragt. Husk forskel på 3.3 og 5 V. versioner.

  • 2
  • 0
Per Hansen

Ok, jeg indrømmer, jeg fik ikke bank ;)

ESP8266 har netop fået fuld support for Arduino IDE'et, så man blot kan compile sin sketch og køre på chippen. Det er helt klar noget ungerne skal have lov at prøve også.

Til børn syntes jeg dog Raspberry PI'en er nemmere at gå til. Der kan man køre Python og slippe for at spekulere på hvad foreskellen på 1 og 1.0 er. Man giver så også lidt afkald på realtime sigler, som f.eks. servo pulser.

  • 1
  • 0
Per Hansen

Det er en helt klar pointe at ingenting skal trækkes ned over hovedet på folk. Man lærer intet, hvis man ikke gider.

Der skal først og fremmest inspireres, så motivationen bliver skabt og så skal der bare stå en klar der kan svare på alle spørgsmålene og skubbe lidt i den rigtige retning.

Det er selvfølgeligt umuligt i praksis i f.eks. en folkeskole, hvor en lærer står alene med 35 børn.

Mindstorms er fantastisk. Jeg er ikke sikker på det kun er drengene der syntes det. Det handler nok mere om hvad der skal bygges med det.

Et af projekterne hos os (som ungerne selv fandt på) var en slik dispenser, med check for om det rigtige kort var indsat ;) (snedig, for så skal der jo hostes op med pebernødder og vingumme, så den kunne blive testet !)

  • 2
  • 0
Michael T. Jensen

I "gamle dage" kan jeg godt huske, at man indtastede noget volapyk og så virkede det (nogle gange). Man hørte de liflige toner fra et kassettebånd og så virkede det (nogle gange). Spørgsmålet er hvad man lærte dengang? Jeg er klar over, at læringen er noget højere, hvis man rent faktisk forstod, hvad man skrev, men det var ikke det primære, da jeg var dreng. Det var spillet (som på magisk vis fremtonede på et tidspunkt), der var i fokus...

Hvis man så sammenligner med Scratch, hvor man skal bruge nogle visuelle blokke (if, while, for m.m.) er det ikke længere et spil, man kommer frem til, der er i højsædet, men snarere processen, og det er min mening, at det programmering, eleverne lærer af dette, er væsentlig mere reel, end det jeg rodede med som barn. Spørgsmålet er så om børn kan blive "bidt af det" i dag, hvis guleroden (produktet) ikke i så høj grad er til stede?

Jeg er i gang med at programmeringsforløb i en ganske almindelig 6. kl. Vi har haft en lektion indtil videre, hvor eleverne rendte igennem "hour of code". Det nåede stort set alle igennem på 45 minutter (inkl. opstart af maskiner og instruktion) og næsten uden jeg behøvede at assistere dem - de dygtigste fik en ekstraopgave af mig, som du kun en enkelt kom i mål med (hans far er i øvrigt programmør...). Det var en succes og ungerne syntes at det var en fed lektion. Fra på tirsdag er det så scratch, hvor jeg tidligere har haft held med at få (lidt større) elever til at designe små spil.

Dr er den store forskel, at jeg her arbejder med en hel flok tvangsindlagte elever i stedet for at arbejde med elever, som har valgt det. Det giver en langt større spredning i hvor vi ender henne (er min forventning) og de opgaver jeg stiller vil også i langt større grad være differentierede.

  • 2
  • 0
Martin Exner

Det er spot on @Michael Jensen Hvis disussionen er hvorvidt og hvorledes kodning skal ind i folkeskolen (for det synes jeg) så er der mange parametre: - én lærer til 25-30 børn! - motivationen er meget varieret - modsat f.eks. Coding Pirates hvor alle har valgt det. - Læreren tror måske at han skal være verdensmester i programmering for at kunne undervise.

Heldigvis er Scratch let at sætte sig ind i, selv for dem uden kodeforudsætninger! Jeg håber at vi kan få det ind som et valgfag eller som et tværgående værktøj, som giver eleverne lov til, eks. at aflevere et program i scratch istedet for en powerpoint.

  • 0
  • 0
Jn Madsen

Jeg tror nu nok jeg forstår. Vi mænd er lidt sære :)

Jeg roder også med motorcykler,- og når vi sidder der på ølkasser og snakker om hvor smuk en dyr gaffel-stjerne nøgle er ... den skifter hånd .. alle skal sidde og betragte den fra alle vinkler. Samtaler om fordele/ulemper ved 6 og 12 flader ... så er det pigerne himler lidt med øjnene :-)

  • 2
  • 0
Henrik Møller Jørgensen

Michael,

Godt at høre, at der er nogen der prøver kræfter med 6. klasserne. Jeg har ikke fundet et forum, hvor amatører udveksler erfaringer med Scratch, så her er hvad jeg har lært:

  • Disciplin Giv hver elev et halvt A4 ark. De folder det og skriver deres navn på. Første gang nogen skejer ud bruger du deres navn, når du kalder dem til orden - de har i mellemtiden glemt navneskiltet og du har ingen problemer med disciplin derefter

  • Hjælpelærere Hvis du har en eller to elever, som på forhånd kender værktøjet, så brug den som hjælpelærere. Dermed nedbringer du ventetiden

  • iPad Har de iPads er Pyonkee en fin Scratch. Snap fra Berkeley virker også, men er langsom.

  • Didaktik Hvis ikke de får lært at flytte rundt på en figur fra starten er de tabt. Der er et vidst obligatorisk pensum - en værktøjskasse, som de skal mestre. Jeg plejer at tage det meget langsomt i starten og sikrer, at alle har abet efter, inden vi går videre. Hvis det betyder ventetid, kan man godt tillade, at dem der er med frit leger rundt, bare de er med, når I går videre

  • Klassestørrelse Jeg har lige haft to 4. klasser i hænderne. Det er tillokkende at nå ud til flere, men langt sjovere for amatørlæreren med en enkelt klasse, da man ellers mister kontakten med den enkelte elev

  • Brain Fake Du skal ikke undervise i matematik og logisk tænkning: Sæt et mål : "Vi skal fortælle historier og bygge spil med iPad i dag". Mindes de jævnligt om målet bliver fokus flyttet til gevinsterne, ikke til problemerne

-Opskrifter Der er desværre børn der trods indsats og intelligens ikke formår at fortælle en historie frit. Jeg har nogle opskrifter med der tegner mønstre, det plejer at få denne type børn med. - De kan godt variere over et tema.

God fornøjelse!

Henrik

  • 0
  • 0
Michael T. Jensen

Disciplin Giv hver elev et halvt A4 ark. De folder det og skriver deres navn på. Første gang nogen skejer ud bruger du deres navn, når du kalder dem til orden - de har i mellemtiden glemt navneskiltet og du har ingen problemer med disciplin derefter

Tak for hints. Har dog fin disciplin i mine klasser. Det handler dog om mere end at lave et terrorregime. Det handler om at man viser lederskab, en klar retning og at man ikke er usikker på arbejdsredskaberne. Her er der så en hurdle for lærere, som åbenbart skal undervise i programmering uden forhåndskendskab, for nok kan man kalde eleverne til orden, hvis man kender deres navn, men det holder ikke længe, hvis man ikke kan vise dem i hvilken retning de skal efterfølgende. Jeg tror det kræver mere undervisningserfaring end det du skitserer ovenfor, for helt at kunne se de mekanismer, som er i spil i det didaktiske felt jeg vil kalde klasselederskab.

Hjælpelærere Hvis du har en eller to elever, som på forhånd kender værktøjet, så brug den som hjælpelærere. Dermed nedbringer du ventetiden

Det går i kort tid - så vil de dygtige også gerne have lov til at lykkes med nogle udfordringer. At være hjælpelærer, hjælper eleverne til at få øget forståelse (når man forklarer, forstår man bedre) men ikke til at udforske nyt...

iPad Har de iPads er Pyonkee en fin Scratch. Snap fra Berkeley virker også, men er langsom.

No iPads. Real PCs.[/quote]

Didaktik Hvis ikke de får lært at flytte rundt på en figur fra starten er de tabt. Der er et vidst obligatorisk pensum - en værktøjskasse, som de skal mestre. Jeg plejer at tage det meget langsomt i starten og sikrer, at alle har abet efter, inden vi går videre. Hvis det betyder ventetid, kan man godt tillade, at dem der er med frit leger rundt, bare de er med, når I går videre

At kunne undervise er mit fag. Det virker måske lidt hovski-snovski at sige sådan, men det du skriver svarer til at jeg fortæller dig at du først skal lære at bruge variable, før du lærer at programmere.

Klassestørrelse Jeg har lige haft to 4. klasser i hænderne. Det er tillokkende at nå ud til flere, men langt sjovere for amatørlæreren med en enkelt klasse, da man ellers mister kontakten med den enkelte elev

Der er med de nye fælles mål i matematik kommet et krav på banen om at eleverne skal snuse til programmering. Der er ingen krav kommet til at lærerne skal på kursus i det eller vejledning i hvordan det skal ske. Det er nogle ord i et dokument og så regner man med at verden bliver et lysere og pænere sted.

Inspiration Jeg genser denne video inden jeg står foran en klasse : http://chrisbetcher.com/2010/10/teaching-kids-to-think-using-scratch

Den tjekker jeg. Tak for tippet.

  • 1
  • 0
Michael T. Jensen

Jeg har ikke fundet et forum, hvor amatører udveksler erfaringer med Scratch, så her er hvad jeg har lært

Har lige genlæst ovenstående igen. Jeg er efterhånden vant til at få at vide at det jeg laver kan alle da lave. Kan man ikke blive andet kan man da altid blive skolelærer, ikk'? Det hænger mig lidt smålangt ud af halsen - men i dette tilfælde ikke med rette. Beklager den efterfølgende tone!

Glimrende at du gør en indsats for at få programmering ind i skolen.

  • 0
  • 0
Per Hansen

Godt at høre, at der er nogen der prøver kræfter med 6. klasserne. Jeg har ikke fundet et forum, hvor amatører udveksler erfaringer med Scratch, så her er hvad jeg har lært:

Jeg vil lige tilføje, Coding Pirates har et forum (http://forum.codingpirates.dk) hvor der netop udveksles erfaringer i bla. undervisning i Scratch, Python, Arduino osv. Der er også flere rigtigt aktive folk, der mødes og forbereder undervisningsforløb og ideer.

Du er velkommen til at kigge derind Henrik.

  • 1
  • 0
Mads Thomsen

Dejligt inspirerende indlæg Per!

Jeg fik lyst til at dele min egen historie. Født i 1990, et lille årti for sent til C64, vågnede jeg som 4-årig op til en gave fra min far; en 386'er med DOS og Windows 3.11. Det var egentlig min søsters, men hun fik ikke meget tid foran skærmen. Maskinen bootede op til en hardcodet menu, der listede alle installerede spil, der kunne startes ved at skrive det respektive tal. Timerne gik med DOOM og Jazz Jackrabbit. Efter et stykke tid opdagede jeg at man fik et grafisk miljø hvis man skrev "win" i stedet for et tal og jeg var helt solgt.

Først mange år senere, da jeg fik en Playstation 2 i cirka 2002, stiftede jeg bekendtskab med programmering. Min playstation var brugt og af den første udgave, hvor der medfulgte en demo-cd, der udover nogle spil indeholdt YABasic (Yet Another Basic). Her kunne man, via et onscreen tastatur og sin controller, indtaste basic kode og lave spil! Der var et småt men meget aktivt community på nettet, men da vi ikke havde internet (heya jylland!), printede jeg i smug lange forumposts med kildekode ud på skolens bibliotek og skyndte mig hjem for at taste.

Jeg formåede at lave en pong klon med både singleplayer og multiplayer, og slæbte democd og memory card med rundt til venner, så jeg kunne tæve dem i mit eget spil. Senere fik jeg lavet et dragracing spil (NFS Underground var lige kommet). Da havde vi fået internet (56k - ingen bredbånd) og jeg kunne endelig dele min kode med andre. Jeg kan huske at jeg fik ros af en "rigtig udvikler" for mit spil. Han havde arbejdet på MTV skateboarding og syntes det skrammel jeg havde smækket sammen var meget imponerende. Det var stort! En tysker havde udviklet en YABasic emulator, så jeg var blevet frigjort fra min playstation og kunne endelig kode med et tastatur.

Omkring samme tid opdagede jeg linux (Suse og senere ubuntu) og tog decideret til LAN-parties med det formål at nasse bredbånd, så jeg kunne opdatere mine systemer. Alle mine venner spillede Counter-strike; Jeg havde opdaget Hammer/Worldcraft og lavede baner i stedet. Det havde aldrig interesseret mig voldsomt at bruge software/spil, for det var langt sjovere at lave tingene og forstå hvordan de virkede, end det var rent faktisk at bruge dem.

Hver gang jeg læser c64-anekdoter føler jeg at jeg blev født for sent og af nød "hackede" mig til en firserbarns oplevelse.

Yabasic Det findes skam stadig

  • 2
  • 0
Torben Jensen

Jeg havde en Amstrad, vi var nogle få som dengang nærmest lå i religiøs krig med C64'erne. Vi brøstede os af den langt bedre basic, større hukommelse etc. Jeg havde CP/M på maskinen, trådte mine første barnesko i assembler, men har også siddet weekender og indtastet i timevis. Disciplin lærte man ihvertfald.

Har det lidt som med et tidligere blogindlæg om matematik her, at børn i dag intet kan (eller må) uden at have noget grafisk for-defineret at trække i. I gang på 5 minutter, resultat på 10. Et program som ligner

10 Tegn figur X på skærm 20 Gentag 5 { flyt 2 mm }

Lidt som når LEGO sælger legetøj der er bygget og stilet op på forhånd, men som ikke kan andet.

På samme måde med matematikundervisning - man lærer ikke at fiske, men får fisken ved at trykke på en knap.

Jeg føler mig heldig at jeg som måske sidste generation voksede op og blev tvunget til at forstå teknikken ret grundigt.

  • 0
  • 0
Log ind eller Opret konto for at kommentere