Kommentar: Gammeldags teknologi gjorde det nemmere at lære it

Illustration: Bill Bertram
Selvom teknologi i dag er udbredt overalt og alle bruger den, så er det ikke sikkert, at det er blevet nemmere at lære at programmere. Måske tværtimod.

Skal skoleelever kode i Python? Eller hvad med Javascript? Da jeg selv gik i skole, så stod valget mellem Basic derhjemme og Comal 80 i skolen, og der var ikke den store forskel på de to. Og måske tilhører jeg måske en generation, som er mere privilegeret, end vi lige regner med, når det kommer til at lære programmering.

For det var sådan set aldrig et spørgsmål om at skulle lære det. Det var bare noget vi gjorde. Det var en del af legen med hjemmecomputeren. Vi er nok mange, hvor første program var PRINT "Hej", og det næste program var at tilføje linjen GOTO 10.

Så hvis vi ser nærmere på, hvordan vi var en generation, som voksede op i præcis samme takt som udviklingen på it-området, så er der måske noget, vi kan lære, som de nye generationer kan kopiere.

Hjemmecomputeren

Den første datamat var for os i aldersgruppen lige omkring de 40 enten en Commodore 64 eller den tilsvarende Amstrad. Hvis man er lidt ældre, så var den måske en Vic 20 eller en ZX Spectrum. Det er sådan set underordnet.

Det vigtige var, at det var en computer, som ikke kunne ret meget. Når man tændte den, var der blot en Basic-fortolker, som kunne klare nogle enkle kommandoer til eksempelvis at indlæse et spil fra et kassettebånd.

For os betød det, at når vi kedede os, og ikke lige kunne bestemme os for, hvilket spil vi skulle spille, så stod prompten der og blinkede. Så der var meget kort vej til at skrive lidt kode. Det var bestemt ikke fantastiske programmer, som kom ud af det, men logikken i IF-THEN og FOR-løkker, samt manipulation af farver og pixel på skærmen, blev indøvet.

Vi sætter nok ikke tilstrækkeligt pris på, at vi sådan frivilligt terpede simpel logik, men det har højst sandsynligt haft indflydelse på, at programmering senere ikke var fyldt med eksotiske begreber for os. I hvert fald ikke før det blev objektorienteret.

Tilsvarende fik samme kedsomhed mig et par år senere til at rode formålsløst rundt i Windows 3.11-indstillingerne, fordi der ikke lige var et YouTube eller sågar en browser at fyre op for, så sådan et styresystem er heller ikke en mystisk størrelse for mig.

Netværket var håndgribeligt

Prøv at sætte dig i en teenagers sted. Hvad er et netværk? Hvordan får du forbindelse til internettet?

I dag er det noget med at få et kodeord til wifi, og hvad er wifi egentligt? Det er noget, hvor man taster en kode på telefonen, også er der internet. Nu kan jeg så ryste vredt med min knyttede næve og brokke mig over ungdommen nu til dags, men det havde nok ikke været meget anderledes, hvis jeg selv var teenageren.

Vi var heldige. Vi skulle trække coax-kabler mellem værelser eller få en switch til at makke ret, når vi holdt LAN-party. Og filer kunne ikke lige deles med Dropbox, men skulle overføres via Windows-fildeling, hvor vi ofte brød grædende sammen og endte med at brænde en cd.

Men vi lærte, hvad et netværk var. Vi havde kablerne mellem hænderne. Vi tjekkede IP-adresser, slog NetBIOS til og fra og oprettede Workgroups. Ikke for at lære om netværk, men for at kunne spille Warcraft mod hinanden.

Det var ikke smertefrit. Når du ser nogen fra dén generation, som virkelig hader Windows og Microsoft, så har de inderst inde et stadig blødende sår fra en Windows 95-maskine, som bare ikke ville se de andre Windows-maskiner på netværket.

Vi skilte WWW ad

Mit bekendtskab med maskinstuen på universitetet gav mig for det første en forsmag på, at fremtiden var altid at være forbundet til internettet. Der var ikke en gang gået et semester, før vi havde FOMO - 'fear of missing out,' eller angst for at gå glip af noget - under forelæsningerne, fordi vi ville tjekke e-mail. På den måde var vi den første generation, for hvem det var naturligt at tænke ud fra altid at have internetadgang.

Dem, der blot er nogle få år ældre, nåede at se internettet, som noget der kom til senere. For dem var computeren et redskab, der var afgrænset, lokalt og offline. Internettet var noget, man tændte for, når man skulle bruge det.

Min generation var den første, hvor en computer ikke var fuldendt, før den havde forbindelse til internettet.

Men der var sådan set ikke så meget at komme efter på internettet. WWW var ret begrænset, selv i 1995, da jeg første gang åbnede Netscape. Så vi lavede selv indhold til nettet.

Den gang indeholdt HTML nogenlunde det samme antal tags, som der havde været kommandoer i barndommens Basic, så det var enkelt at lave en hjemmeside. Og det var nemt at komme i gang, for man kiggede bare i andres kildekode.

