Annonse

Programmering er hard. De eneste som sier noe annet, er de som har mange års erfaring med koding under beltet. Det er greit å bli overveldet! Det er en mye å lære, og du vil sannsynligvis glemme ting like raskt som 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 Hvordan lære programmering uten alt stressKanskje du har bestemt deg for å satse på 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. Les mer kan være ekstremt stressende hvis du ikke nærmer deg det med riktig tankesett og innstilling.

Du vil lære det nye språket eller biblioteket eller rammeverket så snart som mulig, ikke sant? Det er forståelig. Heldigvis finnes det en håndfull tips som kan hjelpe deg med å beholde all den tunge programmeringsinformasjonen som fortsetter å fly inn det ene øret og rett ut av det andre.

Ingen flere Cram-økter

Ingen ønsker å høre det, men å stappe er den verste måten å lære å programmere på. Hvis du er noe som meg, var cramming din modus operandi alt på hele skolen og universitetet. Det er den eneste måten du vet hvordan du skal studere.

Men lær av mine feil: jo mer du prøver å stappe, jo mindre kommer du til å huske. Det er stort sett sant for ethvert kunnskapsbasert fag, men det gjelder spesielt når det kommer til programmering.

Grunnlaget for denne påstanden kommer fra en studie fra 2008 av University of California, San Diego:

"Studenter presterer bedre når de avvikler studieøktene sine i stedet for når de prøver å stappe alt inn i knekken i løpet av en sitting."

Hvorfor? Mest sannsynlig på grunn av seriell posisjonseffekt:

"Serieposisjonseffekt er en persons tendens til å huske de første og siste elementene i en serie best, og de midterste elementene verst."

Med andre ord: i en gitt studieøkt er det mer sannsynlig at du beholder informasjonen du har lært i nærheten begynnelsen og slutten av økten og mer sannsynlig å glemme informasjonen fra midten av økt.

Du ønsker å maksimere antall begynnelser og slutter. Derfor er det bedre å ha flere korte økter i stedet for noen lange økter når det gjelder å lære og ta til seg nytt materiale.

Neste gang du setter deg ned for å lære kode, ta det ett emne om gangen og ta en liten pause mellom hvert emne. (Bare sørg for å forhindre at pausene dine blir til utsettelse!)

Gjennomgå, gjennomgå, gjennomgå

En annen grunn til at chopping er antitetisk til langsiktig kunnskapsbevaring, er fordi minnet blekner over tid. Dette er ikke alltid sant - jeg er sikker på at vi alle har noen få 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 viss debatt om selve hukommelsen forfaller på grunn av tid (forfallsteori) eller rett og slett blir presset ut og erstattet av nye minner over tid (interferens teori). Uansett hvilken teori du abonnerer på, er resultatet at eldre minner er mer sannsynlig å forsvinne.

Det er her vurdering kommer inn.

newbie-coder-tips-memory-review

Tenk på det som å gå gjennom en skog av minner. Hver gang du vil ha tilgang til et minne, må du spore nevrale banen for å finne den. Hver gang du sporer det minnet, blir stien etset inn litt mer - akkurat som hvordan en grusvei naturlig dannes når folk går den samme stien om og om igjen. Hvis du slutter å gå på stien, kan den forsvinne og minnet ender opp et sted i skogen.

Sett til side all poppsykologien, her er takeaway: når det kommer til programmering, er det ikke nok å lære et emne bare en eller to ganger. Du må besøke det dusinvis eller til og med hundrevis av ganger. Hver anmeldelse etser det emnet inn 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 raskt du begynner å beholde materialet når du prøver å vurdere det regelmessig.

Bruk flere forskjellige ressurser

Det tøffeste aspektet ved programmering - i hvert fall for helt nye kodere - er bredden av detaljer og nyanser som må internaliseres. Inntil den internaliseringen skjer, kommer du til å være i en evig tilstand av hodeskraping.

Avhengig av språket, må du huske hundrevis av syntaksregler (f.eks. nøkkelord, semikolon, mellomrom). Noen språk er strengere, andre er mindre, og atter andre har sine egne unike tilnærminger til syntaks som ikke brukes andre steder. Alt dette kan være forvirrende hvis du ikke har tidligere erfaring med koding.

newbie-coder-tips-code-confusion

For ikke å nevne all den konseptuelle informasjonen som overskrider individuelle språk. Emner som objektorientert programmering, enhetskomponentsystemer og observatørmønstre kan virkelig få hodet til å snurre første gang du prøver å lære dem.

Jeg har delt denne illustrasjonen før, men den er så presis at den tåler å gjentas:

«Anta at noen viste deg et fotografi av en statue. Det kan gi nok et bilde for deg til å få en tilstrekkelig følelse av statuen, men du vil ikke få hele bildet. Et utzoomet bilde ville miste intrikate detaljer, mens et innzoomet bilde ville miste en følelse av perspektiv. Men med flere bilder tatt fra andre vinkler, kan du virkelig begynne å se statuens fylde i tekstur, i størrelse, i detalj, fra forsiden til baksiden, fra side til side og topp til bunn."

