Sådan lærer du kodning: tilgang er alt

Her er tip til at lære kodning på en mere effektiv måde. De bakkes op af forskning inden for neurovidenskab, adfærdspsykologi og over ti års erfaring.

Du kan bruge måneder på at gå i gymnastiksalen og stadig se nul resultater på grund af hvordan du træner.

De fleste af os ved dette.

Det samme gælder kodning.

Du kan bruge måneder på at lære, prøve forskellige ting, hoppe rundt i selvstudier og stadig føle at du er nybegynder - i bedste fald en avanceret nybegynder.

Og det gør ondt.

Dette får dig til at spekulere på, om der er en måde at lære hurtigere, bedre og mere effektivt på.

Der er.

Men først ting først.

"Hastighed følger, når bevægelsesmekanismen er mere sikker."

- Rafael Sabatini

Hvis du ikke forstår det grundlæggende ved læring, betyder det ikke noget, hvor hurtigt du går, du bygger stadig på et rystende fundament. Og det vil du ikke have.

Så med det, lad os komme til det.

2-minutters tutorials

Hvis jeg fortalte dig, at der var en 2-minutters tutorial til at hjælpe dig med at mestre JavaScript med det samme, ville du tjekke det ud?

Uanset om du svarede “ja” eller “nej” , betyder det ikke noget.

Det vil sige, forudsat at du dybt inde forstår, at en kort tutorial alene strider mod princippet om at mestre ethvert domæne.

Sådan fungerer mestring i en nøddeskal:

  1. Start med en enorm informationsdump.
  2. Sammenlign nye lærdomme med det, du allerede kender før.
  3. Angiv, hvordan gamle og nye oplysninger adskiller sig.
  4. Test dig selv ved at oprette dine erfaringer fra bunden.
  5. Og endelig, lær en anden.

Dette. Tager. Flere år.

Derfor klipper genveje ikke alene det.

Så næste gang du ser en tutorial-in-a-lifetime-løfte, der lover dig mestring på én gang, skal du huske, at det i bedste fald kun giver dig informationsdump.

Internaliser dette, og dit fundament vil være solidt.

Derefter følger hastigheden.

Hvordan håndterer du at kæmpe?

Jeg har set folk holde op med at programmere, fordi de ikke vil kæmpe med bugs.

Det er som at hade gymnastiksalen, fordi du ikke vil have, at din træning gør ondt.

Men faktum er dette: du løber ikke fra bugs - du træner dig selv i at finde dem hurtigere.

Fordi en dygtig programmør simpelthen er en effektiv detektiv for bugs.

Hver gang du føler dig frustreret af bugs, skal du huske, at det er her, en læringsmulighed åbner sig. Spring ikke over det.

”Tolerance er sindets største gave; det kræver den samme indsats fra hjernen, som det tager at balancere sig selv på en cykel. ”- Helen Keller

Neurovidenskabelig forskning bekræfter, at praksis ikke bare gør dig perfekt - det er bevidst praksis at forbedre dig i en bestemt opgave, der gør dig bedre.

Og bevidst praksis indebærer kæmpelse. Med bugs.

Så din forventning bør ikke være at kode fejlfrit.

Snarere bør dit mantra være:

  • Du koder.
  • Du fejler.
  • Du kæmper.
  • Du overvinder.
  • Og du gentager.

Jo tidligere du omfavner dette, jo mere effektiv bliver din læring.

Så hvis du på dette tidspunkt slet ikke har kæmpet, spiller du simpelthen rundt. Og spilde tid.

Men hvis du på den anden side har lyst til, at du kæmper hver eneste gang, så er det næste afsnit noget for dig.

Du er ikke dum, du lærer på det forkerte niveau

Lad os starte med en smule analogi.

Forestil dig at lære det engelske sprog (undtagelsessproget).

Du starter med en tutorial, der motiverer dig til at lære at stave store ord som ELEPHANT .

Men det fungerer ikke.

Når du har slået dig selv så længe, ​​beslutter du at gå til en lavere tutorial og lære at stave mindre ord som ANT .

Men så kæmper du stadig.

Så du konkluderer, at du er stum, fordi du sænkede dit tutorial-niveau og stadig ikke forstod noget. Du har bevis - negativt bevis.