Pil og ødelæg i stedet for at bygge op

Og det er måske også dét, vi kan bruge for de nye generationer. I stedet for at lære dem korrekt HTML5-syntaks og at bygge en side op fra grunden, så giv dem en side i HTML 1.1 og lad dem pille ved den, indtil den til sidst går i stykker. Så kan de fikse den igen.

Prøv det samme med et program. Du får måske ikke børnene til at lære Python fra grunden af, men du kan måske fange deres interesse, hvis de får kildekoden til et rigtigt program og kan lave om på den.

Vi gjorde det på et tidspunkt med vores computerspil. I Eye of the Beholder var det muligt at ændre i sine save games, så hvis man gættede de rigtige hex-værdier, så fik man de vildeste magiske våben. Da vi prøvede det i Lands of Lore gik det lidt mere galt, og vi endte med fire figurer, som alle var gule og havde fire arme og gav flere tusinde i skade. Så pil endelig løs og ødelæg.

Der er en meget lavere tærskel, hvis man kan tage noget, som er færdigt, men tilpasse det. Samtidig kan man finde ud af, hvad de forskellige elementer gør ved at ødelægge dem. Det er nemmere at vende tilbage til det oprindelige, som virkede, end at sidde og være frustreret over ikke at kunne skrive en syntaktisk korrekt funktion i Python.

Computere er håndgribelige

En smartphone eller en tablet er håbløse. Sådan kan det i hvert fald se ud fra lige min generation. Jeg har selv samlet pc'er og gør det stadig. Det betyder samtidig, at jeg har haft fingre i alle de komponenter, der udgør en computer.

For mig er en computer derfor ikke bare en ting, jeg interagerer med. Den består af fysiske genstande, jeg har rørt ved. Det er måske meget pædagogisk. Jeg er ikke blevet bedre til at adressere hukommelsen i C, fordi jeg har haft et RAM-modul i hånden, men jeg har dog en forståelse for, at arbejdshukommelsen, den lokale harddisk og min Dropbox er tre forskellige ting, som fungerer forskelligt.

Det er ikke sikkert, at alle landets 6. klasser skal dissekere desktop-computere som led i undervisningen. Men det er måske meget fornuftigt at huske, hvis man selv har børn.

Min generation lærte alt dette organisk. Udviklingen fra hjemmecomputer til moderne pc og fra disketter til wifi skete i takt med, at vi voksede op.

Det er måske lidt meget forlangt, at de efterfølgende generationer ikke bare skal kunne bruge smartphonen til at spille deres svar på Winter Games, men også skal kunne kode en responsiv webapplikation, der trækker på et par cloud-tjenester.

Kan vi forvente, at de unge vil interessere sig for at programmere, når der er så stor afstand mellem koden og den normale interaktion med den moderne computer? Vi må i hvert fald nok acceptere, at vi var velsignet med en fordelagtig læringskurve, og det måske er sværere i dag, selvom teknologien nu findes overalt og bruges af alle.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Følg forløbet
Kommentarer (33)
Poul-Henning Kamp Blogger

Jeg er lige en postgang ældre (RC7000 + COMAL-uden-80) men jeg er langt hen ad vejen enig:

Desuden mener jeg at noget basal programmering i Folkeskolen er den absolut bedste måde at få talent-spottet de mange piger der ellers aldrig ville opdage hvor gode de er til IT.

Henrik Hansen

Jeg er samme generation. Min ven og jeg har de to første studerende der fik email på Kemisk Institut tilbage i 1995.

En anden sjov ting var øvelses kurset i Fysik 2, her var bussen ført helt ud af computeren, og vi skulle selv lodde et interface på. Herefter skulle vi måler på og styre en opstilling ved at allokere kommandoer direkte på bussen...

Morten Toudahl

så fixer vi det hvis det går i stykker. "

Når min ældste (8) skal bruge min computer opfordrer jeg ham altid til at trykke på det hele, indtil den gør det han gerne vil have. Så kan jeg støtte ham i at rette op på de ulykker han laver.

Det har gjort ham meget mere hjemmevant på en computer end hans klassekammerater. Og det samme gælder på hans tablet, som han i øvrigt selv skulle spare sammen til.
F.eks måtte han kun få WiFi i ferien, hvis han selv fandt ud af hvor og hvordan han skulle aktivere og logge på... :-)

Min yngste lillebror (11) har jeg lært lidt c#, og han har selv fundet ud af at scripte i roblox og Minecraft.

Jeg er som udgangspunkt enig i artiklen, men jeg tror bestemt også at der stadig er mulighed for at børn nemt kan lære teknikken, såfremt man ikke gør alting for dem, men "tvinger" dem til at undersøge og fejle selv.

Jens Jensen

Hvordan kan man skrive denne artikkel uden at nævne raspberry pi.


Da Raspberry pi blev annonceret tænkte jeg selv straks tilbage til de gode gamle C64'er dage.
Men virkeligheden blev en anden ...

