Reklaam

Programmeerimine on raske. Ainsad inimesed, kes väidavad teisiti, on need, kellel on aastatepikkune kodeerimiskogemus. See on okei olla ülekoormatud! Seal on palju õppida ja tõenäoliselt unustad asjad sama kiiresti kui õpid. Usu mind: see on normaalne.

Kuid see, et see on normaalne, ei tähenda, et see masendav poleks. Tõtt-öelda, õppida kodeerima Kuidas õppida programmeerimist ilma igasuguse stressitaVõib-olla olete otsustanud programmeerimisega tegeleda, kas karjääri või lihtsalt hobina. Suurepärane! Kuid võib-olla hakkate tundma end ülekoormatuna. Mitte nii suurepärane. Siin on abi teie teekonna hõlbustamiseks. Loe rohkem võib olla äärmiselt stressirohke, kui te ei lähene sellele õige mõtteviisi ja suhtumisega.

Kas soovite õppida seda uut keelt või raamatukogu või raamistikku niipea kui võimalik, eks? See on arusaadav. Õnneks on käputäis näpunäiteid, mis aitavad teil paremini säilitada kogu seda rasket programmeerimisteavet, mis lendab ühest kõrvast sisse ja teisest välja.

Enam ei toimu kraami seansse

instagram viewer

Keegi ei taha seda kuulda, kuid tuupimine on halvim viis programmeerimise õppimiseks. Kui sa oled midagi minu moodi, siis tuupimine oli sinu modus operandi kõik koolis ja ülikoolis. See on ainus viis, kuidas sa tead, kuidas õppida.

Aga õppige minu vigadest: mida rohkem proovite toppida, seda vähem mäletate. See kehtib peaaegu kõigi teadmistepõhise aine kohta, kuid see kehtib eriti programmeerimise kohta.

Selle väite alus tuleb 2008. aasta uuringust San Diego California ülikooli poolt:

"Õpilased saavad paremini hakkama, kui nad oma õppesessioone eraldavad, mitte siis, kui nad üritavad ühe istumise ajal kõike oma nööpidesse toppida."

Miks? Tõenäoliselt tänu seeriapositsiooni efekt:

"Seeria positsiooniefekt on inimese kalduvus meenutada kõige paremini seeria esimest ja viimast ning halvimalt keskmisi üksusi."

Teisisõnu: igal õppeseansil on tõenäolisem, et säilitate lähedal õpitud teabe seansi alguses ja lõpus ning tõenäolisemalt unustatakse teave seansi keskelt istungil.

Soovite maksimeerida alguste ja lõppude arvu. Sellepärast on uue materjali õppimiseks ja omandamiseks parem korraldada mõne pika seansi asemel mitu lühikest seanssi.

Järgmine kord, kui istud koodi õppimiseks, käsitlege seda üks teema korraga ja tehke iga teema vahel väike paus. (Veenduge, et teie pausid ei muutuks edasilükkamiseks!)

Vaata üle, vaata üle, vaata üle

Teine põhjus, miks tuupimine on vastuolus pikaajalise teadmiste säilitamisega, on see, et mälu tuhmub aja jooksul. See ei ole alati tõsi – olen kindel, et meil kõigil on mõned lapsepõlvemälestused, mis kunagi ei kao –, kuid see näib olevat üldine juhtum mälestuste kohta, mis ei ole seotud emotsioonidega.

Vaieldakse selle üle, kas mälu ise aja tõttu laguneb (lagunemise teooria) või lihtsalt tõugatakse välja ja asendatakse aja jooksul uute mälestustega (interferentsi teooria). Ükskõik millise teooriaga nõustute, on tulemuseks see, et vanemad mälestused hääbuvad tõenäolisemalt.

Siin tulebki mängu arvustus.

algaja-kodeerija-näpunäiteid-mälu-ülevaade

Mõelge sellele nagu kõndima läbi mälestuste metsa. Iga kord, kui soovite mälule juurde pääseda, peate seda tegema jälgige närvirada et seda leida. Iga kord, kui seda mälestust jälgite, söövitub rada pisut rohkem – täpselt nagu mustuserada tekib loomulikult, kui inimesed käivad sama rada ikka ja jälle. Kui teerajal kõndimine lõpetada, võib see tuhmuda ja mälestus kaob kuhugi metsa.

Kui kogu poppsühholoogia kõrvale jätta, siis siin on väljavõte: kui tegemist on programmeerimisega, ei piisa sellest, kui üks või kaks teemat selgeks õppida. Peate seda kümneid või isegi sadu kordi uuesti külastama. Iga ülevaade söövib selle teema teie ajju pisut sügavamale.

