Bör alla lära sig att koda?

by Kristoffer Fredriksson - 20/09/2016 - 11:26

Nej, alla skall inte lära sig koda. Om det är något alla borde lära sig så är det att tänka.

Visst, jag fattar argumentet för varför det är bra att kunna koda. Kod tar över hela världen och är man tillräckligt insatt kan man själv påverka sin omgivning istället för att bara vara en kugge i maskineriet.

Men.

Jag känner gott om folk som kan koda och som har facebook/instagram/twitter konton. Gott om folk som känner till googles filterbubbla och som fortsätter använda det. Villkoren dikteras uppifrån.

På samma vis som det inte räcker med att lära sig latin för att påverka den katolska världen så räcker det inte med att kunna knacka kod för att få något att säga till om on-line. Det tåget har gått.

Å andra sidan.

Det har aldrig varit enklare
 att uttrycka sig “med kod” och än enklare kommer det att bli. Vi har alla bitar på plats för att prata oss till hyfsat komplexa skeenden.

- Hey Siri, om någon Twittrar mig medan jag kör bil, läs upp Tweeten och föreslå ett svar baserat på mina tidigare Tweets

- OK Google, nästa gång jag kommer hem, lås upp dörren, tänd hallampan och berätta ifall jag har fått post i brevlådan.

- Cortana, om chefen mailar om säljsiffrorna medan jag sover, bifoga rapporten jag förberett och svara att jag just blev klar med den. Summera sen hans ändringar och maila mig så fort jag vaknar.


Allt i de tre exemplen är fullt möjligt med dagens teknik och inom räckhåll med enbart lite rimligt tweakande av röstkomandoAPIer etc.

IFTTT är ett bra exempel på detta, om du inte har provat IFTTT än så tycker jag du skall göra det nu. IFTTT låter folk skapa egna automationer enligt följande modell “Om [något händer] så gör [detta]". 

Vad IFTTT framför allt gör är att visa vad det innebär att koda utan att man behöver koda. Mesta “hands-on” tiden går åt till att registrera diverse konton (i “verkliga” världen rotar man rätt på relevanta kodsnuttar på GitHub). Sen börjar det svåra

1. Komma på en häftig idé.
2. Leva med att sjuttifjorton andra kommit på samma idé och att lösningen bara är att tanka hem.

Det vi möjligtvis borde lära oss är med andra ord inte att programmera utan att tänka programatiskt.Det vill säga, att lära oss vad som är lätt att automatisera eller förstärka med hjälp av uppkopplad teknik.

- Nästa gång jag dansar, lägg till låten i min spellista på YouTube.

Men frågan är om ens det är relevant. En föreläsare jag hade sa att all programmering består av tre delar:
 

- Iteration (gör något X antal gånger)

- Selektion (tills ett mål är uppnått)

- Sekvensering (gå sen vidare till nästa del av problemet med det du just kommit fram till)

Med de byggstenarna går alla logiska problem att lösa. De flesta “lär dina barn programmera” övningar tar fasta på det och likställer (med rätta) programmering med att dressera världens smartaste idiot.

Men hur länge till kommer det att vara så?

Med hjälp av klassisk programmering så har folk byggt metoder för att låta datorer lära sig själva. Resultatet märks i hur röstigenkänning för något år sedan gick från dåligt skämt till förbluffande bra, även för Siri. Problemet är löst och det var inte tack vare traditionella metoder.

Det samma gäller nu bildigenkänning (computer vision). Datorer är idag bättre än människor på att identifiera saker i bilder, med undantaget för
glass som verkar totalt omöjligt för en dator att lära sig.
 

Häromdagen ögnade jag igenom ett paper där de visade hur en dator tränats upp att dra helt korrekta slutsatser om sakers tredimensionella former från ett enda foto. Det är inte så märkvärdigt som det låter, titta på en bild själv och du kan gissa dig till de enskilda objektens former utan större problem.

Dessa tre framsteg — tal, syn, rumslig förståelse — har uppnåtts tack vara neurala nätverksmodeller. Lite enkelt: släng en enorm mängd data på en formel tills den lärt sig att återskapa mönster utifrån givna förhållanden.

- Skriv ut en skalenlig modell till min modelljärnväg av det jag pekar på. Placera in den i mitt diorama lagom tills jag kommer hem. Har porslinsblomman slagit ut förresten?

Programmering för oss ickeprogrammerare kommer i framtiden vara en dialog vi för med en artificiell intelligens. Vi skall inte ödsla energi på att forma våra barn efter dagens verktyg. Vi skall göra allt vi kan för att lära dem tänka.

 

written by

24HR