Reklame

Programmering er hårdt. De eneste, der siger noget andet, er dem, der har mange års erfaring med kodning. Det er okay at blive overvældet! Der er en masse at lære, og du vil sandsynligvis glemme ting lige så hurtigt, som du lærer dem. Tro mig: det er normalt.

Men bare fordi det er normalt, betyder det ikke, at det ikke er frustrerende. For at være ærlig, lære at kode Sådan lærer du programmering uden al stressMåske har du besluttet dig for at forfølge programmering, hvad enten det er for en karriere eller bare som en hobby. Store! Men måske begynder du at føle dig overvældet. Ikke så fantastisk. Her er hjælp til at lette din rejse. Læs mere kan være ekstremt stressende, hvis du ikke griber det an med den rigtige tankegang og attitude.

Du vil gerne lære det nye sprog eller det nye bibliotek eller ramme så hurtigt som muligt, ikke? Det er forståeligt. Heldigvis er der en håndfuld tips, der kan hjælpe dig til bedre at bevare al den tunge programmeringsinformation, der bliver ved med at flyve ind i det ene øre og lige ud af det andet.

instagram viewer

Ikke flere 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 noget som mig, var cramming din modus operandi alt i hele skolen og universitetet. Det er den eneste måde, du ved, hvordan du skal studere.

Men lær af mine fejl: jo mere du prøver at proppe, jo mindre kommer du til at huske. Det er stort set rigtigt for ethvert vidensbaseret emne, men det gælder især, når det kommer til programmering.

Grundlaget for denne påstand kommer fra en undersøgelse fra 2008 af University of California, San Diego:

"Eleverne præsterer bedre, når de placerer deres studiesessioner, i stedet for når de forsøger at proppe alt ind i deres knæ under ét møde."

Hvorfor? Mest sandsynligt pga seriel positionseffekt:

"Seriel positionseffekt er en persons tendens til at huske de første og sidste elementer i en serie bedst, og de midterste elementer de værste."

Med andre ord: i en given studiesession er det mere sandsynligt, at du beholder den information, du har lært i nærheden af begyndelsen og slutningen af ​​sessionen og mere tilbøjelige til at glemme informationen fra midten af session.

Du vil maksimere antallet af begyndelser og slutninger. 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, så tag det et emne ad gangen og hold en kort pause mellem hvert emne. (Bare sørg for at forhindre, at dine pauser bliver til tøven!)

Gennemgå, gennemgå, gennemgå

En anden grund til, at proppe er i modsætning til langsigtet videnopbevaring, er fordi hukommelsen falmer over tid. Dette er ikke altid sandt - jeg er sikker på, at vi alle har et par barndomsminder, der 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 nogen diskussion om, hvorvidt hukommelsen i sig selv forfalder på grund af tid (forfaldsteori) eller bliver simpelthen skubbet ud og erstattet af nye minder over tid (interferens teori). Uanset hvilken teori du abonnerer på, er resultatet, at ældre minder er mere tilbøjelige til at forsvinde.

Det er her, anmeldelse kommer i spil.

newbie-coder-tips-memory-review

Tænk på det som at gå gennem en skov af minder. Hver gang du vil have adgang til en hukommelse, skal du spore neuralbanen for at finde den. Hver gang du sporer denne hukommelse, bliver stien ætset lidt mere ind - ligesom hvordan en snavssti naturligt dannes, når folk går den samme vej igen og igen. Hvis du holder op med at gå på stien, kan den forsvinde, og hukommelsen ender tabt et sted i skoven.

Når man lægger al poppsykologien til side, er her 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 gense det dusinvis eller endda hundredvis af gange. Hver anmeldelse ætser det emne ind i din hjerne en lille smule dybere.

Jeg ved, hvor svært det kan være, hvis du er en naturlig crammer, men du vil blive overrasket over, hvor hurtigt du begynder at gemme materiale, når du først gør en indsats for at gennemgå det regelmæssigt.

Brug flere forskellige ressourcer

Det sværeste aspekt ved programmering - i det mindste for helt nye 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 hovedskraber.

Afhængigt af sproget skal du huske hundredvis af syntaksregler (f.eks. søgeord, semikolon, mellemrum). Nogle sprog er strengere, andre er mindre, og atter andre har deres egne unikke tilgange til syntaks, som ikke bruges andre steder. Alt dette kan være forvirrende, hvis du ikke har tidligere erfaring med kodning.

newbie-coder-tips-code-confusion

For ikke at nævne al den konceptuelle information, der overskrider individuelle sprog. Emner som objektorienteret programmering, enhedskomponentsystemer og observatørmø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 den er så direkte, at den tåler at blive gentaget:

"Antag, at nogen viste dig et fotografi af en statue. Det giver måske nok et billede til, at du kan få en passende fornemmelse af statuen, men du får ikke hele billedet. Et zoomet billede ville miste indviklede detaljer, mens et zoomet billede ville miste en følelse af perspektiv. Men med yderligere billeder taget fra andre vinkler, kan du virkelig begynde at se statuens fylde i tekstur, i størrelse, i detaljer, fra forside til bagside, fra side til side og top til tå."

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 tager et blik, og det giver perfekt mening! Hvad angår en anden, kan de måske zone ud, når de studerer ressource A og B, men har stor gavn 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, så søg efter en anden ressource. Måske vil den være mere egnet til dig. Måske ikke.

Selvom du tror, ​​du forstår bestemte emner, er det muligt, at der er mere at lære om det. Det er også muligt for en andens forklaring at fastholde konceptet i dit sind for altid. Man ved aldrig, så hvorfor ikke bruge så mange ressourcer som muligt?

Bemærk, at spil kan være en kritisk nyttig ressource! Tjek disse ud sjove og lærerige kodespil De 9 bedste kodningsspil til at opbygge dine programmeringsevnerKodningsspil hjælper dig med at lære hurtigere med praktisk øvelse og erfaring. Derudover er de en sjov måde at teste dine programmeringsevner på! Læs mere .

Lær begreber, mens du lærer dem

Der er et smukt koncept i programmering kaldet fejlretning af gummiand De mærkeligste programmeringsprincipper, du aldrig har hørt omFølgende principper vil lære dig at være klog med din kode. Nogle er mærkelige, og mange er humoristiske, men de er alle lige praktiske og vigtige. Pas på! Læs mere , som beskriver teknikken til at forklare sin kode, linje for linje, til en livløs gummiand. Det bruges, når et bestemt kodesegment er brudt, men der er ingen åbenlys grund til det.

Mærkeligt nok har de fleste programmører en "Eureka!" øjeblik midt i at forklare koden, da de pludselig ser, hvor fejlen i kodningslogikken opstår. Verbalisering udløser et andet område af 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 emnet, stadig kan komme til at forstå det.

newbie-koder-tips-gummi-and

Det modsatte af dette er også sandt. Når du forsøger at undervise i et emne, vil du støde på visse begreber, som du tilsyneladende ikke kan forklare på en klar måde. Ikke alene er dette en fantastisk måde at diagnosticere svagheder i din viden, den faktiske proces med at finde den rigtige forklaring kan hjælpe med at størkne konceptet i dit sind.

Det kaldes learning-by-teaching, og det er dybest set et twist på gummiand-fejlretning.

Nu siger jeg ikke, at du skal rent faktisk undervise andre; prøv i stedet at lære en gummiand (eller en usynlig ven) hvert nyt programmeringsemne, du lærer, det. Det kan føles dumt i starten, men du kan finde det utroligt frugtbart, når det kommer til hukommelsesbevarelse.

Bevidst øvelse gør mester

Begrebet talent er fuldstændig vrøvl. Ingen kommer ud af livmoderen som violinist, wrestler eller programmør i verdensklasse. Selvfølgelig kan nogle mennesker være mere tilbøjelige til visse discipliner, men talent uden erfaring er ubrugelig Lad ikke dine skjulte talenter dø: 7 måder at gå og find dem igenDen dårlige nyhed er, at du skal arbejde hårdt med intentioner om at pudse dine skjulte talenter. Den gode nyhed er, at der er flere muligheder end nogensinde før for at spytte dine talenter ud. Læs mere . På samme måde er hårdt arbejde altid mere værdifuldt end talent.

Når det er sagt, ikke alle former for hårdt arbejde er lige. Malcolm Gladwell opfandt den berygtede 10.000 timers regel, som siger, at du skal investere mindst 10.000 timer i et emne for at blive en mester i det. Selvom følelsen kan være sand, misfortolker mange, hvad han forsøgte at sige.

nybegynder-koder-tips-bevidst-øv

Lang historie kort, en forpligtelse på 10.000 timer garanterer faktisk ikke mestring. Du kender ordsproget: "Øvelse gør ikke mester. Perfekt øvelse gør mester." For at det skal være meningsfuldt, praksis skal være bevidst Vil du blive ekspert i noget? Prøv bevidst øvelseDet er alt for nemt at føle sig falden, når du ihærdigt forsøger at forbedre en bestemt færdighed. Brug kraften i "bevidst øvelse" til at få dig over disse irriterende plateauer. Læs mere . Mestring kan kun opnås gennem 10.000 timers bevidst praksis.

Hvordan du øver dig, betyder meget mere end hvor meget tid du bruger på at øve dig.

Læsning er passiv. At se YouTube-lektioner er passivt. At lytte til podcasts er passivt. Som nybegynder koder kan du blive fristet til at blafre fra tutorial til tutorial, og tackle emne efter emne uden faktisk at anvende noget af den viden på en praktisk måde. Modstå denne fristelse.