Ma tean, kui raske see võib olla, kui olete loomulik kramplik, kuid olete üllatunud, kui kiiresti hakkate materjali säilitama, kui proovite seda regulaarselt üle vaadata.

Kasutage mitut erinevat ressurssi

Programmeerimise kõige raskem aspekt – vähemalt uhiuute kodeerijate puhul – on detailide ja nüansside tohutu laius, mida tuleb arvesse võtta. Kuni see sisemine ei toimu, olete igavesti pead kratsivas.

Olenevalt keelest peate pähe jätma sadu süntaksireegleid (nt märksõnad, semikoolonid, tühikud). Mõned keeled on rangemad, teised vähem ja kolmandatel on süntaksile oma unikaalsed lähenemisviisid, mida mujal ei kasutata. Kõik see võib segadust tekitada, kui teil pole varasemat kodeerimiskogemust.

algaja-kodeerija-näpunäited-koodisegadus

Rääkimata kogu kontseptuaalsest teabest, mis ületab üksikuid keeli. Sellised teemad nagu objektorienteeritud programmeerimine, olemikomponentide süsteemid ja vaatlejamustrid võivad tõesti panna pea ringi käima, kui proovite neid esimest korda õppida.

Olen seda illustratsiooni varem jaganud, kuid see on nii asjakohane, et tasub korrata:

"Oletame, et keegi näitas teile kuju fotot. See võib anda piisava pildi, et kujust adekvaatselt aimu saada, kuid te ei saa kogu pilti. Väljasuumitud fotol kaoksid keerulised detailid, samas kui sissesuumitud fotol kaoks perspektiivitaju. Kuid muudest vaatenurkadest tehtud lisafotodega saate tõesti näha kuju täius tekstuuris, suuruses, detailides, eest-taha, küljelt küljele ja ülevalt alla."

Programmeerimise õppimine võib olla üllatavalt meelevaldne. Kõik võivad kiita ressurssi A kui parimat viisi keele X õppimiseks, kuid võib-olla pole sellel mingit mõtet. Võib-olla vihkavad kõik ressurssi B, kuid heidate ühe pilgu ja see on täiesti loogiline! Mis puudutab kedagi teist, siis võib-olla on nad ressursside A ja B uurimisel väljas, kuid saavad ressursist C palju kasu.

Seetõttu on nii oluline, et oleksite valmis tarbima igasuguseid ressursse. Igaüks õpib erineval viisil. Kui teil on konkreetse teemaga probleeme, otsige mõnda muud allikat. Võib-olla on see teile sobivam. Võibolla mitte.

Isegi kui arvate, et saate teatud teemadest aru, on võimalik, et teil on selle kohta rohkem õppida. Samuti võib kellegi teise seletus selle kontseptsiooni teie meeles lõplikult kinnistada. Kunagi ei tea, miks mitte tarbida nii palju ressursse kui võimalik?

Pange tähele, et mängud võivad olla väga kasulikud vahendid! Vaadake neid lõbusad ja harivad kodeerimismängud 9 parimat kodeerimismängu programmeerimisoskuste arendamiseksKodeerimismängud aitavad teil praktilise praktika ja kogemustega kiiremini õppida. Lisaks on need lõbus viis oma programmeerimisoskuste proovile panemiseks! Loe rohkem .

Õpetage mõisteid nii, nagu neid õpite

Programmeerimisel on ilus kontseptsioon, mida nimetatakse kummipardi silumine Kõige veidramad programmeerimispõhimõtted, millest te pole kunagi kuulnudJärgmised põhimõtted õpetavad sind oma koodiga targalt suhtuma. Mõned on kummalised ja paljud on humoorikad, kuid nad on kõik võrdselt praktilised ja olulised. Pange tähele! Loe rohkem , mis kirjeldab tehnikat, kuidas elutule kummipardile rida-realt oma koodi seletada. Seda kasutatakse siis, kui teatud koodisegment on katki, kuid sellel pole ilmset põhjust.

Kummalisel kombel on enamikul programmeerijatel "Eureka!" hetk keset koodi selgitamist, kui nad äkki näevad, kus kodeerimisloogikas viga ilmneb. Verbaliseerimine käivitab teistsuguse ajupiirkonna, sundides teid nägema probleemi uue nurga alt.

Seda kontseptsiooni saab kasutada ka uue materjali õppimiseks. Võib-olla olete kohanud seda populaarset tsitaati, mida sageli omistatakse Albert Einsteinile:

"Kui te ei suuda seda lihtsalt seletada, ei saa te sellest piisavalt hästi aru."

See ütlus peab paika, välja arvatud mõned valdkonnad, mis tegelevad kõrgetasemeliste teoreetiliste teadmistega. Mida rohkem te teemast aru saate, seda paremini saate seda selgitada nii, et keegi, kes seda teemat ei tunne, saaks sellest siiski aru.