For Pi'en starter jo ikke op med et kommandointerface.
Så de unge mennesker i dag begynder jo ikke at klampe kommandoer ind.

De smutter bare på nettet og finder et image, smider det på SD-kortet, og så kan den Pi pludseligt hvad de gerne vil have den skal kunne... og så fortsætter de bare med at spille eller hvad meningen nu var.

Selv de mest basale images til Pi'en starter op med en grafisk brugerflade, browser og hele molevitten. Der er brugere, brugergrupper, firewall, dns og alle de komplicerede ting som netop ikke eksisterede på en C64.

Ja, man kan vel vælge nogle mindre komplette images, men det svarer lidt til at pille hjulene af en cykel, fordi man lige skal lære at løbe før man kan cykle.
Og det gider ungdommen ikke i dag, når Google på 2 sekunder kan vise hvor der står en færdig klargjort cykel med nypumpede dæk.

Bo Schiermer Nielsen

Jeg er meget enig i din beskrivelse af at vi der startede med en simpel computer (Oric 1, Amstrad) havde en stor fordel sammenlignet med nutidens unge.

Men jeg tror du overser at vi kun var en meget lille del af de unge den gang. Medens nutidens måde at tilgå problemet hvor man "bare" slår løsningen op på google rent faktisk kan bruges af langt flere med et godt resultat.

Så måske snakker vi her mest om et elite problem hvor de få der skal være programøre når de bliver store risikere at få en for overfladisk forståelse af system.

Så jeg tror ikke på obligatorisk programmering i skolen for alle. Men tilgangen hvor ungerne kun får WiFi adgang hvis de selv finder ud af det er meget bedre for den sikre da at de i det mindste lærer lidt.

Kjeld Flarup Christensen

Unge i dag skal på et par år lære det, som vi andre har haft 30 år til at lære. Tag hatten af for dem.

Vi har stille fulgt med udviklingen og lært det hele fra bunden. Meget er i dag forældet, men alligevel har vi en forståelse af datalogi, som ligger på rygnerven.

Udfordringen i dag er ikke at læge at bruge en computer. Udfordringen er at finde den rigtige indfaldsvinkel til at lære hvordan det hele fungere.

Og så er der også den udfordring at computerne er blevet underholdningsmaskiner i dag.

For os betød det, at når vi kedede os, og ikke lige kunne bestemme os for, hvilket spil vi skulle spille, så stod prompten der og blinkede.

Den savner jeg også. I dag er det jo næsten ikke til at opdrive en ordentlig basic fortolker. Jeg har så valgt at installere Linux på min søns computer, og lige nu er jeg ved at opsætte en html sandkasse på den. Men der er meget som skal sættes op, og der er ikke den ene bog som fortæller ALT hvad han bør vide.

Men der var sådan set ikke så meget at komme efter på internettet. WWW var ret begrænset, selv i 1995, da jeg første gang åbnede Netscape. Så vi lavede selv indhold til nettet.

Allerede i slutningen af 80'erne sad vi på AUC og delte nyheder og filer over internettet. WWW var blot endnu et skridt fremad.

Det er ikke noget scratch point, vi står altid på skuldrene af den forrige generation. Jeg tror ikke vi skal bekymre os så meget over udviklingen. Alt var simplere i de gamle dage, og denne diskussion vil gentage sig om 30 år, når vores børn er blevet erfarne og skal introducere deres egne børn til computer verdenen.

Morten Fordsmand

Har arbejdet på computere der blev startet ved hjælp af vippetaster på forsiden.

And if you tell the young people these days they won't belive you.
Monty Phyton.

Og jeg kendte en mand der fortalte at han engang ikke kunne udfylde sin selvangivelse fordi han nu kun kunne regne i hexadecimal.
Men det uhildet skal der nok være nogen unge der graver sig ned gennem nutidens utallige lag af virtualisering og finde de bits og bytes, der stadigt ligger og gemmer sig på bunden.

Svend Nielsen

Jeg er ikke helt enig i udgangspunktet for artiklen - dvs. i gamle dage var det lettere at lære at programmere. Det kommer fuldstændig an på hvilke "gamle dage" vi taler om. I artiklen er udgangspunktet dem der ligger i aldersgruppen 40+, men hvis man som jeg ligger i aldersgruppen 60+, så ser verden noget anderledes ud.

Lad mig i flæng nævne 8008 og 8080 assembler, FortranV, AlgolW, APL, Prolog ...

Indgangsbarrieren var ekstrem høj, og Basic / Comal blev født netop ud af dette, og gjorde det nemmere at forstå.

Men reelt er det fuldstændig fløjtende ligegyldigt hvordan du lære at programmere - det er principperne bag - tankesættet bag, der er afgørende, og det kan tilegnes på mange forskellige måder. Om det sker via Basic, eller noget andet er ligegyldigt, fordi sprogene alligevel udvikles så meget, at sandsynligheden for at du kommer til at bruge det sprog du har tillært dig også er det du kommer til at arbejde med i praksis er ganske lille.
Derfor er der intet til hinder for, at ha man - hvis man har lyst - udmærket stadig kan få glæde af f.eks. Basic.

