här är varför lära sig att koda är så svårt (och vad man ska göra åt det)

detta beror på att din hjärna lagrar långsiktiga minnen i hippocampus via föreningar. Hippocampus behöver sammanhang för att lagra ett nytt koncept med relaterade begrepp. Kontext är i detta fall inte de intilliggande kodraderna med individuella förklaringar.

istället skulle nya webbutvecklare ha en mycket bättre chans att lagra begreppet HTTP-server genom att associera det med något de redan förstår. Din hjärna behöver skapa ett rikt nätverk av anslutningar för att framgångsrikt lagra nya utmanande koncept.

här är några sätt som din hjärna bättre kan förstå komponenterna i en HTTP-server:

  1. en analogi som förklarar de olika delarna av kodblocket och använder befintliga relationer för att förklara dessa nya relationer.
  2. en interaktiv version av kodavsnittet som visar programmets live-tillstånd. När du ändrar en rad får du ett omedelbart svar på vad som hände med din begäran.

misstag # 2: underlåtenhet att överväga 80/20-regeln

om du intervjuar en webbutvecklingslärare eller 10 nya webbutvecklare kommer du att höra om samma utmaningar om och om igen. CSS positionering. Flyta. Återuppringning. Dessa har varit de vanligaste utmaningarna under de senaste 10 åren.

av någon anledning kommer tutorials fortfarande att lära varje koncept under samma tid. Om en lektion om inledande CSS består av 10 lektioner och förväntas ta 5 totala timmar, kommer varje lektion att vara ungefär 30 minuter lång. De enkla lärs ut så länge som de tuffa, även om det finns ett väldokumenterat samförstånd om de tuffaste ämnena!

det är som att lära sig hur man bryter ett ägg kontra hur man försiktigt sårar ett gourmet kycklingbröst. Båda är lika viktiga för att göra en god måltid, men man kräver mycket mer övning. Men du kan bli vilseledd att tro att de är lika svåra eftersom att laga ett kycklingbröst perfekt verkar från utsidan vara ett enkelt jobb.

nya utvecklare löser problemet på ett par sätt:

  1. Antag att de är dumma och ge upp
  2. konsultera andra handledning om samma ämne, vilket i stor utsträckning kommer att vara repetitivt och ibland dålig kvalitet. ”Spray and pray” – metoden.
  3. fortsätt till nästa ämne med antagandet att de kommer att”räkna ut det senare”

lärare från andra discipliner kommer att använda en 80/20-analys för att fokusera om sina ansträngningar. Detta innebär att 20% av nya koncept kommer att förbruka 80% av studenternas inlärningstid.

exempel på CSS-ämnen

6 CSS-ämnen kan vara lika nödvändiga för att bygga en vacker webbplats. Men de är inte lika lätta att lära sig. Vissa skapar timmar av kamp.

i en idealisk värld skulle en fullständig CSS-läroplan innehålla 2 – 3x mer material om dessa vanliga utmanande ämnen. Det skulle inkludera positiv uppmuntran (”alla kämpar med detta!”) och extra övningsmöjligheter. Men, detta har inte hänt ännu, och jag förväntar mig inte att det någonsin kommer att hända för de flesta populära tjänster.

Du vet att du sitter fast i den här rutan när du har försökt lära dig ett nytt koncept i timmar, och du kan fortfarande inte förutsäga vad som händer om du tweak en rad kod. Du kan använda Feynman-tekniken för att bestämma de ämnen som du inte helt förstår:

  1. Välj ett koncept
  2. lär det till ett barn
  3. identifiera luckor och gå tillbaka till källmaterialet
  4. granska och förenkla (valfritt)

misstag #3: undervisning ur perspektiv av en erfaren ingenjör

många inledande kodningshandledning är skrivna av ingenjörer med 10+ års erfarenhet. Hur vet jag det? Eftersom jag var tvungen att titta på eller läsa om tutorials om och om igen tills jag insåg, ”de kommer inte att förklara detta nyckelbegrepp! Jag kommer att behöva söka på Internet för en förklaring innan jag kan fortsätta.”

detta är faktiskt en väldokumenterad kognitiv bias som kallas ”kunskapens förbannelse”, och det händer över alla tekniska discipliner.

Bildkälla: CommunicateHealth

Här är vad det betyder – när lärare har många års erfarenhet av ett tekniskt ämne har de redan skapat en djup förståelse för ämnet. Eftersom de är förblindade av anslutningarna i sin egen hjärna kan de inte förstå hur en nybörjare kan se det nya materialet.

om du kommer ihåg hur din hjärna lagrar minnen ovanifrån har detta faktiskt en biologisk grund! Lärarens hippocampus har bildat föreningar som inte finns i elevernas hjärnor.

för att övervinna denna utmaning rekommenderar jag ett verktyg som FreeCodeCamp som skrevs av självlärda webbutvecklare för andra i en liknande position! Den har en fullständig läroplan som är specifikt avsedd att hjälpa självstyrda elever att övervinna hinder.

