
Joseph Goodman
0
4093
414
Programmering er hårdt. De eneste, der siger andet, er dem, der har mange års kodningserfaring under deres bælter. Det er okay at blive overvældet! Der er en masse at lære, og du vil sandsynligvis glemme tingene så hurtigt, som du lærer dem. Stol på mig: det er normalt.
Men bare fordi det er normalt, betyder det ikke, at det ikke er frustrerende. Sandheden bliver fortalt, at lære at kode, hvordan man lærer programmering uden al stress Sådan lærer man programmering uden al den stress Måske har du besluttet at forfølge programmering, hvad enten det drejer sig om en karriere eller bare som en hobby. Store! Men måske begynder du at blive overvældet. Ikke så stor. Her er hjælp til at lette din rejse. kan være ekstremt stressende, hvis du ikke nærmer dig det med den rette tankegang og holdning.
Du vil lære det nye sprog eller bibliotek eller ramme så hurtigt som muligt, ikke? Det er forståeligt. Heldigvis er der en håndfuld tip, der kan hjælpe dig med at bevare alle de tunge programmeringsoplysninger, der fortsat flyver i det ene øre og lige ud af det andet.
Ikke mere Cram-sessioner
Ingen ønsker at høre det, men at proppe er den værste måde at lære at programmere på. Hvis du er ligesom mig, var proppning din modus operandi alt gennem skole og universitet. Det er den eneste måde, du ved, hvordan man studerer.
Men lær af mine fejl: jo mere du prøver at proppe, jo mindre vil du huske. Det er stort set sandt for ethvert videnbaseret emne, men det er især sandt, når det kommer til programmering.
Grundlaget for denne påstand stammer fra en undersøgelse fra 2008 fra University of California, San Diego:
“Studerende klarer sig bedre, når de placerer deres studietimer i stedet for når de forsøger at klæbe alt ind i deres noggins under et møde.”
Hvorfor? Sandsynligvis på grund af den serielle positionseffekt:
“Seriel positionseffekt er en persons tendens til at huske de første og sidste poster i en serie bedst og midterste poster værst.”
Med andre ord: I en given undersøgelsessession er det mere sandsynligt, at du beholder de informationer, du lærte nær begyndelsen og slutningen af sessionen, og mere sandsynligt at du glemmer informationen fra midten af sessionen..
Du ønsker at maksimere antallet af begyndelser og ender. Derfor er det bedre at have flere korte sessioner i stedet for et par lange sessioner, når det kommer til at lære og absorbere nyt materiale.
Næste gang du sætter dig ned for at lære kode, skal du tage det et emne ad gangen og tage en kort pause mellem hvert emne. (Bare sørg for at forhindre, at dine pauser bliver til udsættelse!)
Review, Review, Review
En anden grund til, at proklamering er antitetisk for langvarig videnopbevaring, er, fordi hukommelsen falmer over tid. Dette er ikke altid sandt - jeg er sikker på, at vi alle har et par barndomsminder, som aldrig vil forsvinde - men det ser ud til at være det generelle tilfælde for minder, der ikke er bundet til følelser.
Der er en vis debat om, hvorvidt hukommelsen i sig selv forfalder på grund af tid (forfaldsteori) eller blot bliver skubbet ud og erstattet af nye minder over tid (interferenssteori). Uanset hvilken teori du abonnerer på, er resultatet, at ældre minder er mere tilbøjelige til at forsvinde.
Det er her anmeldelse kommer ind.
Tænk på det som at gå gennem en skov af minder. Hver gang du vil have adgang til en hukommelse, skal du spore den neurale vej for at finde den. Hver gang du sporer denne hukommelse, bliver stien ætset i lidt mere - ligesom hvordan en grusvej naturligt dannes, når folk går den samme sti igen og igen. Hvis du holder op med at gå stien, kan den falme væk, og hukommelsen ender tabt et sted i skoven.
At afsætte al poppsykologi, her er takeaway: når det kommer til programmering, er det ikke nok at lære et emne bare en eller to gange. Du er nødt til at besøge det flere eller flere hundrede gange. Hver gennemgang ætser emnet i din hjerne lidt dybere.
Jeg ved, hvor svært dette kan være, hvis du er en naturlig crammer, men du vil blive overrasket over, hvor hurtigt du begynder at bevare materiale, når du først prøver at gennemgå det regelmæssigt.
Brug flere forskellige ressourcer
Det sværeste aspekt ved programmering - i det mindste for splinternye kodere - er den store bredde af detaljer og nuancer, der skal internaliseres. Indtil den internalisering sker, vil du være i en evig tilstand af hovedskrammer.
Afhængigt af sproget skal du huske hundredvis af syntaksregler (f.eks. Nøgleord, semikolon, hvidafstand). Nogle sprog er strengere, andre er mindre, og stadig andre har deres egne unikke tilgange til syntaks, som ikke bruges andre steder. Alt dette kan være forvirrende, hvis du ikke har nogen tidligere erfaring med kodning.
For ikke at nævne al den konceptuelle information, der overskrider individuelle sprog. Emner som objektorienteret programmering, enhedskomponent-systemer og observatormønstre kan virkelig få dit hoved til at dreje første gang du prøver at lære dem.
Jeg har delt denne illustration før, men det er så præcist, at det bærer gentagelse:
“Antag, at nogen viste dig et fotografi af en statue. Det giver måske nok et billede til, at du får en tilstrækkelig fornemmelse af statuen, men du får ikke hele billedet. Et zoomet ud-foto mister intrikate detaljer, mens et zoomet ind-foto mister en følelse af perspektiv. Med yderligere fotografier taget fra andre vinkler kan du imidlertid virkelig begynde at se statuenes fylde i struktur, i størrelse, i detaljer, fra front til bagside, fra side til side og fra top til bund.”
At lære at programmere kan være overraskende vilkårligt. Alle vil måske rose ressource A som værende den bedste måde at lære sprog X på, men måske giver det ingen mening for dig. Måske hader alle ressource B, men du ser én gang, og det giver god mening! Hvad angår en anden, måske de zone, når de studerer ressourcer A og B, men drager stor fordel af ressource C.
Derfor er det så vigtigt for dig at være villig til at forbruge alle slags ressourcer derude. Alle lærer på en anden måde. Hvis du har problemer med et bestemt emne, skal du søge efter en anden ressource. Måske den ene vil være mere velegnet til dig. Måske ikke.
Selv hvis du tror, du forstår visse emner, er det muligt, at der er mere at lære om det. Det er også muligt for en andens forklaring at størkne konceptet i dit sind for godt. Du ved aldrig, så hvorfor ikke forbruge så mange ressourcer som du kan?
Bemærk, at spil kan være en kritisk nyttig ressource! Tjek disse sjove og pædagogiske kodningsspil De 9 bedste kodningsspil til at opbygge dine programmeringsevner De 9 bedste kodningsspil til at opbygge dine programmeringsevner Kodningspil hjælper dig med at lære hurtigere med praktisk praksis og oplevelse. Plus, de er en sjov måde at teste dine programmeringsevner på! .
Lær koncepter, som du lærer dem
Der er et smukt koncept i programmering kaldet gummiendebugging De underligste programmeringsprincipper, du aldrig har hørt om de underligste programmeringsprincipper, du aldrig har hørt om følgende principper vil lære dig at være klog med din kode. Nogle er underlige, og mange er humoristiske, men de er alle lige så praktiske og vigtige. Pas på! , der beskriver teknikken med at forklare ens kode, linje for linje, til en livløs gummiand. Det bruges, når et bestemt segment af koden brydes, men der er ingen åbenlyst grund til det.
Mærkeligt nok har de fleste programmerere en “Eureka!” et øjeblik midt i at forklare koden, da de pludselig ser, hvor fejlen i kodningslogik opstår. Verbalisering udløser et andet område i hjernen, hvilket tvinger dig til at se problemet fra en ny vinkel.
Dette koncept kan også bruges til at hjælpe dig med at lære nyt materiale. Du er måske stødt på dette populære citat, der ofte tilskrives Albert Einstein:
“Hvis du ikke kan forklare det enkelt, forstår du det ikke godt nok.”
Med undtagelse af nogle områder, der beskæftiger sig med avanceret teoretisk viden, gælder dette ordsprog. Jo mere du forstår et emne, jo bedre rustet er du til at forklare det på en sådan måde, at en person, der ikke har kendskab til det nævnte emne, stadig kan forstå det..
Det modsatte af dette er også sandt. Når du prøver at undervise i et emne, vil du støde på visse begreber, som du ikke ser ud til at forklare på en klar måde. Ikke kun er dette en fantastisk måde at diagnosticere svagheder i din viden, selve processen med at finde den rigtige forklaring kan hjælpe med at stivne konceptet i dit sind.
Det kaldes læring-ved-undervisning, og det er dybest set en vri på gummiendefugging.
Nu siger jeg ikke, at du skulle gøre det rent faktisk lære andre; snarere hvert nyt programmeringsemne, du lærer, så prøv at undervise det til en gummiand (eller en usynlig ven). Det kan føles fjollet i starten, men du kan synes det er utroligt frugtbart, når det kommer til hukommelsesopbevaring.
Bevidst praksis gør perfekt
Begrebet talent er komplet affald. Ingen forlader livmoderen som violinist, wrestler eller programmør i verdensklasse. Sikker på, nogle mennesker er måske mere tilbøjelige til visse discipliner, men talent uden erfaring er nytteløst Lad ikke dine skjulte talenter dø: 7 måder at gå & finde dem igen Lad ikke dine skjulte talenter dø: 7 måder at gå & find Dem igen Den dårlige nyhed er, at du er nødt til at arbejde hårdt med intentionen om at polere dine skjulte talenter. Den gode nyhed er, at der er flere muligheder end nogensinde for at skjule dine talenter. . Tilsvarende er hårdt arbejde altid mere værdifuldt end talent.
Når det er sagt, ikke alle former for hårdt arbejde er ens. Malcolm Gladwell opfandt den berygtede 10.000 timers regel, der siger, at du skal investere mindst 10.000 timer i et emne for at blive en mester på det. Mens følelsen måske er sand, fortolker mange mennesker fejlagtigt, hvad han prøvede at sige.
Lang historie kort, en 10.000 timers forpligtelse garanterer faktisk ikke mestring. Du kender ordsproget: “Praksis gør ikke perfekt. Perfekt praksis gør perfekt.” For at det skal være meningsfuldt, skal praksis være forsætlig. Vil du blive ekspert på noget? Prøv bevidst praksis Vil du blive ekspert på noget? Prøv bevidst praksis Det er alt for let at føle sig krænket, når du hårdt prøver at forbedre en bestemt færdighed. Brug kraften i "bevidst praksis" for at få dig over de irriterende plateauer. . Mestring kan kun opnås gennem 10.000 timers bevidst praksis.
Hvordan du praktiserer betyder meget mere end hvor meget tid du bruger på at øve.
Læsning er passiv. At se YouTube-lektioner er passivt. Det er passivt at lytte til podcasts. Som nybegynderkoder kan du blive fristet til at fladre fra tutorial til tutorial, tackle fag efter emne uden faktisk at anvende noget af denne viden på en praktisk måde. Modstå denne fristelse.
Det er en ting at forstå et eksempel foran dig, men det er en anden at syntetisere en løsning fra bunden af. Hvis du vil fremskynde læringsprocessen, skal du være villig til at være aktiv i stedet for passiv. Aktiv praksis er den eneste slags, der betyder noget i sidste ende.
Eksperiment med personlige projekter
For mig var hjemmearbejde den værste del af skolen. Det virkede bare som en detaljeret knep for at dræbe sjov og holde studerende travlt - hvilket for at være retfærdigt undertiden var sandt. Men nu, når jeg ser tilbage, giver vigtigheden af hjemmearbejde endelig mening. Det tvang mig til at anvende nyligt erhvervet viden på en aktiv måde.
Hvis du er tilmeldt programmeringskurser og klasser De 11 bedste websteder til gratis online computerprogrammeringskurser De 11 bedste websteder til gratis online computerprogrammeringskurser Ved hjælp af disse gratis online computerprogrammeringskurser, kan du blive en god koder uden en computervidenskabelig grad. , undervurder ikke effektiviteten af hjemmearbejde. Tag det alvorligt, og behandl det altid som en chance for at cementere det, du har lært, i langtidshukommelsen.
Men mange gange er lektier stadig ikke nok. (Og hvis du lærer at programmere på egen hånd uden en egentlig instruktør, har du sandsynligvis ikke noget hjemmearbejde til at begynde med.)
Hvad er løsningen? Opret et par kastede sideprojekter!
Tænk på et par projektideer 5 Projektideer, der hjælper dig med at lære programmering hurtigere 5 Projektideer, der hjælper dig med at lære programmering hurtigere Der er et par måder at lette læringskurven for programmering. Få dine hænder beskidte, og lær hurtigere med sideprojekter, du kan starte når som helst. Leg rundt med disse fem. som du gerne vil implementere. For absolutte nybegynder kan du overveje et spil Tic-Tac-Toe eller Hangman. For erfarne programmerere, der prøver at lære en ny ramme, kan du prøve at kode en simpel mobilapp eller webspil. Så længe det interesserer dig på et personligt plan, skal du gå efter det!
Skønheden ved denne tilgang er dobbelt.
For det første er det mere sandsynligt, at du holder din opmærksomhed. Undersøgelser har vist, at studerende lærer bedre, når de kan forfølge emner, der interesserer dem. Det er præcis, hvad et personligt projekt tilbyder. Du har et slutmål, som du faktisk ønsker at nå, så du er mere tilbøjelig til at bevare de oplysninger, der får dig der.
For det andet er der ikke noget pres for dig at lykkes. Selvom succes ville være rart, giver manglen på formalitet dig mulighed for at være eksperimentel og kreativ. Du kommer uundgåeligt ind i problemer, men det er mere som at lege med Lego end det er hjemmearbejde. Det er sjovere og ikke så stressende.
Slap af og bogmærke alt
Sandheden er, at ingen programmerer husker det alt de har lært. Selv efter at du har arbejdet med et bestemt bibliotek eller ramme i et stykke tid, er det ikke ualmindeligt, hvis du ikke kan huske alle funktioner eller variabler fra toppen af dit hoved.
Faktisk kan det, at prøve at huske alt, bare ende med at blive et enormt spild af tid og kræfter. Referenceark findes af en grund. Hvorfor forpligte et helt encyklopædi til hukommelsen, når du bare kan vende det åbent, når du har brug for det?
Så hvornår man skal huske og hvornår man skal henvise?
Når det kommer til begrebsmateriale, skal du altid internalisere det efter bedste evne. Med det mener jeg at forstå teorien, selvom du ikke kan konvertere den til faktisk kode (og teorien skal være klar nok for dig til at du kan lære den klart).
For alt andet - f.eks. Specifikke funktionsnavne, parameterlister eller endda sprogforhold - Jeg ville ikke bekymre mig om at forpligtes til hukommelsen. Du er velkommen til at udsætte til et referenceark. Nogle gange refererer du til noget så ofte, at du ender med at huske det. Hvis det sker, fint. Hvis ikke, er det også fint.
Personligt har jeg hundreder af internetbogmærker til forskellige API'er, guider og tutorials. Hvis jeg har brug for at implementere en slags stifindingsalgoritme, refererer jeg måske til en guide, der hjælper mig med at få den kodet, inden jeg glemmer det igen. Det hjælper med at forstå de underliggende koncepter, men jeg prøver ikke at bekymre sig om implementeringsdetaljer.
Afsluttende tanker
Jeg gentager det en million gange, hvis jeg skal: programmering er hårdt, og det er okay, hvis du kæmper med det. Jeg har programmeret som en hobby i over et årti, og jeg finder mig stadig skræmt, når jeg har nye koncepter at lære.
Slå ikke dig selv, hvis du ikke kan huske alt med det samme. Ovenstående tip vil forhåbentlig vise sig nyttige for dig, og selvom de ikke gør det, kan du altid stole på bogmærkede referencer som en sidste udvej.
Synes du, at programmering er vanskelig? Hvilke slags tricks og tip ved du, der kan være nyttigt for nybegynder-kodere? Del din visdom med os i kommentarerne herunder!
Billedkreditter: Binary Programmer Via Shutterstock, Memory Eraser Via Shutterstock, tilsløret kode Via Shutterstock, Rubber Ducky Via Shutterstock, Keyboard Typist Via Shutterstock, PHP Kildekode Via Shutterstock, File Folders Via Shutterstock