Jens Ole Stilling

Den gang hed det Fortran og et snus til Lisp. Senere fik jeg den første Pascal byttet med en flaske, og har siden haft alle versionerne indtil Delfi kom. Derefter hed det Delfi.
Kan overhovedet ikke huske hvordan jeg lærte det, men Fortran var super nemt og Pascal også.

Det var mest en hobby, der dog udartede til at jeg programmerede et finite element program der beregnede felter i ulineære materialer, i begyndelsen af 70erne.
Blev bedt om at undervise lidt i Basic uden at rigtig kunne det.
Basic var ikke tiltalende, og cobal har jeg aldrig set.
Med tiden fik jeg et had, kærligheds forhold til at programmere. Det er som at være afhængig af et spil, jeg lærte aldrig med hjertet at tro på at det tog tid ,især fasen med at finde fejl for ikke at nævne at det for evigt hænger på en når nogen vil ændre på det. Det var altid " how hard can it be" .

I dag har næsten ingen andre forstået at der er noget alvorligt i vejen med programmerings sprogene. De er for lette at lave fejl i. NASA har opdaget det og forsøgt sig med med modificerede sprog uden specielt held.

Standarder for sikkerhedsrelevante anvendelser findes, men er tunge og komplicerede ( jeg underviste i dem i Kina). Vi ser med al tydelighed hvordan store systemer fejler ,umodificeret C++ og lignende er mere et problem end en løsning.

Hvornår lærer vi det?

At lære unge programmering ligner det vi gjorde da jeg var ung, vi fik dampmaskiner i fødselsdagsgave for at eksponere os til den moderne teknologi.

Hjælper det?

Jens Ole Stilling

Ja jeg husker med ømhed vores PDP, hvor boot programmer skulle tastes ind med afbrydere, forbløffende.
Strimmel læseren læste resten ind hvis den var i godt humør. Statisk elektricitet var et problem indtil vi opdagede at papir strimlen i læseren blev statisk opladet og når udladninger skete gik der agurk i det hele.

Programmering i assemnler med de utrolige store ferritkerne hukommelsen på hele 64k var en religiøs oplevelse når det gik godt.

Tak for erindringen

Thomas Jensen

Hvordan kan man skrive denne artikkel uden at nævne raspberry pi.

Jeg har aldrig rigtig forstået fidusen ved RPI i forhold til at lære at programmere. Argumentet om at problemet skulle være mangel på billig hardware (i skolen) har jeg fra starten fundet lidt søgt. Siden årtusindeskiftet har problemet i DK i hvert fald ikke været at der manglede computere i skolen eller i hjemmet. Måske er/var det anderledes i UK, men egentlig tror jeg bare projektet kom for sent i gang, og udviklingen overhalede projektet indenom. Problemet er ikke adgang til hardware, men gode, pædagogiske indgangsvinkler.

RPI er et fremragende produkt til Maker-typer. Der er der masser af udviklingspotentiale for det kvikke og nysgerrige, teknisk interesserede barn - men til at vække interessen for programmering for den almindelige skoleelev, synes jeg der er der alt for mange og for stejle indlæringskurver.

Jeg tror vejen til at vække interessen for programmering, er, at man laver noget der er relevant for en. Det, der har drevet "legen" for mig, har været, at jeg kunne bruge det jeg lavede. Jeg eksperimenterede med scripts og programmering, fordi jeg kunne bruge det til noget. Og til dels fordi jeg var nød til det, for at få tingene til at virke, som Jesper skriver om. I 90'erne var jeg rigtig glad for noget der hed WinBatch, som kunne starte programmer og sende tastaturgenveje til dem, så man kunne automatisere ting i windows. Det lærte mig de grundlæggende ting i programmering, og springet til C var nemt og naturligt.

Problemet i dag er, at Basic var relevant for brugere af computere i 80'erne og 90'erne, men Python er ikke på samme måde relevant for brugere at nutidens computere - mest fordi nutidens computere er tablets og telefoner.

Jeg synes et projekt som MIT App Inventor er rigtig spændende, fordi det er noget man kan bruge til noget. Man kan (nemt) lave sin egen lommeregner, som man kan have på sin telefon. Man kan lave sit eget spil, til den platform man bruger mest tid på(!). Man kan lave en chat-app, man kan kommunikere med sine klassekammerater med, og selv implementere de funktioner man synes er sjove. Man kan bruge det til noget der er relevant for en, fordi platformen (android) er relevant. Man har den i lommen.

Ja, som undervisningsredskab ville det selvfølgelig være bedre med noget crossplatform, så det virkede på både android og iPhone/iPad. Og måske findes det allerede, jeg er ikke helt opdateret på hvad der findes derude.

