7 Nyttige triks for å mestre et nytt programmeringsspråk
Programmeringen er hard. De eneste som sier ellers er de som har mange års koding erfaring under beltene sine. Det er greit å bli overveldet! Det er en mye å lære og du vil sannsynligvis glemme ting så fort du lærer dem. Stol på meg: det er normalt.
Men bare fordi det er normalt betyr det ikke at det ikke er frustrerende. Sannhet bli fortalt, lære å kode Slik lærer du programmering uten all stress Slik lærer du programmering uten all stress Kanskje du har bestemt deg for å forfølge programmering, enten for en karriere eller bare som en hobby. Flott! Men kanskje du begynner å føle deg overveldet. Ikke så bra. Her er hjelp til å lette reisen din. Les mer kan være ekstremt stressende hvis du ikke nærmer deg det med riktig tankegang og holdning.
Du vil lære det nye språket eller biblioteket eller rammen så snart som mulig, ikke sant? Det er forståelig. Heldigvis er det en håndfull tips som kan hjelpe deg med å bedre behold all den tunge programmeringsinformasjonen som holder fly i et øre og rett ut den andre.
Ingen flere Cram-økter
Ingen ønsker å høre det, men cramming er den verste måten å lære å programmere. Hvis du er noe som meg, var cramming din modus operandi alle gjennom hele skolen og universitetet. Det er den eneste måten du vet hvordan du skal studere.
Men lære av mine feil: Jo mer du prøver å klappe, desto mindre kommer du til å huske. Det er ganske sant for ethvert kunnskapsbasert emne, men det gjelder spesielt når det gjelder programmering.
Grunnlaget for dette kravet kommer fra en studie fra 2008 ved University of California, San Diego:
“Elevene utfører seg bedre når de plasserer studieøvelsene deres, i stedet for når de prøver å kramme alt inn i deres nagler under en sittende.”
Hvorfor? Mest sannsynlig på grunn av serieposisjonseffekten:
“Serieposisjonseffekt er tendensen til en person til å huske de første og siste elementene i en serie best, og de mellomste punktene er verst.”
Med andre ord: i en gitt studie økt, er du mer sannsynlig å beholde informasjonen du lærte nær begynnelsen og slutten av økten, og mer sannsynlig å glemme informasjonen fra midten av økten.
Du vil maksimere antall begynnelser og ender. Derfor er det bedre å ha flere korte økter i stedet for noen lange økter når det gjelder å lære og absorbere nytt materiale.
Neste gang du setter deg ned for å lære kode, ta det ett emne om gangen og ta en kort pause mellom hvert emne. (Bare vær sikker på å hindre at pausene dine blir til forutsetninger!)
Review, Review, Review
En annen grunn, hvorfor cramming er antitetisk til langsiktig kunnskapsretensjon er fordi minnet falmer over tid. Dette er ikke alltid sant - jeg er sikker på at vi alle har noen barndomsminner som aldri vil forsvinne - men det ser ut til å være det generelle tilfellet for minner som ikke er knyttet til følelser.
Det er en del debatt om minnet selv faller på grunn av tiden (forfallsteorien) eller bare blir presset ut og erstattet av nye minner over tid (forstyrrelsesteori). Uansett hvilken teori du abonnerer på, er resultatet at eldre minner er mer sannsynlig å falme bort.
Det er her anmeldelsen kommer inn i spill.
Tenk på det som å gå gjennom en skog av minner. Hver gang du vil ha tilgang til et minne, må du spore nevralbanen for å finne den. Hver gang du sporer det minnet, blir banen etset i litt mer - akkurat som hvordan en skittvei danner naturlig når folk går den samme veien om og om igjen. Hvis du slutter å gå på banen, kan den forsvinne og minnet til slutt går tapt et sted i skogen.
Ved å sette bort alle poppsykologien, er det takeaway: når det gjelder programmering, er det ikke nok å lære et emne bare en eller to ganger. Du må besøke dusinvis eller til og med hundrevis av ganger. Hver anmeldelse etser dette emnet i hjernen din litt dypere.
Jeg vet hvor vanskelig dette kan være hvis du er en naturlig crammer, men du vil bli overrasket over hvor fort du begynner å beholde materiale når du har gjort en innsats for å se det regelmessig.
Bruk flere forskjellige ressurser
Det tøffeste aspektet ved programmering - i hvert fall for helt nye kodere - er den rene bredden av detaljer og nyanser som må internaliseres. Inntil den internaliseringen skjer, kommer du til å være i evigvarende tilstand for å skrape.
Avhengig av språket må du huske hundrevis av syntaksregler (for eksempel søkeord, semikolon, hvitt plass). Noen språk er strengere, andre er mindre, og andre har også sine egne unike tilnærminger til syntaks som ikke brukes andre steder. Alt dette kan være forvirrende hvis du ikke har noen tidligere kodingserfaring.
For ikke å nevne all konseptuell informasjon som overskrider individuelle språk. Emner som objektorientert programmering, enhetskomponent-systemer og observatørmønstre kan virkelig gjøre hodet ditt i gang første gang du prøver å lære dem.
Jeg har delt denne illustrasjonen før, men det er så påpekt at det viser seg å gjenta:
“Anta at noen viste deg et bilde av en statue. Det kan gi nok av et bilde for å få en tilstrekkelig følelse av statuen, men du ville ikke få hele bildet. Et forstørret bilde ville miste intrikate detaljer mens et innzoomt bilde ville miste en følelse av perspektiv. Men med flere bilder tatt fra andre vinkler, kan du virkelig begynne å se statuenes fylde i tekstur, i størrelse, i detalj, fra front til bakside, side til side og topp til bunn.”
Lære å programmere kan være overraskende vilkårlig. Alle kan rose Ressurs A som den beste måten å lære språk X på, men kanskje det ikke gir mening. Kanskje alle hater Ressurs B, men du tar et blikk og det gir perfekt mening! Som for noen andre, sone de kanskje ut når de studerer ressurser A og B, men har stor nytte av ressurs C.
Derfor er det så viktig at du er villig til å konsumere alle slags ressurser der ute. Alle lærer på en annen måte. Hvis du har problemer med et bestemt emne, kan du lete etter en annen ressurs. Kanskje den ene vil være mer egnet for deg. Kanskje ikke.
Selv om du tror du forstår enkelte emner, er det mulig at det er mer å lære om det. Det er også mulig for andres forklaring å konsolidere konseptet i ditt sinn for godt. Du vet aldri, så hvorfor ikke konsumere så mange ressurser som mulig?
Legg merke til at spill kan være en kritisk nyttig ressurs! Sjekk ut disse morsomme og pedagogiske kodingspillene De 10 beste programmeringsspillene for å teste og bygge dine kodingsferdigheter De 10 beste programmeringsspillene for å teste og bygge dine kodingsevner Programmeringsspill hjelper deg med å lære raskere med praktisk praksis og erfaring --- pluss de Det er veldig gøy! Les mer .
Lær konsepter når du lærer dem
Det er et vakkert konsept i programmering som kalles for gummi duck debugging. De rareste programmeringsprinsippene du aldri har hørt om de rareste programmeringsprinsippene du aldri har hørt om. Følgende prinsipper vil lære deg å være klok med koden din. Noen er rart, og mange er humoristiske, men de er alle like praktiske og viktige. Vær oppmerksom på! Les mer, som beskriver teknikken for å forklare ens kode, linje for linje, til en livløs gummiand. Den brukes når et bestemt segment av kode er ødelagt, men det er ingen åpenbar grunn til det.
Merkelig nok har de fleste programmører en “Eureka!” øyeblikk midt i å forklare koden som de plutselig ser hvor feilen i kodingslogikken oppstår. Verbalisering utløser et annet område av hjernen, og tvinger deg til å se problemet fra en ny vinkel.
Dette konseptet kan også brukes til å hjelpe deg med å lære nytt materiale. Du har kanskje kommet over dette populære sitatet som ofte tilskrives Albert Einstein:
“Hvis du ikke kan forklare det enkelt, forstår du det ikke godt nok.”
Med unntak av noen felt som omhandler avansert teoretisk kunnskap, gjelder dette ordtaket. Jo mer du forstår et emne, jo bedre er det å forklare det på en slik måte at noen som ikke har kjennskap til emnet, fremdeles kan forstå det.
Det motsatte av dette er sant også. Når du prøver å lære et emne, kommer du over visse begreper som du ikke kan forklare på en klar måte. Ikke bare er dette en fantastisk måte å diagnostisere svakheter i din kunnskap, den faktiske prosessen med å finne den riktige forklaringen kan bidra til å konsolidere konseptet i tankene dine.
Det kalles lærings-for-undervisning, og det er i utgangspunktet en vri på gummipåfelling.
Nå sier jeg ikke at du burde faktisk lære andre heller, hvert nytt programmeringsemne som du lærer, prøv å lære det til en gummidike (eller en usynlig venn). Det kan føle seg dumt i begynnelsen, men du kan finne det utrolig fruktbart når det gjelder minneoppbevaring.
Bevisst praksis gjør perfekt
Begrepet talent er komplett søppel. Ingen forlater livmoren som en verdensklasse fiolinist, bryter eller programmerer. Selvfølgelig kan noen mennesker være mer tilbøyelige til bestemte fagområder, men talent uten erfaring er ubrukelig. Ikke la dine skjulte talenter dø: 7 måter å gå og finne dem igjen. Ikke la dine skjulte talenter dø: 7 måter å gå og finne De igjen De dårlige nyhetene er at du må jobbe hardt med hensikt å polere dine skjulte talenter. Den gode nyheten er at det er flere muligheter enn noensinne å spytte dine talenter. Les mer . Tilsvarende er hardt arbeid alltid verdifullere enn talent.
Når det er sagt, Ikke alle former for hardt arbeid er like. Malcolm Gladwell utgjorde den beryktede 10.000 Hour Rule, som sier at du må investere minst 10.000 timer i et emne for å bli en mester på det. Mens følelsen kan være sant, misforstår mange mennesker hva han prøvde å si.
Lang historie kort, en 10.000 timers engasjement garanterer ikke faktisk mestring. Du vet ordtaket: “Øvelsen gjør ikke perfekt. Perfekt praksis gjør det perfekt.” For at det skal være meningsfylt, må øvelsen være forsettlig. Vil du bli ekspert på noe? Prøv bevisst praksis Ønsker å bli ekspert på noe? Prøv bevisst praksis Det er altfor lett å føle deg som en crestfallen når du prøver å forbedre en viss ferdighet. Bruk kraften til "bevisst praksis" for å få deg over de sjenerende platåene. Les mer . Mastery kan bare oppnås gjennom 10.000 timer med bevisst praksis.
Hvordan du praktiserer, betyr mye mer enn hvor mye tid du bruker å øve på.
Lesing er passiv. Å se YouTube-leksjoner er passiv. Lytte til podcaster er passiv. Som nybegynner kan du bli fristet til å flåte fra opplæringen til opplæringen, takle emne etter emne uten å faktisk bruke noen av den kunnskapen på en praktisk måte. Motstå denne fristelsen.
Det er en ting å forstå et eksempel før deg, men det er en annen å syntetisere en løsning fra bunnen av. Hvis du vil øke læringsprosessen, må du være villig til å være aktiv i stedet for passiv. Aktiv praksis er den eneste typen som betyr noe i slutten.
Eksperiment med personlige prosjekter
For meg var lekser den verste delen av skolen. Det virket som en forseggjort knep for å drepe moro og holde elevene opptatt - som for å være rettferdig, var det noen ganger sant. Men nå som jeg ser tilbake, er betydningen av lekser endelig fornuftig. Det tvang meg til å søke nyoppkalt kunnskap på en aktiv måte.
Hvis du er med på programmeringskurs og klasser 11 Beste Nettsteder for Gratis Online Computer Programmeringskurser 11 Beste Nettsteder for Gratis Online Programmeringskurs I dag kan du bli en masterkoder uten å plukke opp en tradisjonell datavitenskapsgrad. Hvor er alle disse gode læringsressursene, spør du? Flott spørsmål. Fortsett å lese og vi vil vise deg. Les mer, undervurder ikke effekten av lekser. Ta det seriøst, og behandle det alltid som en sjanse til å sementere hva du har lært til langsiktig hukommelse.
Men mange ganger er lekser fortsatt ikke nok. (Og hvis du lærer å programmere på egenhånd uten en faktisk instruktør, har du sannsynligvis ikke noen lekser til å begynne med.)
Hva er løsningen? Lag et par kaste bort sideprosjekter!
Tenk på noen prosjektideer 5 Prosjektideer som hjelper deg med å lære programmering raskere 5 prosjektideer for å hjelpe deg med å lære programmering raskere Det er noen måter å lette på lærekurven for programmering. Få hendene skitne og lær raskere med sideprosjekter du kan starte når som helst. Spill rundt med disse fem. Les mer som du vil implementere. For absolutt nybegynnere kan du vurdere et spill med Tic-Tac-Toe eller Hangman. For erfarne programmerere som prøver å lære et nytt rammeverk, prøv å kode en enkel mobilapp eller et webspill. Så lenge det interesserer deg på et personlig nivå, gå for det!
Skjønnheten i denne tilnærmingen er to ganger.
For det første er det mer sannsynlig å holde oppmerksomheten din. Studier har vist at elevene lærer seg bedre når de kan forfølge emner som interesserer dem. Det er akkurat det et personlig prosjekt tilbyr. Du har et sluttmål som du egentlig vil oppnå, og dermed er du mer sannsynlig å beholde informasjonen som får deg der.
For det andre er det ikke noe press for deg å lykkes. Mens suksess ville være fint, kan mangel på formalitet være eksperimentell og kreativ. Du kommer uunngåelig til å løse problemer, men det er mer som å leke med Lego enn det er lekser. Det er mer moro og ikke så stressende.
Slapp av og bokmerk alt
Sannheten er at ingen programmerer husker alt de har lært. Selv etter at du har jobbet med et bestemt bibliotek eller rammeverk for en stund, er det ikke uvanlig om du ikke kan huske hver funksjon eller variabel fra toppen av hodet ditt.
Faktisk, prøver å huske alt kan bare ende opp som et stort sløsing med tid og krefter. Referanseblad finnes av en grunn. Hvorfor forplikte et helt oppslagsverk til minne når du bare kan slå det åpent når du trenger det?
Så, når du skal huske og når du skal referere?
Når det gjelder konseptuelt materiale, internaliserer du det alltid så godt som mulig. Dermed mener jeg å forstå teorien selv om du ikke kan konvertere den til faktisk kode (og teorien skal være klar nok til deg for at du skal lære det klart).
For alt annet - for eksempel bestemte funksjonsnavn, parameterlister eller til og med språkkvoter - Jeg ville ikke bekymre meg for å begå til minne. Du er velkommen til å utsette til et referanseark. Noen ganger vil du referere til noe så ofte at du ender opp med å huske det. Hvis det skjer, greit. Hvis ikke, det er greit også.
Personlig har jeg hundrevis av Internett bokmerker til ulike APIer, guider og opplæringsprogrammer. Hvis jeg trenger å implementere noen form for patfinding-algoritme, kan jeg referere til en veiledning for å hjelpe meg å få den kodet før du glemmer det igjen. Det hjelper å forstå de underliggende konseptene, men jeg prøver ikke å bekymre meg om implementeringsdetaljer.
Siste tanker
Jeg gjentar det en million ganger hvis jeg må: programmering er vanskelig og det er greit hvis du sliter med det. Jeg har programmert som en hobby i over et tiår, og jeg er fortsatt skremt når jeg har nye konsepter å lære.
Ikke slå deg selv hvis du ikke husker alt med en gang. Ovennevnte tips vil forhåpentligvis vise seg nyttig for deg, og selv om de ikke gjør det, kan du alltid stole på bokmerkede referanser som en siste utvei.
Finner du programmering vanskelig? Hva slags triks og tips vet du at det kan være nyttig for nybegynnere kodere? Del visdommen med oss i kommentarene nedenfor!
Image Credits: Binary Programmer Via Shutterstock, Memory Eraser Via Shutterstock, Obfuscated Code Via Shutterstock, Rubber Ducky Via Shutterstock, Tastatur Typist Via Shutterstock, PHP Kildekode Via Shutterstock, Filmapper Via Shutterstock
Utforsk mer om: Programmering.