Én ting er at forstå et eksempel før dig, men en anden ting er at syntetisere en løsning fra bunden. 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 form, der betyder noget i sidste ende.

Eksperimenter med personlige projekter

For mig var lektier den værste del af skolen. Det virkede bare som et kompliceret trick for at dræbe sjov og holde studerende beskæftiget - hvilket for at være retfærdigt nogle gange var sandt. Men nu hvor jeg ser tilbage, giver vigtigheden af ​​lektier endelig mening. Det tvang mig til at anvende nyerhvervet viden på en aktiv måde.

Hvis du er tilmeldt programmeringskurser og klasser De 11 bedste websteder til gratis online computerprogrammeringskurserVed at bruge disse gratis online computerprogrammeringskurser kan du blive en fantastisk koder uden en datalogigrad. Læs mere , undervurder ikke effektiviteten af ​​lektier. Tag det alvorligt, og behandl det altid som en chance for yderligere at cementere det, du har lært, til 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.)

newbie-coder-tips-personlige-projekter

Hvad er løsningen? Lav et par engangs-sideprojekter!

Tænk på en få projektideer 5 projektidéer til at hjælpe dig med at lære programmering hurtigereDer er et par måder at lette indlæringskurven for programmering. Få dine hænder snavsede og lær hurtigere med sideprojekter, du kan starte når som helst. Leg med disse fem. Læs mere som du gerne vil implementere. For absolut nybegyndere kan du overveje et spil Tic-Tac-Toe eller Hangman. For erfarne programmører, 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, så gå efter det!

Skønheden ved denne tilgang er dobbelt.

For det første er det mere sandsynligt, at det fastholder din opmærksomhed. Undersøgelser har vist, at elever 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 opnå, og derfor er der større sandsynlighed for, at du beholder den information, der vil bringe dig derhen.

For det andet er der intet pres for at du skal lykkes. Selvom succes ville være rart, giver manglen på formalitet dig mulighed for at være eksperimenterende og kreativ. Du vil uundgåeligt løbe ind i problemer, men det er mere som at lege med Lego, end det er lektier. Det er sjovere og ikke så stressende.

Slap af og bogmærke alt

Sandheden er, at ingen programmør husker alt de har lært. Selv efter at du har arbejdet med et bestemt bibliotek eller et bestemt framework i et stykke tid, er det ikke ualmindeligt, hvis du ikke kan huske hver funktion eller variabel fra toppen af ​​dit hoved.

Faktisk kan det bare ende med at blive et enormt spild af tid og kræfter at prøve at lære alt udenad. Referenceark findes af en grund. Hvorfor forpligte en hel encyklopædi til hukommelsen, når du bare kan åbne den, når du har brug for den?

newbie-coder-tips-reference-alt

Så hvornår skal man huske, og hvornår skal man referere?

Når det kommer til konceptuelt materiale, 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 burde være klar nok for dig til, at du kan lære den tydeligt).

For alt andet - såsom specifikke funktionsnavne, parameterlister eller endda sproglige særheder - Jeg ville ikke bekymre mig om at forpligte mig til hukommelsen. Du er velkommen til at henvise til et referenceark. Nogle gange vil du referere noget så ofte, at du ender med at huske det. Hvis det sker, fint. Hvis ikke, er det også fint.

Personligt har jeg hundredvis af internetbogmærker til forskellige API'er, guider og tutorials. Hvis jeg har brug for at implementere en form for stifindingsalgoritme, vil jeg måske henvise til en guide, der hjælper mig med at få den kodet, før jeg glemmer det igen. Det hjælper med at forstå de underliggende koncepter, men jeg prøver ikke at bekymre mig om implementeringsdetaljer.

Afsluttende tanker

Jeg vil gentage det en million gange, hvis jeg skal: programmering er svært, og det er okay, hvis du kæmper med det. Jeg har programmeret som en hobby i over et årti, og jeg bliver stadig skræmt, når jeg har nye koncepter at lære.

Lad være med at slå dig selv op, hvis du ikke kan huske alt med det samme. Ovenstående tips vil forhåbentlig være nyttige for dig, og selvom de ikke gør det, kan du altid stole på bogmærkede referencer som en sidste udvej.

Har du svært ved at programmere? Hvilken slags tricks og tips kender du, som kan være nyttige for nybegyndere? Del din visdom med os i kommentarerne nedenfor!

Billedkreditering: Binær programmør via Shutterstock, Memory Eraser Via Shutterstock, Tilsløret kode via Shutterstock, Gummi Ducky Via Shutterstock, Tastatur maskinskriver via Shutterstock, PHP-kildekode via Shutterstock, Filmapper via Shutterstock

Joel Lee har en B.S. i datalogi og over seks års professionel skriveerfaring. Han er chefredaktør for MakeUseOf.