Pointen er, at ting som RPI ikke er interessant for langt de fleste børn. Det er for svært og for utiltalende. App Inventor bliver nok hurtigt for simpelt for større børn på et tidspunkt, men det at man kan lave noget man rent faktisk vil bruge i det virkelige liv, fordi man har det i lommen, tror jeg alligevel giver det en fordel. Så mangler vi bare en VisualBasic-brugerflade, så de større børn ikke føler de sidder og laver børnehave-puslespil.

Gert Roed-Jeppesen

For tusind år siden - nej det var det ikke - men det føles sådan med IT - udviklingen.
I 1986 var jeg arbejdsløs som værktøjsmager, men blev af min a-kasse tilbudt et helt nyt kursus i CN. Min første tanke var "hvad fanden" skulle jeg bruge det til? Jeg var uddannet til at bruge almindelige bearbejdnings maskiner og skulle nu forholde mig til CN kodesprog ude på teknologisk institut. Et kodesprog der indeholdt begreber som TANGO - FOXTROT og som skulle bruges til at styre en bearbejdnings maskine og ikke nok med det, kodningsoplægget skulle sendes via søkabel til England og derefter via satellit til USA, hvor oplægget skulle bearbejdes af USA`s største computer der fylde 300m2. Tilbage kom et færdigt oplæg til hulbånd.

Hvis I alle sidder og gaber - så undskylder jeg - men dette kursus fik mig til at løse min søns problem med at skrive stile i hånden, med karakteren 6 i gennemsnit. Jeg købte en Commodore 64 (tror jeg nok) og satte ham til at skrive stile på computeren, hvor han så kunne slette eller flytte afsnit. Resultatet kom i løbet 6 måneder han fik 10 i gennemsnit.

Hvor vil jeg hen med dette? Jeg mener også at det er rigtig at smide hardvare og software i hoved på børnene og lade dem lege med dem - udbygge og nogle gange reparerer hvad de har misforstået. Men det centrale i dette er at de forholder sig etisk til opbygning og brugen af IT.

Gert - et oldtidsfund på 65 - der bruger IT hver dag.
PS - jeg undskylder diverse stavefejl. Jeg er ordblind.

Torben Mogensen Blogger

En af de ting, der gør programmeringslæring mere udfordrende er, at maskinerne er blevet mere komplekse. Det betyder ikke så meget, hvis du "bare" skal lave et program, der kører fra en read-eval-print loop (REPL), sådan som man havde det med de gamle 8-bit hjemmedatamaters BASIC fortolkere: Man kan skrive inddata direkte til programmet og få det ud på skærmen, uden at der skal åbnes for inddata- og uddatastrømme osv. Hvis du f.eks. starter Python, ML, F# eller Scheme, får du en sådan REPL. Her kan det dog være en fordel at vælge et overskueligt sprog -- BASIC på de gamle maskiner var enkelt nok til, at man kunne lære alle kommandoer på kort tid. De fleste moderne sprog er langt mere omfattende. Det er både godt og skidt: I de gamle BASIC fortolkere var de eneste datastrukturer arrays, og der var i de fleste af dem ikke procedurer, men kun GOSUB til linjenumre. COMAL og BBC BASIC var undtagelser. Så jeg ser det ikke som et stort problem at bruge et mere omfattende sprog, så længe det er konsekvent designet og er nemt at gå til (altså uden "public static void main" og lignende).

Der, hvor kæden hopper af, er grafikprogrammering. På en hjemmedatamat kunne man åbne en grafisk skærm med en enkelt kommando (f.eks. "mode 0" i BBC BASIC), og man kunne både læse og skrive de enkelte pixels og udover det tegne linjer og andre simple figurer. På moderne computere er det en større videnskab at åbne et grafisk vindue og sætte en pixel til en bestemt farve, og det er endnu sværere at læse farven på en pixel.

Ditto lyd: I BASIC var der indbygget nogle simple kommandoer til at sende toner til højtalerne. På moderne computere er det igen en større videnskab at lave lyd.

Scratch og lignende systemer gør et godt forsøg på at forenkle grafik og lyd, men det er på et højere abstraktionsniveau: Billedfiler i stedet for pixels, og lydfiler i stedet for enkelte toner. Det gør det nemmere hurtigt at lave et program, der kan noget interessant med grafik og lyd, men man mister lidt af forståelsen for, hvad der sker "bag forhænget". Men et større problem er, at disse systemer er lukket omkring sig selv: Man kan ikke lave programmer, der kan køre udenfor det miljø, som sproget definerer. Til læringsformål er det ikke noget stort problem, men det kan være meget frustrerende for en elev at skifte til et "rigtigt" sprog, fordi ting, der var enkle i f.eks. Scratch, er meget besværlige at lave i et "rigtigt" sprog. At få en tegning af en kat til at bevæge sig hen over skærmen, og sige "av", når den rammer noget, tager et par linjer i Scratch, men flere snese linjers meget kryptisk kode i de fleste "rigtige" sprog.

Henrik Madsen

Men med hensyn til den her med at man skal have de unge til at have hardwaren i hænderne for at vide hvad der er ram, harddisk og så videre jo noget som "dør" mere og mere.

Min første PC (486DX2-66) havde ram, processor, køling, harddisk, grafikkort, netkort (kom til senere) og et indstikskort med COM og LPT porte.

Nu om dage ser verden jo noget anderledes ud.

"alle" nye bærbare computere idag har alle disse komponenter loddet direkte på bundkortet og kan foriøvrigt slet ikke skilles ad "non-destruktivt" og det samme sker jo i højere og højere grad med stationære at komponenter som før sad på et indstikskort bliver integreret på motherboardet.

Grafikkort er bygget ind i processoren (Med mindre du gamer, så købes et eksternt), netværk, porte og så videre har længe været fast på bundkortet og nu om dage er det svært at skelne harddisk fra ram, fordi begge dele blot er en lille printplade med nogle smd komponenter (M.2 "harddiske" afløser jo mere og mere, traditionelle drev og SSD i 2½ og 3½ formfaktor).

Ivo Santos

Jeg startede med en Commodore 64, men købte senere en brugt 386 pc på 40 mhz. med 4MB ram og en 120MB harddisk med Dos 6.22 og windows 3.11 wfw.
en ting er sikkert!!, jeg lærte om hvordan en pc er sat sammen, enig er det er en del sværere i dag med tablet pc'er og de ultra tynde bærbar pc'er.

Hvad er bits, og hvordan beregner man bits??? Meget simpelt!!, tag blot en manual til en C64, og find sektionen for sprites for der findes forklaringen og den er faktisk nem at forstå, det var i hvert sådan at jeg lærte om bits og lign., og desuden også grunden til det var nemt for mig at forstå hvordan hele TCP/IP systemet virker.

Uden den grundlæggende forståelse for hvad en bit er og hvordan den bruges, så kan det være lidt svært at forklare at hvis man har et subnet som f.eks. '192.168.95.0/255.255.255.192' så har man enten 6 eller 8 subnet alt efter om man medregner den første og den sidste med i beregningen.
Og hver subnet er så på 30, eller 29 hosts alt efter om man medregner gateway/router adressen med for med en standard router/gateway så har man ikke 30 hosts men 29 at gøre godt med. Altså med mindre man bruger gateway router som primær pc, hvilket de fleste ikke gør.

Det var i øvrigt via Visual Basic at lærte om hvordan man programmer en dll fil, så da jeg senere lærte C sproget, så var det faktisk nemt for mig at programmere en dll i C, og senere i linux.
Jeg ved man kan det samme i Visual Basic .net men det er efterhånden også 100 år siden, eller sådan følges det efterhånden, at sidst har rodet med .net.

Thomas Hedberg

Jeg forsøgte at introducere mine små børn til andre spil end på iPad'en med en meget begrænset success - lige indtil jeg støvede min kones gamle Super Nintendo konsol af. Jeg indså at de gamle Mario spil m.m. var tilpas simple til at små børn kunne forstår dem og stadig bragte enormt meget lykke - til hele familien.

Desværre viste det sig at være temmeligt dyrt i takt med at faderen begyndte at købe cartridges og en masse andre konsoller også :)

Mathias Hagensen

80'erne (måske start-90'erne) var klart den bedste periode at komme ind i programmering.

For det første blev hjemmecomputeren allemandseje og for det andet var computeren ret åben og ikke særligt avanceret.

Programmeringssprogene blev også lettere at komme i gang med i den periode.

Jeg tænker ofte på om jeg havde værete kommet i gang med programmering, hvis jeg havde været 8-10 år gammel i dag. Coding Pirates gør dog et rigtigt godt stykke arbejde med at få børn til at interessere sig for at programmere.

Peter Hansen

Jeg er meget enig i din beskrivelse af at vi der startede med en simpel computer (Oric 1, Amstrad) havde en stor fordel sammenlignet med nutidens unge.

Men jeg tror du overser at vi kun var en meget lille del af de unge den gang. Medens nutidens måde at tilgå problemet hvor man "bare" slår løsningen op på google rent faktisk kan bruges af langt flere med et godt resultat.


Meget enig med Bo i, at skribenten overser, at det kun var 5 pct. af hans årgang, der havde tålmodigheden til at sidde og skrive 10 PRINT "HELLO" og 20 GOTO 10, mens det i dag er 99 pct. af en årgang, der har tålmodigheden til at installere apps på deres smartphones, gå på Youtube, have en Facebook-konto, lege med Minecraft osv.

Jeg er imidlertid meget uenig med Bo i, at det betyder, at man ikke kan gøre basal programmering obligatorisk for alle i folkeskolen.

Man bør selvfølgelig starte med noget, som alle kan være med til og så tilbyde udvidede kurser til dem, som har flair og interesse for det.

Det kunne eksempelvis betyde, at man startede med Minecraft, Scratch, Mindstorm, Robowars, LOGO eller lignende og så tilbød Python til dem, der "fik blod på tanden".

Peter Hansen

Katteanimationen i det link fylder 46 linjer, så det er bogstaveligt talt flere snese linjer, og der er ikke lyd med. :-)


Du har helt ret. Lyden tager nu ikke mere end et par linjer mere, hvis du læser lidt videre i det medsendte link.

I øvrigt synes jeg ikke, det er for meget forlangt at forvente, at skoleelever skal kunne forholde sig til 46- 50 linjers kode, hvis de tager programmering på niveau 2 (eller hvad det nu hedder i folkeskolen, når man tager et valgfag på et niveau ud over det obligatoriske - går ud fra, at det kan lade sig gøre).

Peter Hansen

Hvis du f.eks. starter Python, ML, F# eller Scheme, får du en sådan REPL. Her kan det dog være en fordel at vælge et overskueligt sprog -- BASIC på de gamle maskiner var enkelt nok til, at man kunne lære alle kommandoer på kort tid. De fleste moderne sprog er langt mere omfattende. Det er både godt og skidt


Jeg er ikke enig med dig i, at det kan være en fordel at vælge "et overskueligt sprog" frem for et komplet sprog, der tilbyder en REPL, og som er simpelt og konsistent nok, til at man kan lave brugbare programmer i det "out of the box" uden at bruge mere end en time på at læse om sproget.

Python er i mine øjne et rigtig, rigtig godt udgangspunkt, idet man kan lave fungerende programmer på 1 linje og bygge videre derfra. Ingen grund til at opfinde en eller anden mærkelig "pædagogisk" udgave af et programmeringssprog, for at kapsle de unge, vordende programmørspirer ind i vat. I værste fald risikerer man at få noget i stil med Excels hjernedøde danske oversættelse af makrosproget, som det er fuldstændig umuligt at finde hjælp til online da al dokumentation naturligvis bruger de engelske betegnelser for sprogets primitiver.

Spørgsmålet er, om det også er et handicap i forhold til at lære danske unge om programmering, at de ikke så nemt kan google sig til hjælp og råd, hvis de ikke behersker engelsk? De fleste programmører indrømmer, at de bruger google og stackoverflow, til at finde eksempler på kodekonstruktioner, de ikke har benyttet før.

Bemærk at ovenstående gælder i forhold til de unge, der kunne tænke sig at lære videregående programmering. Den obligatoriske del bør rimeligvis foregå i et mere intuitivt miljø a la Roblox, Minecraft eller lignende.

Torben Mogensen Blogger

Python er i mine øjne et rigtig, rigtig godt udgangspunkt, idet man kan lave fungerende programmer på 1 linje og bygge videre derfra.

Python er et udmærket begyndersprog, og det er også fint til større opgaver, sålænge det meste af koden er kald til de meget omfattende biblioteker (PyGame, NumPy og SciPy, for at nævne nogle få). Men til større opgaver med en stor andel af selvudvikling foretrækker jeg sprog med statiske typer, bedre support for datatyper, og bedre modulsystemer.

Per Thykjær Jensen

Hvis man vil lære nogen noget, så er det nødvendigt at tage udgangspunkt i elevens / studentens niveau.

Scratch er godt, fordi selv børn forstår kodens byggeklodser. Abstraktionsmæssigt er der desværre et meget stort spring til Bash, Python eller varianter af C. Hvis man skal skrive mange linjer kode, for at afspille en enkelt lyd - ja, så står mange unge altså af.

Desværre er ActionScript og Flash indgået til de evige bit-marker. Flash var til at forstå. Metaforen med scenen, tids- og lydspor mv. gav mening. HTML5 og canvas er meget mere abstrakt. Et biprodukt af ActionScript var ofte, at det ikke var vildt svært at forstå JavaScript eller PHP. Ud fra et didaktisk perspektiv var ActionScript og Flash en fin introduktion til en kreativt legende kode.

Som underviser gælder det om at finde en didaktisk vej - hvor studenten / eleven gradvist lærer at forstå og anvende principperne bag kode, fx det nyttige i lister, løkker, variabler etc.

Det ville være nyttigt hvis børn og unge kunne tilegne sig kode på en mere legende og eksperimenterende måde. Måske skulle man flytte dele af undervisningen i kode til de kreative fag.

Jeg er meget enig i dette:

For mig er en computer derfor ikke bare en ting, jeg interagerer med. Den består af fysiske genstande, jeg har rørt ved.

Den bedste vej til at forstå en computer, er at bygge den selv. En Raspberry Pi kan være meget god til kode; men den er jo som den er. Hvorfor ikke lade ungerne bygge deres egne computere og servere af stumper fra uddannelsesinstitutionernes kasserede computere? Lidt som på en byggelegeplads ...


PS: Jeg er også en af dem, der havde stor fornøjelse af at eksperimentere med at kode en Amstrad Fat Joyce, og lidt senere PC med en tidlig udgave af DOS. Intet slår et Linux system, hvor man tweaker systemfiler med Midnight Commander ...

Christian P. Broe Petersen

Jeg ved godt, at den er ved at være en gammel sag (selvom der hele tiden kommer nye), men jeg fik virkelig lysten til at programmere tilbage, efter at jeg mødte Arduino. Det var netop det simple, og jeg kunne lave de samme ting, som da jeg i 7. klasse lavede et relæboard til min C64er. Raspberry kan alt for meget i forhold til, selvom jeg også har en 10 stykker af dem i brug efterhånden :-)

Der er bare een ting jeg synes, der bliver glemt i artiklen. Nemlig hvor nemt det er at finde information i dag. Jeg kunne bøvle med ting i månedsvis på C64, indtil jeg kunne finde en ven eller en bog eller et blad, der kunne forklare mig det. I dag kan jeg google de fleste programmeringsproblemer på få minutter, og få rigtig gode forklaringer på hvordan og hvorledes. Så hvis man har lyst til at programmere, så har det vist aldrig været nemmere at komme i gang end i dag.

Baldur Norddahl

Der, hvor kæden hopper af, er grafikprogrammering. På en hjemmedatamat kunne man åbne en grafisk skærm med en enkelt kommando (f.eks. "mode 0" i BBC BASIC), og man kunne både læse og skrive de enkelte pixels og udover det tegne linjer og andre simple figurer. På moderne computere er det en større videnskab at åbne et grafisk vindue og sætte en pixel til en bestemt farve, og det er endnu sværere at læse farven på en pixel.

Det er ikke så svært i en browser med JavaScript eller et af de mange andre sprog, som har browseren som target.

Eksempelvis Scala-JS: http://www.lihaoyi.com/hands-on-scala-js/

Tjek første eksempel. Meget simpelt.

Derudover er det også nemt at henvise til eksterne ressourcer såsom billeder. Både som bitmap (PNG/JPG) og vektorgrafik (SVG).

Meget praktisk kan man kode direkte i browseren uden at installere noget:

https://scalafiddle.io/sf/UbLKYAK/1
https://scalafiddle.io/

Troels Henriksen

Jeg synes der er tendens til forherligelse af 80'ernes mikrodatamater når det kommer til at lære at programmere. Bevares, de er sikkert fremragende, og jeg er sikker på at mange af deltagere i denne tråd fik en udmærket start på deres programmeringskarriere med de maskiner. At kunne arbejde så tæt på maskinen, og have en forståelse for hvad der [i]egentlig[/i] foregår, er nok tabt for senere generationer. Men jeg synes ikke muligheden for relativt nemt at komme i gang med at programmere, og for at opleve ruset af at se noget fungere i praksis, er gået tabt.

Jeg startede selv med at programmere som tidlig teenager omkring 2003. Det var en sløj tid efter mange standarder: Datamaterne var blevet alt for komplicerede til at de kunne forstås, styresystemerne (Windows) kom ikke med programmeringsværktøjer (og de var alligevel meget indviklede), der var ikke så meget fokus på problemet med at lære børn og unge at programmere, og (client-side) web-programmering var endnu så spædt, at der ikke var meget sjov ved det (og Javascript i 2003 var heller ikke noget gæstfrit miljø for en ny programmør). Til gengæld var der spil, ganske som der er i dag. Det første jeg reelt programmerede var modifikationer til spillet Morrowind. Der var et Construction Set som lod en bygge verdener med en 3D-editor, samt et enkelt scriptingsprog til at indkode logik. Efter min moderne sensibilitet var det et ganske rædselsfuldt sprog, men det var overskueligt for mig dengang, og tillod mig at opnå konkrete resultater meget hurtigt, i et miljø som jeg og andre allerede fandt interessant (altså, spillet).

Muligheden for at modificere spil er ikke forsvundet - den er nok endda blevet stærkere. Minecraft er ret populært - findes der ikke undervisningsværktøjer der bruger dét som kontekst? Eller hvad med sådan noget som Garry's Mod, der stort set bare er en spilsandkasse?

Meget som det strider mig imod mine sædvanlige faglige præferencer, så er enkeltheden af platformen måske overvurderet, når det kommer til at skabe den første motivation. Det er nok ikke så vigtigt om man viser noget på skærmen ved at blitte til et bestemt sted i hukommelsen, eller ved at kalde en funktion til at vise en 3D-mesh, som bagved afvikler hundreder af tusindvis af linjer OpenGL.

Log ind eller Opret konto for at kommentere
Pressemeddelelser

Welcome to the Cloud Integration Enablement Day (Bring your own laptop)

On this track, we will give you the chance to become a "Cloud First" data integration specialist.
15. nov 2017

Silicom i Søborg har fået stærk vind i sejlene…

Silicom Denmark arbejder med cutting-edge teknologier og er helt fremme hvad angår FPGA teknologien, som har eksisteret i over 20 år.
22. sep 2017

Conference: How AI and Machine Learning can accelerate your business growth

Can Artificial Intelligence (AI) and Machine Learning bring actual value to your business? Will it supercharge growth? How do other businesses leverage AI and Machine Learning?
13. sep 2017