7 Användbara tricks för att mastera ett nytt programmeringsspråk
Programmeringen är hård. De enda som säger något annat är de som har år av kodningserfarenhet under sina bälten. Det är okej att bli överväldigad! Det finns en massa att lära sig och du kommer noga att glömma saker så fort du lär dig dem. Lita på mig: det är normalt.
Men bara för att det är normalt betyder det inte att det inte är frustrerande. Sanningen berättas, lära sig hur man kodar Hur man lär sig programmering utan all stress Hur man lär sig programmering utan all stress Kanske har du bestämt dig för att bedriva programmering, vare sig du är en karriär eller bara som en hobby. Bra! Men kanske börjar du känna dig överväldigad. Inte så bra. Här är hjälp för att underlätta din resa. Läs mer kan vara extremt stressande om du inte närmar dig det med rätt inställning och attityd.
Du vill lära dig det nya språket eller biblioteket eller ramen så fort som möjligt, eller hur? Det är förståeligt. Lyckligtvis finns det en handfull tips som kan hjälpa dig att bättre behålla all den tunga programmeringsinformationen som håller att flyga i ett öra och rätt ut den andra.
Inga fler Cram-sessioner
Ingen vill höra det, men cramming är det värsta sättet att lära sig att programmera. Om du är något som jag var cramming din modus operandi alla i hela skolan och universitetet. Det är det enda sättet du vet hur man studerar.
Men lära av mina misstag: ju mer du försöker smälla, desto mindre kommer du att komma ihåg. Det är ganska sant för något kunskapsbaserat ämne, men det är särskilt sant när det gäller programmering.
Grunden för detta påstående kommer från en studie 2008 av University of California, San Diego:
“Eleverna utför bättre när de rymmer sina studie sessioner i stället för när de försöker ställa allt i sina noggins under ett sittande.”
Varför? Troligtvis på grund av den seriella positionen effekten:
“Seriell positionseffekt är en persons tendens att återkalla de första och sista föremålen i en serie bäst, och de mesta objekten är värsta.”
Med andra ord: i en viss studieperiod är det mer troligt att du behåller den information som du lärde dig nära början och slutet av sessionen och mer sannolikt att glömma informationen från mitten av sessionen.
Du vill maximera antalet start och slut. Därför är det bättre att ha flera korta sessioner istället för några långa sessioner när det gäller att lära och absorbera nytt material.
Nästa gång du sätter dig ner för att lära dig kod, ta det ett ämne åt gången och ta en kort paus mellan varje ämne. (Se till att förhindra att dina pauser blir till förskott!)
Granska, granska, granska
En annan anledning, varför cramming är antitetisk för långvarig kunskapsuppehållning är att minnet bleknar över tiden. Det här är inte alltid sant - jag är säker på att vi alla har några barndomsminnen som aldrig kommer att försvinna - men det verkar vara det allmänna fallet för minnen som inte är knutna till känslor.
Det finns en del debatt om minnet självt förlorar på grund av tiden (förfallsteorin) eller helt enkelt skjuts ut och ersätts av nya minnen över tid (interferensteori). Oavsett vilken teori du prenumererar på är resultatet att äldre minnen är mer benägna att blekna.
Det är här recensionen kommer in i spel.
Tänk på det som att gå genom en skog av minnen. Varje gång du vill komma åt ett minne måste du spåra den neurala vägen för att hitta den. Varje gång du spårar det minnet blir vägen etsad i lite mer - precis som hur en smutsväg bildar sig naturligt när människor går samma väg om och om igen. Om du slutar gå på vägen, kan den blekna och minnet hamnar bort någonstans i skogen.
Att lägga bort alla poppsykologi, här är takeaway: när det gäller programmering, räcker det inte att lära sig ett ämne bara en eller två gånger. Du måste återkomma det dussintals eller till och med hundratals gånger. Varje recension etsar det ämnet i din hjärna lite djupare.
Jag vet hur svårt detta kan vara om du är en naturlig crammer, men du kommer bli förvånad över hur fort du börjar behålla material när du försöker granska det regelbundet.
Använd flera olika resurser
Den hårdaste aspekten av programmering - åtminstone för helt nya kodare - är den stora bredden av detaljer och nyanser som behöver internaliseras. Innan den internaliseringen sker, kommer du att vara i ett evigt tillstånd av huvudskrapa.
Beroende på språket måste du memorera hundratals syntaxregler (t.ex. sökord, semikolon, blankutrymme). Vissa språk är strängare, andra är mindre, och andra har sina egna unika sätt att syntaxa som inte används någon annanstans. Allt detta kan vara förvirrande om du inte har någon tidigare kodningserfarenhet.
För att inte tala om all begreppsinformation som överskrider enskilda språk. Ämnen som objektorienterad programmering, enhetskomponentsystem och observatörsmönster kan verkligen göra ditt huvud spinn första gången du försöker lära dem.
Jag har delat den här illustrationen förut, men det är så viktigt att det upprepas:
“Antag att någon visade dig ett foto av en staty. Det kan ge tillräckligt med en bild för att du ska få en tillräcklig känsla för statyn, men du skulle inte få hela bilden. Ett zoomat ut foto skulle förlora invecklade detaljer medan ett inzoomat foto skulle förlora en känsla av perspektiv. Men med ytterligare fotografier som tagits från andra vinklar kan du verkligen börja se statyens fullhet i textur, i storlek, i detalj, från baksida till sida, från sida till sida och från topp till botten.”
Att lära sig att programmera kan vara överraskande godtyckligt. Alla kan berömma resurs A som det bästa sättet att lära sig språk X, men kanske det inte vore något meningslöst för dig. Kanske hatar alla Resurs B men du tar en blick och det ger perfekt mening! När det gäller någon annan kanske de zonar ut när de studerar resurser A och B men dra stor nytta av Resurs C.
Därför är det så viktigt att du är villig att konsumera alla typer av resurser där ute. Alla lär sig på ett annat sätt. Om du har problem med ett visst ämne letar du efter en annan resurs. Kanske den där är mer lämplig för dig. Kanske inte.
Även om du tror att du förstår vissa ämnen är det möjligt att det finns mer att lära sig om det. Det är också möjligt för någon annans förklaring att stärka konceptet i ditt sinne för gott. Du vet aldrig, så varför inte konsumera så många resurser som du kan?
Observera att spel kan vara en kritiskt användbar resurs! Kolla in dessa roliga och pedagogiska kodningsspel De 10 bästa programmeringsspelen för att testa och bygga dina kodningsförmågor De 10 bästa programmeringsspelen för att testa och bygga dina kodningsförmågor Programmeringsspel hjälper dig att lära dig snabbare med praktisk praktik och erfarenhet --- plus de är jätte kul! Läs mer .
Lär Concepts när du lär dem
Det finns ett vackert koncept i programmering som kallas gummiband-felsökning. De raraste programmeringsprinciperna du aldrig hört av de svåraste programmeringsprinciperna du aldrig hört. Följande principer lär dig att vara klok med din kod. Vissa är konstiga, och många är humoristiska, men de är alla lika praktiska och viktiga. Ta hand om dig! Läs mer, som beskriver tekniken för att förklara sin kod, linje för rad, till en livlig gummiband. Den används när ett visst kodsegment är trasigt, men det finns ingen uppenbar anledning till det.
Otroligt nog, de flesta programmerare har en “Eureka!” ögonblick i mitten av att förklara koden som de plötsligt ser var felet i kodningslogiken uppstår. Verbalization utlöser ett annat område i hjärnan, vilket tvingar dig att se problemet från en ny vinkel.
Detta koncept kan också användas för att hjälpa dig att lära dig nytt material. Du kan ha stött på detta populära citat som ofta tillskrivs Albert Einstein:
“Om du inte kan förklara det enkelt förstår du det inte tillräckligt bra.”
Med undantag för vissa fält som behandlar avancerad teoretisk kunskap gäller detta ordstäv. Ju mer du förstår ett ämne, desto bättre är det att du ska förklara det på ett sådant sätt att någon som inte har någon kunskap om ämnet, kan fortfarande komma att förstå det.
Det motsatta av detta är sant också. När du försöker lära dig ett ämne kommer du att stöta på vissa begrepp som du inte tycks förklara på ett tydligt sätt. Inte bara är detta ett fantastiskt sätt att diagnostisera svagheter i din vetskap, den faktiska processen att hitta den rätta förklaringen kan hjälpa dig att stärka konceptet i ditt sinne.
Det kallas lärande för undervisning och det är i grunden en twist på gummibandspårning.
Nu säger jag inte att du borde faktiskt lära andra snarare, varje nytt programmeringsämne som du lär dig, försök lära dig det till en gummiband (eller en osynlig vän). Det kan känna sig dumt i början, men du kan hitta det oerhört fruktbart när det gäller minnesretention.
Ömsesidig övning gör perfekt
Begreppet talang är fullständigt skräp. Ingen lämnar livmodern som en världsklass violinist, brottare eller programmerare. Visst kan vissa människor vara mer benägna mot vissa discipliner, men talang utan erfarenhet är värdelös. Låt inte dina dolda talanger dö: 7 sätt att gå och hitta dem igen. Låt inte dina dolda talanger dö: 7 sätt att gå och hitta De igen De dåliga nyheterna är att du måste arbeta hårt med avsikt att polera dina dolda talanger. Den goda nyheten är att det finns fler möjligheter än någonsin att spotta dina talanger. Läs mer . På samma sätt är hårt arbete alltid värdefullare än talang.
Med det sagt, inte alla former av hårt arbete är lika. Malcolm Gladwell myntade den ökända 10.000 timmars regeln som säger att du måste investera minst 10.000 timmar i ett ämne för att bli en mästare på det. Medan känslan kan vara sant, misstolkar många människor vad han försökte säga.
Lång historia kort, ett 10.000 timmars åtagande garanterar inte verkligen behärskning. Du vet ordstävet: “Övning gör inte perfekt. Perfekt träning gör perfekt.” För att det ska vara meningsfullt måste övningen vara avsiktlig. Vill du bli expert på något? Försök med avsiktlig praxis Vill bli expert på något? Prova medvetet övning Det är alltför lätt att känna crestfallen när du försöker försöka förbättra en viss färdighet. Använd kraften av "avsiktlig övning" för att få dig över dessa otäcka platåer. Läs mer . Befälhavande kan endast uppnås genom 10 000 timmars avsiktlig övning.
Hur du övar mycket mer än hur mycket tid du spenderar öva.
Läsning är passiv. Att titta på YouTube-lektioner är passiv. Lyssna på podsändningar är passiv. Som nybörjare kan du bli frestad att flyta från handledning till handledning, tackla ämne efter ämne utan att faktiskt tillämpa någon av den kunskapen på ett praktiskt sätt. Motstå denna frestelse.
Det är en sak att förstå ett exempel före dig, men det är en annan att syntetisera en lösning från början. Om du vill påskynda lärandeprocessen måste du vara villig att vara aktiv istället för passiv. Aktiv träning är den enda sorten som betyder något i slutändan.
Experimentera med personliga projekt
För mig var läxan den värsta delen av skolan. Det verkade bara som en utarbetad knep för att döda roligt och hålla eleverna upptagna - vilket för att vara rättvist var ibland sant. Men nu när jag ser tillbaka är betydelsen av läxorna äntligen meningsfull. Det tvingade mig att tillämpa nyförvärvad kunskap på ett aktivt sätt.
Om du är inskriven i programmeringskurser och klasser 11 Bästa hemsidor för gratis online Datorprogrammeringskurser 11 Bästa webbsidor för gratis online Datorprogrammeringskurser Idag kan du bli en masterkodare utan att hämta en traditionell datavetenskaplig examen. Var är alla dessa utmärkta läromedel, frågar du? Stor fråga. Fortsätt läsa och vi visar dig. Läs mer, underskatta inte effekten av läxor. Ta det allvarligt och behandla det alltid som en chans att ytterligare cementera vad du har lärt dig till långsiktigt minne.
Men många gånger är läxan inte tillräckligt. (Och om du lär dig hur man programmerar på egen hand utan en faktisk instruktör, har du förmodligen inga läxor till att börja med.)
Vad är lösningen? Skapa ett par bortkastade sidoprojekt!
Tänk på några projektidéer 5 Projektidéer som hjälper dig att lära dig programmering Snabbare 5 Projektidéer som hjälper dig att lära dig programmering Snabbare Det finns några sätt att lindra inlärningskurvan för programmering. Få dina händer smutsiga och lär dig snabbare med sidoprojekt som du kan börja när som helst. Spela runt med dessa fem. Läs mer som du vill implementera. För absoluta nybörjare kan du överväga ett spel av Tic-Tac-Toe eller Hangman. För erfarna programmerare som försöker lära sig en ny ram, försök att koda en enkel mobilapp eller ett webbspel. Så länge det intresserar dig på en personlig nivå, gå till det!
Skönheten i detta tillvägagångssätt är tvåfaldigt.
För det första är det mer sannolikt att hålla er uppmärksamhet. Studier har visat att eleverna lär sig bättre när de kan bedriva ämnen som intresserar dem. Det är precis vad ett personligt projekt erbjuder. Du har ett slutmål som du faktiskt vill uppnå, så du är mer sannolikt att behålla informationen som får dig där.
För det andra finns det inget tryck för dig att lyckas. Medan framgången skulle vara bra, kan bristen på formalitet vara experimental och kreativ. Du kommer oundvikligen att lösa problem, men det är mer som att leka med Lego än det är läxor. Det är roligare och inte lika stressigt.
Koppla av och bokmärk allt
Sanningen är att ingen programmerare kommer ihåg allt de har lärt sig. Även efter att du har arbetat med ett visst bibliotek eller ramverk under ett tag, är det inte ovanligt om du inte kan återkalla alla funktioner eller variabler utanför huvudets huvud.
Att försöka memorera allt kan faktiskt bara bli ett stort slöseri med tid och ansträngning. Referensbladen finns av en anledning. Varför göra en hel encyklopedi till minne när du bara kan vända den öppna när du behöver den?
Så, när man ska memorera och när man ska referera?
När det gäller begreppsmässigt material, internaliserar du det alltid så gott som möjligt. Därför menar jag att du förstår teorin, även om du inte kan konvertera den till aktuell kod (och teorin ska vara tydlig nog för dig för att du ska kunna lära dig det tydligt).
För allt annat - som specifika funktionsnamn, parameterlistor eller till och med språkkvaliteter - Jag skulle inte oroa mig för att begå i minnet. Känn dig fritt att skjuta upp till ett referensblad. Ibland kommer du att referera till någonting så ofta att du slutar memorera det. Om det händer, bra. Om inte, det är också bra.
Personligen har jag hundratals Internetbokmärken till olika API, guider och handledning. Om jag behöver implementera någon typ av sökningsalgoritm, kan jag referera till en guide för att hjälpa mig att få den kodad innan du glömmer det igen. Det hjälper till att förstå de underliggande koncepten, men jag försöker att inte hysa om detaljer om genomförandet.
Slutgiltiga tankar
Jag ska upprepa det en miljon gånger om jag måste: programmering är svårt och det är okej om du kämpar med det. Jag har programmerat som en hobby i över ett decennium och jag befinner mig fortfarande skrämmad när jag har nya koncept att lära mig.
Slå inte upp dig själv om du inte kommer ihåg allt direkt. Ovanstående tips kommer förhoppningsvis att vara till hjälp för dig, och även om de inte gör det kan du alltid förlita sig på bokmärkta referenser som sista utväg.
Finns det svårt att programmera? Vilken typ av knep och tips vet du som kan vara till hjälp för nybörjare coders? Dela din visdom med oss i kommentarerna nedan!
Bildkrediter: Binärprogrammerare via slutarkontakt, Minneskortsladdare via slutarkontakt, Obfuscated Code Via Shutterstock, Rubber Ducky Via Shutterstock, Keyboard Typist Via Shutterstock, PHP Källkod Via Shutterstock, Filmappar via Shutterstock
Utforska mer om: Programmering.