algaja-kodeerija-näpunäited-kumm-part

Tõsi on ka selle vastupidine. Kui proovite mõnda teemat õpetada, puutute kokku teatud mõistetega, mida te ei suuda selgelt seletada. See pole mitte ainult suurepärane viis oma teadmiste nõrkade külgede diagnoosimiseks, vaid tegelik õige selgituse leidmise protsess võib aidata seda kontseptsiooni teie meeles kinnistada.

Seda nimetatakse õpetamise teel õppimiseks ja see on põhimõtteliselt kummipardi silumise keerdkäik.

Nüüd ma ei ütle, et peaksite tegelikult õpetada teisi; pigem proovige iga uus programmeerimise teema, mida õpite, õpetada seda kummipartile (või nähtamatule sõbrale). Alguses võib see tunduda rumal, kuid mälu säilitamisel võib see olla uskumatult viljakas.

Tahtlik harjutamine teeb meistriks

Talendi mõiste on täielik jama. Keegi ei välju emaüsast maailmatasemel viiuldaja, maadleja või programmeerijana. Muidugi, mõned inimesed võivad teatud erialade poole kalduda, kuid ilma kogemuseta talent on kasutu Ärge laske oma varjatud talentidel surra: 7 võimalust minna ja need uuesti leidaHalb uudis on see, et peate oma varjatud annete lihvimiseks kõvasti tööd tegema. Hea uudis on see, et võimalusi oma annete säramiseks on rohkem kui kunagi varem. Loe rohkem . Samamoodi on raske töö alati väärtuslikum kui talent.

See öeldud, kõik raske töö vormid pole võrdsed. Malcolm Gladwell lõi kurikuulsa 10 000 tunni reegli, mis ütleb, et selle meistriks saamiseks peate investeerima ainesse vähemalt 10 000 tundi. Kuigi see sentiment võib olla tõsi, tõlgendavad paljud inimesed valesti, mida ta üritas öelda.

algaja-kodeerija-näpunäiteid-tahtlik-praktika

Lühidalt öeldes ei taga 10 000-tunnine pühendumine tegelikult meisterlikkust. Teate ütlust: "Harjutamine ei tee meistrit. Täiuslik harjutamine teeb meistriks." Et see oleks tähendusrikas, harjutamine peab olema tahtlik Kas soovite saada millegi eksperdiks? Proovige tahtlikku praktikatLiiga lihtne on tunda end langenuna, kui proovite vaevaliselt mõnda oskust parandada. Kasutage "sihiliku harjutamise" jõudu, et saada neist raevukatest platoodest üle. Loe rohkem . Meisterlikkuse saab saavutada ainult 10 000 tunni tahtliku harjutamisega.

See, kuidas te harjutate, loeb palju rohkem kui see, kui palju aega te harjutamiseks kulutate.

Lugemine on passiivne. YouTube'i tundide vaatamine on passiivne. Taskuhäälingusaadete kuulamine on passiivne. Algaja kodeerijana võib teil tekkida kiusatus lehvitada õpetusest õpetusesse, käsitledes teemasid teemade järel, ilma neid teadmisi praktiliselt rakendamata. Seisa sellele kiusatusele vastu.

Üks asi on mõista näidet teie ees, kuid teine ​​​​asi on sünteesida lahendus nullist. Kui soovite õppeprotsessi kiirendada, peate olema valmis olema passiivse asemel aktiivne. Aktiivne praktika on ainus, mis lõpuks loeb.

Katsetage isiklike projektidega

Minu jaoks oli kodutöö kooli halvim osa. See tundus lihtsalt keeruka võttena, et lõbutseda ja õpilasi tegevuses hoida – mis ausalt öeldes oli mõnikord tõsi. Aga kui ma nüüd tagasi vaatan, on kodutööde tähtsus lõpuks ometi mõtet. See sundis mind äsja omandatud teadmisi aktiivselt rakendama.

Kui olete sisse kirjutatud programmeerimiskursused ja -tunnid 11 parimat saiti tasuta veebipõhiste arvutiprogrammeerimiskursuste jaoksNeid tasuta veebipõhiseid arvutiprogrammeerimise kursuseid kasutades võite saada suurepäraseks kodeerijaks ilma arvutiteaduse kraadita. Loe rohkem , ärge alahinnake kodutöö tõhusust. Võtke seda tõsiselt, käsitledes seda alati kui võimalust õpitut pikaajaliseks mällu kinnistada.

Kuid sageli ei piisa kodutööst. (Ja kui õpite programmeerima iseseisvalt ilma tegeliku juhendajata, pole teil tõenäoliselt alustuseks ühtegi kodutööd.)

algaja-kodeerija-näpunäited-isiklikud-projektid