misstag # 4: Undervisningskod som det är ett mystiskt nytt System

Låt oss gå tillbaka till matlagningsjämförelsen. De flesta har lagat något hela livet, eller lärt sig grunderna av föräldrarna. De är redan bekanta med alla grundläggande verktyg från år av försök och fel. Så om du lärde en person att vara en professionell kock, skulle du redan ha grunderna att bygga på.

men det finns ingen ”grundläggande” version av lärande webbutveckling! Även om du har lärt dig R eller Java tidigare kommer det fortfarande inte att finnas många lektioner som överförs.

Så, hur tar de flesta online-tutorials hänsyn till detta? De innehåller lektioner som lär kod som det är en fantastisk ny värld, full av HTTP-servrar, petiga webbläsare och asynkrona händelser. De agerar som dessa komplicerade bitar är grunden för senare avancerat lärande.

Tänk om matlagning krävde en så hög inträdeshinder. Vi skulle alla äta mikrovågsmat. Matlagning engagerar alla 5 sinnen och gör att rätt procedur och fel procedur snabbt fastnar i din hjärna. Den mänskliga hjärnan lär sig bäst när man engagerar flera sinnen. Det kan förstå system när olika stimuli gör bra vs dåliga uppenbara.

nu vet jag att detta verkar omöjligt. Eftersom all kod körs i en webbläsare eller på en server, hur kan den ansluta till våra sinnen? Och jag menar inte att titta på en <div> zooma runt en skärm medan du växlar dess CSS-egenskaper. Det uppmuntrar inte lärande.

Jag skulle också ha trott att imaginära tal från matematik var omöjliga att ansluta till mänskliga sinnen. Kommer du ihåg i, i2, i3 och ISI? Verkar som ett nytt system som du bara behöver memorera för att kunna tillämpa.

istället använder Kalid Azad från BetterExplained en graf med en X-och y-axel för att hjälpa dig att visualisera den ”imaginära” dimensionen. Nu är begreppet imaginära tal knutet direkt till ett välbekant koncept. Ingen memorering behövs.

misstag # 5: brist på omedelbar Feedback

På Ytan kan det verka som att webbutveckling redan har ett perfekt system för feedback. När allt kommer omkring, så snart du uppdaterar din webbläsare eller skriver ”npm start” i konsolen får du ett omedelbart svar.

i matlagningsanalogin, låt oss säga att du försöker laga ett kycklingbröst perfekt för din måltid. Istället bränner du den. Vad kunde ha gått fel?

  1. skivade den för tunn i första hand
  2. vände upp värmen för högt
  3. lägg den i pannan för sent
  4. lämnade den i pannan för länge

din brända produkt i slutet ger dig ingen aning om vad som gick fel. Endast års erfarenhet eller otaliga försök med försök och fel hjälper dig att ta reda på vad som gick fel.

här är felmeddelandet du skulle få om detta hände i en kommandotolk:

som inte kommer att hjälpa till med felsökning! Det uppmuntrar lärande genom försök och fel tills, timmar senare, du räknar ut det. Istället behöver du ett återkopplingssystem som varnar dig för effekterna av varje beslut:

det visuella ovan visar att i steg 2,” Högsta Temp”, gick något fel som förstörde utgången.

detta rika nätverk av möjliga beslut är redan inbäddat i hjärnan hos expertkockar. Och även mellanliggande webbutvecklare kan läsa ett felmeddelande och fokusera sina felsökningsinsatser på en del av skriptet. Men nybörjare har ingen liknande instinkt, och idag lär de sig bara av timmar av försök och fel med intermittent feedback.

återigen kan det tyckas omöjligt att dra av i en textredigerare eller online-redigerare som CodePen. Men Bret Victors berömda uppsats Learnable Programming har redan skisserat en hel ram för att hjälpa nya programmerare att få feedback på varje rad kod i sitt manus så snart de skrivs.

självlärda elever skadas mest

Om du går i gymnasiet eller högskolan kan du hantera en undernivå av undervisning. Du behöver bara förbereda dig för nästa test, och du har ett stödnätverk av medstudenter. Du utvärderas om du kan få poäng på ett test, inte om du kan få betalt för att öva skickligheten i verkligheten.

men om du är en självlärd webbutvecklare står du förmodligen inför olika omständigheter. Du har en begränsad tid, och du kommer att behöva bevisa hela din skillset genom att bygga en riktig app eller klara ett test under en anställningsintervju. Det finns inget begrepp att studera för ett test och sedan gå vidare.

När onlineutbildningsindustrin växer och fler vuxna tvingas lära sig nya färdigheter online, förutspår jag att kraften kommer att växla mot eleverna. Det kommer att öka trycket på online-utbildningsföretag för att förbättra själva inlärningsupplevelsen. De bästa undervisningsstrategierna kommer att belönas med hundratusentals betalande abonnenter.

Lämna ett svar

Din e-postadress kommer inte publiceras.