Men når en ny lærer undersøger, hvorfor du kæmper, finder de ud af, at du har kæmpet, fordi ...

Du kender faktisk ikke det engelske alfabet.

Senior kaukasisk mand med tomt tomt banner, der dækker munden med hånden, chokeret og bange for fejltagelse.  overrasket udtryk

Lad os bringe dette tilbage til kodning.

Nogle mennesker hopper ind i begyndervejledninger for straks at begynde at lære React or Angular (ELEPHANT) .

Så indse, at det ikke giver mening, så de går videre til at lære JavaScript (ANT) som introduktion til programmeringsverdenen

Men det giver stadig ingen mening for dem, så de holder op.

”Jeg er så færdig med at lære at kode. Dette er helt klart ikke for mig. ” Dreng holder et hvidt flag i sneen.  Mine søskende lyser typisk ikke med glæde, når jeg spørger, om de kan være et emne for et foto af mig, men på denne dag var min lillebror mere end villig.  Måske varmer han op til det ??  Måske ville han bare have mig til at holde kæft med det ???  (tak, Jace. Elsker dig)

Men de arbejder simpelthen med noget, der er for avanceret.

Selv introduktionskurser kan avanceres, fordi din tænkning endnu ikke er forbundet til programmering generelt.

Jeg kan ikke se dette anbefales nok, men hvis du kæmper med introkurser, bør du overveje Intro til programmering til børn.

Der er ingen skam ved at finde noget lavere end introkurser og starte derfra for at opbygge.

Lær med værktøjer som:

  • Alice.
  • Kradse.
  • Kodevarer.

Da du er ældre, vil du sandsynligvis gennemgå dem hurtigere.

Men de giver dig den meget nødvendige soft intro, der giver mening og bygger din appetit på programmering.

Igen har dette intet at gøre med ego.

Det er din læringsrejse.

Hvis du lærer alfabetet først:

  • Du får den nødvendige tillid til at starte stavning af ANT.
  • ELEPHANT, som dit næste store skridt.
  • Og nogle dage lange ord som pneumonoultramicroscopicsilicovolcanoconiosis .

Det betyder ikke noget, hvilken disciplin eller hvilket kodningsområde du hopper ind i, dette gælder for Intro til Python lige så meget som det gælder for Intro to Machine Learning .

Du lærer mere effektivt, hvis du lærer på det rigtige niveau .

Løft hvordan du lærer med gentagne fordelinger

Denne teknik er fra forskning inden for neurovidenskab. Jeg beskriver det hurtigt.

Hvordan det virker:

  • Du lærer.
  • Husk om 48 timer.
  • Gennemgå derefter om 72 timer.

Gør dette:

  • Du glemmer mindre.
  • Forbind nye ideer til gamle, og;
  • Behold mere i langtidshukommelsen.

Jeg sætter 48 og 72 timer som et eksempel, men du kan udvide den tidslinje til dage og uger. Den vigtigste takeaway er ikke bare at lære en gang.

Men med vilje afsat tid til dig at komme tilbage og gennemgå.

Jo længere forsinkelsen mellem anmeldelser er, jo mere begraves den i langtidshukommelsen.

  • Duolingo bruger det.
  • Quizlet vedtog det.
  • Du kan også anvende det.

1 projekt> 10 hej verdener

Bliv ikke fanget i hello worldsevigt.

Jeg forstår spændingen ved at gennemføre enkle øvelser:

print “I am awesome” print “You’re cool” print “Wait, are we cool?” print “OMG! Guys! Like I can so print all day” 

Men jeg må være ærlig over for dig, dette vil ikke skære det.

Når vi går tilbage til vores ANT-analogi, uanset hvor mange måder du omarrangere ordene ANT, kommer du aldrig til ELEPHANT.

Uanset hvor mange introduktionsvejledninger du lærer, kommer du aldrig rigtig forbi det grundlæggende, medmindre du skubber dig ud over det.

Men jeg ved ikke, hvilke projekter der skal startes som nybegynder.

Ingen problemer.