Mis on lahendus? Looge paar äraviskatavat kõrvalprojekti!

Mõelge a vähe projektiideid 5 projektiideed, mis aitavad teil programmeerimist kiiremini õppidaProgrammeerimise õppimiskõvera hõlbustamiseks on mõned viisid. Pange oma käed mustaks ja õppige kiiremini kõrvalprojektidega, mida saate igal ajal alustada. Mängige nende viiega ringi. Loe rohkem mida soovite rakendada. Absoluutsete algajate jaoks võiksite kaaluda Tic-Tac-Toe või Hangmani mängu. Kogenud programmeerijad, kes soovivad õppida uut raamistikku, proovige kodeerida lihtsat mobiilirakendust või veebimängu. Kuni see teile isiklikul tasandil huvi pakub, tehke seda!

Selle lähenemisviisi ilu on kahekordne.

Esiteks köidab see tõenäolisemalt teie tähelepanu. Uuringud on näidanud, et õpilased õpivad paremini, kui saavad käsitleda neid huvitavaid teemasid. See on täpselt see, mida isiklik projekt pakub. Teil on lõppeesmärk, mida soovite tegelikult saavutada, seega säilitate tõenäolisemalt teavet, mis teid selleni viib.

Teiseks pole teil edu saavutamiseks mingit survet. Kuigi edu oleks tore, võimaldab formaalsuse puudumine olla eksperimentaalne ja loominguline. Teil tekib paratamatult probleeme, kuid see on pigem Legoga mängimine kui kodutöö. See on lõbusam ja mitte nii stressi tekitav.

Lõõgastuge ja lisage kõik järjehoidjatesse

Tõde on see, et ükski programmeerija ei mäleta kõike nad on õppinud. Isegi pärast seda, kui olete teatud teegi või raamistikuga mõnda aega töötanud, ei ole harvad juhud, kui te ei suuda kõiki funktsioone või muutujaid peast meelde tuletada.

Tegelikult võib kõige päheõppimine lõppeda tohutu aja ja vaeva raiskamisega. Viitelehed on olemas põhjusega. Miks salvestada terve entsüklopeedia mällu, kui saate selle alati lahti keerata, kui seda vajate?

algaja-kodeerija-näpunäiteid-viite-kõike

Niisiis, millal pähe õppida ja millal viidata?

Mis puutub kontseptuaalsesse materjali, siis sisendage see alati oma võimaluste piires. Selle all pean silmas teooria mõistmist isegi siis, kui te ei saa seda tegelikuks koodiks teisendada (ja teooria peaks olema teile piisavalt selge, et saaksite seda selgelt õpetada).

Kõige muu jaoks (nt konkreetsete funktsioonide nimed, parameetrite loendid või isegi keeleveidrad) Ma ei muretseks mälule pühendumise pärast. Jätkake viitelehega. Mõnikord viitate millelegi nii sageli, et jätate selle pähe. Kui see juhtub, siis hästi. Kui ei, siis on ka hästi.

Isiklikult on mul sadu Interneti-järjehoidjaid erinevate API-de, juhendite ja õpetuste juurde. Kui mul on vaja rakendada mingit teeotsimisalgoritmi, võiksin viidata juhendile, mis aitab mul selle kodeerida, enne kui selle uuesti unustan. See aitab mõista aluseks olevaid kontseptsioone, kuid ma püüan mitte muretseda rakendamise üksikasjade pärast.

Viimased Mõtted

Ma kordan seda miljon korda, kui pean: programmeerimine on raske ja see on okei, kui sellega vaeva näed. Olen programmeerimisega tegelenud hobina üle kümne aasta ja tunnen end endiselt hirmul, kui mul on uusi kontseptsioone, mida õppida.

Ärge lööge ennast üle, kui te ei mäleta kõike kohe. Loodetavasti on ülaltoodud näpunäited teile kasulikud ja isegi kui nad seda ei tee, võite alati viimase abinõuna tugineda järjehoidjatesse lisatud viidetele.

Kas programmeerimine on teile keeruline? Milliseid nippe ja näpunäiteid teate, mis võivad algajatele kodeerijatele abiks olla? Jagage oma tarkust meiega allolevates kommentaarides!

Piltide autorid: Binaarne programmeerija Shutterstocki kaudu, Mälu kustutuskumm Shutterstocki kaudu, Hägustatud kood Shutterstocki kaudu, Rubber Ducky Via Shutterstock, Klaviatuurikirjutaja Shutterstocki kaudu, PHP lähtekood Shutterstocki kaudu, Failikaustad Shutterstocki kaudu

Joel Leel on B.S. arvutiteaduses ja üle kuueaastase erialase kirjutamise kogemuse. Ta on MakeUseOfi peatoimetaja.