Å lære å programmere kan være overraskende vilkårlig. Alle kan prise ressurs A som den beste måten å lære språk X på, men kanskje gir det ingen mening for deg. Kanskje alle hater ressurs B, men du tar ett blikk og det gir perfekt mening! Når det gjelder noen andre, kanskje de soner ut når de studerer ressurs A og B, men har stor nytte av ressurs C.

Det er derfor det er så viktig for deg å være villig til å bruke alle slags ressurser der ute. Alle lærer på en annen måte. Hvis du har problemer med et bestemt emne, kan du søke etter en annen ressurs. Kanskje den passer bedre for deg. Kanskje ikke.

Selv om du tror du forstår visse emner, er det mulig at det er mer å lære om det. Det er også mulig for en annens forklaring å befeste konseptet i tankene dine for godt. Du vet aldri, så hvorfor ikke bruke så mange ressurser du kan?

Merk at spill kan være en kritisk nyttig ressurs! Sjekk ut disse morsomme og lærerike kodespill De 9 beste kodespillene for å bygge dine programmeringsferdigheterKodespill hjelper deg å lære raskere med praktisk øvelse og erfaring. I tillegg er de en morsom måte å teste programmeringsferdighetene dine på! Les mer .

Lær konsepter mens du lærer dem

Det er et vakkert konsept innen programmering som heter feilsøking av gummiand De rareste programmeringsprinsippene du aldri har hørt omFølgende prinsipper vil lære deg å være klok med koden din. Noen er merkelige, og mange er humoristiske, men de er alle like praktiske og viktige. Pass på! Les mer , som beskriver teknikken for å forklare ens kode, linje for linje, til en livløs gummiand. Den brukes når et bestemt kodesegment er ødelagt, men det er ingen åpenbar grunn til det.

Merkelig nok har de fleste programmerere en "Eureka!" øyeblikk midt i å forklare koden da de plutselig ser hvor feilen i kodelogikken 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, stemmer dette ordtaket. Jo mer du forstår et emne, desto bedre rustet er du til å forklare det på en slik måte at noen som ikke har kjennskap til nevnte emne, fortsatt kan forstå det.

nybegynner-koder-tips-gummi-and

Det motsatte av dette er også sant. Når du prøver å undervise i et emne, vil du komme over visse konsepter som du ikke ser ut til å forklare på en klar måte. Ikke bare er dette en fantastisk måte å diagnostisere svakheter i kunnskapen din, selve prosessen med å finne den riktige forklaringen kan bidra til å styrke konseptet i tankene dine.

Det kalles learning-by-teaching, og det er i utgangspunktet en vri på gummiand-feilsøking.

Nå sier jeg ikke at du burde faktisk lære andre; heller, hvert nytt programmeringsemne du lærer, prøv å lære det til en gummiand (eller en usynlig venn). Det kan føles dumt i begynnelsen, men du kan finne det utrolig fruktbart når det kommer til hukommelsesbevaring.

Bevisst praksis gjør mester

Forestillingen om talent er fullstendig søppel. Ingen går ut av livmoren som fiolinist, bryter eller programmerer i verdensklasse. Jada, noen mennesker kan være mer tilbøyelige til visse disipliner, men talent uten erfaring er ubrukelig Ikke la dine skjulte talenter dø: 7 veier å gå og finne dem igjenDen dårlige nyheten er at du må jobbe hardt med intensjon for å polere dine skjulte talenter. Den gode nyheten er at det er flere muligheter enn noen gang til å spytte frem talentene dine. Les mer . På samme måte er hardt arbeid alltid mer verdifullt enn talent.

Når det er sagt, ikke alle former for hardt arbeid er like. Malcolm Gladwell laget den beryktede 10.000-timersregelen, som sier at du må investere minst 10.000 timer i et fag for å bli en mester i det. Selv om følelsen kan være sann, mistolker mange det han prøvde å si.

newbie-koder-tips-bevisst-praksis

Lang historie kort, en forpliktelse på 10 000 timer garanterer faktisk ikke mestring. Du vet ordtaket: «Øvelse gjør ikke mester. Perfekt øvelse gjør mester." For at det skal være meningsfullt, praksis må være bevisst Vil du bli ekspert på noe? Prøv bevisst praksisDet er altfor lett å føle seg sviktet når du iherdig prøver å forbedre en viss ferdighet. Bruk kraften til "bevisst praksis" for å komme deg over disse irriterende platåene. Les mer . Mestring kan bare oppnås gjennom 10 000 timer med bevisst praksis.

Hvordan du øver betyr mye mer enn hvor mye tid du bruker på å øve.

Lesing er passivt. Å se YouTube-leksjoner er passivt. Å lytte til podcaster er passivt. Som nybegynnerkoder kan du bli fristet til å blafre fra veiledning til veiledning, og takle emne etter emne uten å faktisk bruke noe av den kunnskapen på en praktisk måte. Motstå denne fristelsen.