Her er 3 eksempler:

  • Valutaomregner: Opret et program, der konverterer valutaer fra en enhed til en anden, for eksempel ved at konvertere indiske rupees til dollars, pund til euro osv.
  • Tilfældig adgangskodegenerator: Opret et program, der tager nogle ord fra brugeren og genererer en tilfældig adgangskode ved hjælp af disse ord.
  • Gæt nummeret : Bed en bruger om at gætte et tal mellem 1 og 50. Hvis de gætter uden for dette interval, skal du vise en fejlmeddelelse, der beder ham om at gætte igen. Når de gætter på det forkerte nummer, så spørg om de vil fortsætte med at spille, eller om de gerne vil holde op. Til sidst, når brugeren til sidst gætter det rigtige nummer, skal du lykønske dem og vise antallet af forsøg, de havde.

Hvis du finder disse kedelige, er der andre ideer til nybegynderprogrammeringsprojekter at vælge imellem.

Og hvis dem alle virker for vanskelige eller kedelige, skal du sende en besked til mig på Twitter, så opretter jeg noget skræddersyet til dit niveau.

Husk, dette handler ikke om ego.

Det handler om dit læringsniveau og din vækst.

Motivation er som at tage et varmt brusebad

Det føles godt at tage et varmt brusebad - du skal gøre det.

Men hvis dit varme vand er ude i 2 uger, ville du ikke tage et bad?

Spørgsmålet lyder latterligt.

Men på samme måde bør du ikke basere din læring kun på dage, hvor du er motiveret.

Der er masser af spændende dage i kodning, men der vil også være mørke, motiverende dage.

Ærligt, dette er ikke kun med kodning. Det er med livet og påbegynder ethvert nyt eventyr.

Men du er nødt til at træne dig selv til at dukke op, ikke kun når du føler dig hyperinspireret, men også på lave, kedelige dage.

Dette betyder ikke helt glem motivation.

Langt fra. Her er hvad du skal gøre i stedet:

På dage, hvor du føler dig supermotiveret, skal du bruge din motivation til hurtigt at forpligte dig til noget stort, der holder dig ansvarlig, når motivationen bliver tør.

Hvordan?

Deltag i en ansvarlighedsbevægelse som:

  • 30 dage af kode
  • 100DaysOfCode

Noget.

Hvad som helst.

For at holde dig ansvarlig på langsomme dage.

I Behavioral Psychology er dette kendt som pre-commitment.

Du bruger øjeblikke, hvor du er optimistisk til at forpligte dig i fremtiden, når du har nul motivation. Brug denne teknik, så holder du dig i gang i længere tid.

Læringsrejser er uendelig

Ingen lærer dig virkelig, hvordan du lærer.

Fokus er for det meste på hvad man skal lære. Men at lære at lære er afgørende, hvis du vil gå langt.

Jeg kan varmt anbefale dette kursus, hvis du vil gå dybt ind i kunsten at lære.

Du er muligvis startet med ideen om blot at lære at kode eller en dag blive udvikler.

Men der er mere.

kom-dette-langt.jpg

Når du kommer ud på den anden side, kommer du ikke kun en udvikler ud.

Men som en fornyet person, fordi du har valgt en ny måde at lære og nærme dig ting på.

Misforstå mig ikke.

Dette er ikke let peasy lemon squeezy - du vil arbejde som helvede.

Men i sidste ende vil det være umagen værd ikke kun på grund af kodning, men på grund af glæden ved at transformere dig selv.

Tak for læsningen!

Og det er en wrap. Ikke kommer til at lyve, det tog mange timer og refleksion at sætte sammen.

  1. Følg mig på Twitter: Jeg er mest aktiv på Twitter. Hvis du nød dette, kan du lide og retweet denne tråd for at hjælpe med at sprede ordet. Har du spørgsmål? Min DM er altid åben.
  2. Deltag i mit e-mail-community: Jeg sammensætter ressourcer til at hjælpe nye kodere og juniorudviklere med at føle sig mindre overvældede, styre bedragerisyndrom og lære smartere. Hvis du er interesseret, kan du deltage i denne e-mail-liste.
  3. Vil du læse mere? Se flere af mine artikler til begyndere og juniorudviklere.

Heads Up - Jeg elsker forskning, så jeg har en tendens til at bakke op om min rådgivning og tilgang med begreber fra Behavioral Psychology and Neuroscience.