En ting er å forstå et eksempel før deg, men det er en annen å syntetisere en løsning fra bunnen av. Skal du få fart på læringsprosessen, må du være villig til å være aktiv i stedet for passiv. Aktiv trening er den eneste typen som betyr noe til slutt.

Eksperimenter med personlige prosjekter

For meg var lekser den verste delen av skolen. Det virket bare som et forseggjort triks for å drepe moro og holde studenter opptatt - som, for å være rettferdig, noen ganger var sant. Men nå som jeg ser tilbake, gir viktigheten av lekser endelig mening. Det tvang meg til å anvende nyervervet kunnskap på en aktiv måte.

Hvis du er påmeldt programmeringskurs og klasser De 11 beste nettstedene for gratis online dataprogrammeringskursVed å bruke disse gratis online dataprogrammeringskursene kan du bli en god koder uten en informatikkgrad. Les mer , ikke undervurder effektiviteten av lekser. Ta det på alvor, alltid behandle det som en sjanse til å sementere det du har lært ytterligere inn i langtidshukommelsen.

Men mange ganger er lekser fortsatt ikke nok. (Og hvis du lærer å programmere på egen hånd uten en faktisk instruktør, har du sannsynligvis ingen lekser til å begynne med.)

newbie-koder-tips-personlige-prosjekter

Hva er løsningen? Lag et par engangs-sideprosjekter!

Tenk på en få prosjektideer 5 prosjektideer for å hjelpe deg med å lære programmering raskereDet er noen måter å lette læringskurven for programmering på. Skitne hendene og lær raskere med sideprosjekter du kan starte når som helst. Lek med disse fem. Les mer som du ønsker å implementere. For absolutte nybegynnere kan du vurdere et spill med Tic-Tac-Toe eller Hangman. For erfarne programmerere som prøver å lære et nytt rammeverk, kan du prøve å kode en enkel mobilapp eller nettspill. Så lenge det interesserer deg på et personlig nivå, gå for det!

Det fine med denne tilnærmingen er todelt.

For det første er det mer sannsynlig at det holder oppmerksomheten din. Studier har vist at elever lærer 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 faktisk ønsker å oppnå, og derfor er det mer sannsynlig at du beholder informasjonen som vil bringe deg dit.

For det andre er det ikke noe press for at du skal lykkes. Selv om suksess ville være fint, lar mangelen på formalitet deg være eksperimentell og kreativ. Du kommer uunngåelig til å støte på problemer, men det er mer som å leke med Lego enn det er lekser. Det er morsommere og ikke like 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 en stund, er det ikke uvanlig hvis du ikke kan huske hver funksjon eller variabel fra toppen av hodet.

Faktisk kan det å prøve å huske alt bare ende opp med å være en enorm sløsing med tid og krefter. Referanseark finnes av en grunn. Hvorfor forplikte et helt leksikon til minnet når du bare kan åpne det når du trenger det?

nybegynner-koder-tips-referanse-alt

Så når skal man huske og når man skal referere?

Når det gjelder konseptuelt materiale, internaliser det alltid etter beste evne. Med det mener jeg å forstå teorien selv om du ikke kan konvertere den til faktisk kode (og teorien bør være klar nok for deg til at du kan lære den tydelig).

For alt annet – for eksempel spesifikke funksjonsnavn, parameterlister eller til og med språkinnfall – Jeg ville ikke bekymre meg for å forplikte meg til minnet. Utsett gjerne til et referanseark. Noen ganger refererer du noe så ofte at du ender opp med å huske det. Hvis det skjer, greit. Hvis ikke, er det også greit.

Personlig har jeg hundrevis av Internett-bokmerker til forskjellige APIer, guider og opplæringsprogrammer. Hvis jeg trenger å implementere en slags stifinningsalgoritme, kan jeg referere til en guide for å hjelpe meg med å få den kodet før jeg glemmer den igjen. Det hjelper å forstå de underliggende konseptene, men jeg prøver å ikke bekymre meg over implementeringsdetaljer.

Siste tanker

Jeg vil gjenta 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 blir fortsatt skremt når jeg har nye konsepter å lære.

Ikke slå deg selv opp hvis du ikke kan huske alt med en gang. Tipsene ovenfor vil forhåpentligvis være nyttige for deg, og selv om de ikke gjør det, kan du alltid stole på bokmerkede referanser som en siste utvei.

Synes du det er vanskelig å programmere? Hva slags triks og tips vet du som kan være nyttige for nybegynnere som kodere? Del din visdom med oss ​​i kommentarene nedenfor!

Bildekreditt: Binær programmerer via Shutterstock, Memory Eraser via Shutterstock, Obfuskert kode via Shutterstock, Gummi Ducky Via Shutterstock, Tastaturskriver via Shutterstock, PHP-kildekode via Shutterstock, Filmapper via Shutterstock

Joel Lee har en B.S. i informatikk og over seks års profesjonell skriveerfaring. Han er sjefredaktør for MakeUseOf.