Reklāma

Programmēšana ir grūti. Vienīgie cilvēki, kas apgalvo pretējo, ir tie, kuriem ir daudzu gadu kodēšanas pieredze. Ir pareizi būt pārņemtam! Tur ir daudz mācīties, un jūs, iespējams, aizmirsīsit lietas tikpat ātri, kā tās apgūstat. Tici man: tas ir normāli.

Bet tikai tāpēc, ka tas ir normāli, tas nenozīmē, ka tas nav kaitinoši. Patiesību sakot, iemācīties kodēt Kā iemācīties programmēt bez stresaVarbūt esat nolēmis nodarboties ar programmēšanu karjeras vai tikai hobija dēļ. Lieliski! Bet varbūt tu sāc justies satriekts. Ne tik lieliski. Šeit ir palīdzība, lai atvieglotu jūsu ceļojumu. Lasīt vairāk var būt ļoti saspringta, ja nepieejat tam ar pareizu domāšanu un attieksmi.

Vai vēlaties pēc iespējas ātrāk apgūt šo jauno valodu, bibliotēku vai sistēmu, vai ne? Tas ir saprotams. Par laimi, ir daži padomi, kas var palīdzēt jums labāk saglabāt visu to smago programmēšanas informāciju, kas turpina lidot vienā ausī un uzreiz ārā no otras.

Vairs nav nevienas slodzes sesijas

Neviens nevēlas to dzirdēt, bet pieblīvēšana ir sliktākais veids, kā iemācīties programmēt. Ja jūs esat kaut kas līdzīgs man, pieblīvēšanās bija jūsu

instagram viewer
darbības veids viss skolā un universitātē. Tas ir vienīgais veids, kā zināt, kā mācīties.

Bet mācieties no manām kļūdām: jo vairāk jūs mēģināt piebāzt, jo mazāk jūs atceraties. Tas gandrīz attiecas uz jebkuru uz zināšanām balstītu priekšmetu, taču tas jo īpaši attiecas uz programmēšanu.

Šīs prasības pamats nāk no 2008. gada pētījuma Kalifornijas Universitāte, Sandjego:

"Studentu sniegums ir labāks, ja viņi sadala mācību sesijas, nevis tad, kad viņi vienas sēdes laikā mēģina visu sabāzt savos traukos."

Kāpēc? Visticamāk, pateicoties sērijas pozīcijas efekts:

"Sērijas pozīcijas efekts ir cilvēka tendence vislabāk atcerēties sērijas pirmos un pēdējos vienumus, bet vissliktāk - vidējos vienumus."

Citiem vārdiem sakot: jebkurā mācību sesijā jūs, visticamāk, saglabāsit informāciju, ko apguvāt tuvumā sesijas sākumā un beigās un, visticamāk, aizmirsīs informāciju no sesijas vidus sesija.

Jūs vēlaties maksimāli palielināt sākumu un beigu skaitu. Tāpēc, lai apgūtu un apgūtu jaunu materiālu, labāk ir rīkot vairākas īsas, nevis dažas garas sesijas.

Nākamajā reizē, kad sēdīsities, lai apgūtu kodu, pārrunājiet to pa vienai tēmai un veiciet nelielu pārtraukumu starp katru tēmu. (Tikai pārliecinieties, lai jūsu pārtraukumi nepārvērstos par vilcināšanos!)

Pārskatīt, pārskatīt, pārskatīt

Vēl viens iemesls, kāpēc pieblīvēšana ir pretrunā ilgstošai zināšanu saglabāšanai, ir tas, ka atmiņa laika gaitā izzūd. Tas ne vienmēr ir taisnība — esmu pārliecināts, ka mums visiem ir dažas bērnības atmiņas, kas nekad nepazudīs, taču šķiet, ka tas ir vispārējs gadījums atmiņām, kas nav saistītas ar emocijām.

Ir dažas diskusijas par to, vai pati atmiņa laika gaitā samazinās (sabrukšanas teorija) vai vienkārši tiek izstumts un laika gaitā aizstāts ar jaunām atmiņām (traucējumu teorija). Neatkarīgi no tā, kuru teoriju jūs abonējat, vecākas atmiņas, visticamāk, izgaisīs.

Šeit tiek izmantota pārskatīšana.

newbie-coder-tips-memory-review

Padomājiet par to kā pastaigu pa atmiņu mežu. Katru reizi, kad vēlaties piekļūt atmiņai, jums tas ir jādara izsekot nervu ceļam lai to atrastu. Katru reizi, kad izsekojat šai atmiņai, ceļš tiek iegravēts nedaudz vairāk — tāpat kā dabiski veidojas netīrumu ceļš, kad cilvēki atkal un atkal iet pa vienu un to pašu ceļu. Ja pārstāsiet iet pa taku, tas var izgaist un atmiņa pazudīs kaut kur mežā.

Atmetot visu poppsiholoģiju, šeit ir īsa informācija: runājot par programmēšanu, nepietiek ar tēmu apgūt tikai vienu vai divas reizes. Jums tas ir jāapmeklē desmitiem vai pat simtiem reižu. Katrs pārskats iespiež šo tēmu jūsu smadzenēs mazliet dziļāk.

Es zinu, cik grūti tas var būt, ja esat dabisks gremdētājs, taču jūs būsiet pārsteigts, cik ātri jūs sākat saglabāt materiālu, ja pieliksit pūles, lai to regulāri pārskatītu.

Izmantojiet vairākus dažādus resursus

Grūtākais programmēšanas aspekts — vismaz pavisam jauniem kodētājiem — ir milzīgais detaļu un nianšu plašums, kas ir jāiekļauj iekšā. Kamēr šī internalizācija nenotiks, jūs pastāvīgi skrāpēsit galvu.

Atkarībā no valodas jums būs jāiegaumē simtiem sintakses noteikumu (piemēram, atslēgvārdi, semikoli, atstarpes). Dažas valodas ir stingrākas, citas ir mazāk stingras, un vēl citām ir savas unikālās sintakses pieejas, kas netiek izmantotas nekur citur. Tas viss var radīt neskaidrības, ja jums nav iepriekšējas kodēšanas pieredzes.

iesācēju-kodētāja-padomi-koda-apjukums

Nemaz nerunājot par visu konceptuālo informāciju, kas pārsniedz atsevišķas valodas. Tādas tēmas kā objektorientētā programmēšana, entītiju komponentu sistēmas un novērotāju modeļi patiešām var likt jums sagriezties galvai, pirmo reizi mēģinot tās apgūt.

Es jau iepriekš esmu dalījies ar šo ilustrāciju, taču tā ir tik aktuāla, ka ir jāatkārto:

"Pieņemsim, ka kāds jums parādīja statujas fotogrāfiju. Tas varētu nodrošināt pietiekami daudz attēla, lai jūs varētu adekvāti uztvert statuju, taču jūs neiegūsit visu attēlu. Tālināts fotoattēls zaudētu sarežģītas detaļas, savukārt tuvināts fotoattēls zaudētu perspektīvas sajūtu. Tomēr ar papildu fotogrāfijām, kas uzņemtas no citiem leņķiem, jūs patiešām varat sākt redzēt statujas pilnība faktūrā, izmērā, detaļās, no priekšpuses uz aizmuguri, no vienas puses uz otru un no augšas uz leju.”

Mācīšanās programmēt var būt pārsteidzoši patvaļīga. Ikviens varētu slavēt resursu A kā labāko veidu, kā apgūt valodu X, bet varbūt jums tas nav jēgas. Varbūt visi ienīst resursu B, bet paskatieties, un tas ir pilnīgi loģiski! Kas attiecas uz kādu citu, iespējams, ka viņi, pētot A un B resursus, atšķiras, bet gūst lielu labumu no resursa C.

Tāpēc ir tik svarīgi, lai jūs būtu gatavs patērēt visu veidu resursus. Katrs mācās savādāk. Ja jums ir problēmas ar noteiktu tēmu, meklējiet citu resursu. Varbūt tas jums būs piemērotāks. Varbūt ne.

Pat ja jūs domājat, ka saprotat noteiktas tēmas, iespējams, ka par to ir vēl ko uzzināt. Ir arī iespējams, ka kāda cita skaidrojums var nostiprināt šo jēdzienu jūsu prātā. Nekad nevar zināt, kāpēc gan nepatērēt pēc iespējas vairāk resursu?

Ņemiet vērā, ka spēles var būt ļoti noderīgs resurss! Apskatiet šīs jautras un izglītojošas kodēšanas spēles 9 labākās kodēšanas spēles, lai attīstītu programmēšanas prasmesKodēšanas spēles palīdz ātrāk mācīties, izmantojot praktisku praksi un pieredzi. Turklāt tie ir jautrs veids, kā pārbaudīt savas programmēšanas prasmes! Lasīt vairāk .

Māciet jēdzienus, kā tos apgūstat

Programmēšanā ir skaista koncepcija gumijas pīļu atkļūdošana Dīvainākie programmēšanas principi, par kuriem jūs nekad neesat dzirdējušiŠie principi iemācīs jums būt gudram ar savu kodu. Daži ir dīvaini, un daudzi ir humoristiski, taču tie visi ir vienlīdz praktiski un svarīgi. Uzmanies! Lasīt vairāk , kurā aprakstīts paņēmiens, kā rindiņu pa rindiņai izskaidrot savu kodu nedzīvai gumijas pīlei. To izmanto, ja kāds konkrēts koda segments ir bojāts, taču tam nav acīmredzama iemesla.

Savādi, ka lielākajai daļai programmētāju ir “Eureka!” koda skaidrošanas vidū, kad viņi pēkšņi redz, kur rodas kodēšanas loģikas kļūda. Verbalizācija iedarbina citu smadzeņu apgabalu, liekot jums redzēt problēmu no jauna leņķa.

Šo koncepciju var izmantot arī, lai palīdzētu jums apgūt jaunu materiālu. Iespējams, esat saskāries ar šo populāro citātu, kas bieži tiek piedēvēts Albertam Einšteinam:

"Ja jūs to nevarat izskaidrot vienkārši, jūs to nesaprotat pietiekami labi."

Izņemot dažas jomas, kas nodarbojas ar progresīvām teorētiskajām zināšanām, šis teiciens ir patiess. Jo vairāk jūs saprotat tēmu, jo labāk esat gatavs to izskaidrot tā, lai kāds, kam nav zināšanu par šo tēmu, joprojām varētu to saprast.

newbie-coder-tips-gumijas-pīle

Tai ir arī pretējais. Mēģinot mācīt tēmu, jūs saskarsities ar noteiktiem jēdzieniem, kurus, šķiet, nevarat skaidri izskaidrot. Tas ir ne tikai lielisks veids, kā diagnosticēt jūsu zināšanu trūkumus, bet arī faktiskais pareiza skaidrojuma atrašanas process var palīdzēt nostiprināt šo koncepciju jūsu prātā.

To sauc par mācīšanos mācīšanas ceļā, un būtībā tas ir gumijas pīļu atkļūdošanas pavērsiens.

Tagad es nesaku, ka jums vajadzētu patiesībā mācīt citus; drīzāk katru jaunu programmēšanas tēmu, kuru apgūstat, mēģiniet to iemācīt gumijas pīlei (vai neredzamam draugam). Sākumā tas var šķist muļķīgi, bet jums tas var šķist neticami auglīgi, kad runa ir par atmiņas saglabāšanu.

Apzināta prakse padara perfektu

Priekšstats par talantu ir pilnīgs muļķības. Neviens neiziet no dzemdes kā pasaules līmeņa vijolnieks, cīkstonis vai programmētājs. Protams, daži cilvēki varētu būt vairāk tendēti uz noteiktām disciplīnām, bet talants bez pieredzes ir bezjēdzīgs Neļaujiet saviem slēptajiem talantiem nomirt: 7 veidi, kā rīkoties un atrast tos vēlreizSliktā ziņa ir tā, ka jums ir smagi jāstrādā ar nolūku, lai slīpētu savus slēptos talantus. Labā ziņa ir tā, ka ir vairāk iespēju nekā jebkad agrāk paspīdzināt savus talantus. Lasīt vairāk . Tāpat smags darbs vienmēr ir vērtīgāks par talantu.

To sakot, ne visi smaga darba veidi ir vienādi. Malkolms Gladvels izstrādāja bēdīgi slaveno 10 000 stundu likumu, kas nosaka, ka priekšmetā jāiegulda vismaz 10 000 stundu, lai kļūtu par tā meistaru. Lai gan noskaņojums var būt patiess, daudzi cilvēki nepareizi interpretē to, ko viņš mēģināja pateikt.

iesācēju-kodētāju padomi-apzināta prakse

Īsi sakot, 10 000 stundu apņemšanās faktiski negarantē meistarību. Jūs zināt teicienu: "Prakse nepadara perfektu. Perfekta prakse padara perfektu.” Lai tam būtu jēga, praksei jābūt apzinātai Vai vēlaties kļūt par ekspertu kādā jomā? Izmēģiniet apzinātu praksiIr pārāk viegli justies satriektam, kad smagi cenšaties uzlabot noteiktas prasmes. Izmantojiet "apzinātas prakses" spēku, lai pārvarētu šos satraucošos plakankalnes. Lasīt vairāk . Meistarību var iegūt tikai 10 000 stundu apzinātas prakses.

Tas, kā jūs praktizējat, ir daudz svarīgāks par to, cik daudz laika jūs pavadāt praksē.

Lasīšana ir pasīva. YouTube nodarbību skatīšanās ir pasīva. Podcast apraides klausīšanās ir pasīva. Kā iesācējs kodētājs jums varētu rasties kārdinājums pāriet no apmācības uz pamācību, risinot priekšmetu pēc tēmas, praktiski neizmantojot šīs zināšanas. Pretojies šim kārdinājumam.

Viena lieta ir saprast piemēru, bet cita lieta ir sintezēt risinājumu no jauna. Ja vēlaties paātrināt mācību procesu, jums ir jābūt gatavam būt aktīvam, nevis pasīvam. Aktīvā prakse ir vienīgais veids, kam ir nozīme.

Eksperimentējiet ar personīgiem projektiem

Man mājasdarbi bija sliktākā daļa skolā. Tas vienkārši šķita kā sarežģīts triks, lai iznīcinātu jautrību un padarītu studentus aizņemtus — kas, godīgi sakot, dažreiz bija taisnība. Bet tagad, kad es atskatos atpakaļ, mājasdarbu nozīme beidzot kļūst jēga. Tas lika man aktīvā veidā pielietot jauniegūtās zināšanas.

Ja esat reģistrējies programmēšanas kursi un nodarbības 11 labākās vietnes bezmaksas tiešsaistes datorprogrammēšanas kursiemIzmantojot šos bezmaksas tiešsaistes datorprogrammēšanas kursus, jūs varat kļūt par lielisku kodētāju bez datorzinātņu grāda. Lasīt vairāk , nenovērtējiet par zemu mājasdarbu efektivitāti. Uztveriet to nopietni, vienmēr uzskatot to par iespēju apgūto nostiprināt ilgtermiņa atmiņā.

Taču daudzas reizes ar mājasdarbiem joprojām nepietiek. (Un, ja jūs mācāties programmēt pats bez faktiskā instruktora, jums, iespējams, nav mājasdarbu, ar ko sākt.)

iesācēju-kodētāju padomi-personīgie projekti

Kāds ir risinājums? Izveidojiet dažus vienkāršus blakus projektus!

Padomājiet par a dažas projektu idejas 5 projektu idejas, kas palīdzēs ātrāk apgūt programmēšanuIr daži veidi, kā atvieglot programmēšanas mācīšanās līkni. Sasmērējiet rokas un mācieties ātrāk, izmantojot blakus projektus, kurus varat sākt jebkurā laikā. Paspēlējies ar šiem pieciem. Lasīt vairāk ko vēlaties ieviest. Iesācējiem varat apsvērt spēli Tic-Tac-Toe vai Hangman. Pieredzējušiem programmētājiem, kuri cenšas apgūt jaunu sistēmu, mēģiniet iekodēt vienkāršu mobilo lietotni vai tīmekļa spēli. Ja vien tas jūs interesē personīgā līmenī, dodieties uz to!

Šīs pieejas skaistums ir divējāds.

Pirmkārt, tas, visticamāk, noturēs jūsu uzmanību. Pētījumi ir parādījuši, ka skolēni mācās labāk, ja var risināt viņus interesējošās tēmas. Tieši to piedāvā personīgais projekts. Jums ir galamērķis, kuru jūs patiešām vēlaties sasniegt, tāpēc jūs, visticamāk, saglabāsit informāciju, kas jūs to nogādās.

Otrkārt, jums nav spiediena gūt panākumus. Lai gan veiksme būtu jauki, formalitāšu trūkums ļauj būt eksperimentālam un radošam. Jūs neizbēgami saskarsities ar problēmām, taču tas ir vairāk kā spēlēšanās ar Lego, nevis mājasdarbs. Tas ir jautrāk un nav tik stresa.

Atpūtieties un atzīmējiet visu ar grāmatzīmēm

Patiesība ir tāda, ka neviens programmētājs to neatceras viss viņi ir iemācījušies. Pat pēc tam, kad kādu laiku esat strādājis ar noteiktu bibliotēku vai ietvaru, nav nekas neparasts, ja nevarat atcerēties katru funkciju vai mainīgo.

Patiesībā, mēģinot visu iegaumēt, tas var būt tikai milzīga laika un pūļu izšķiešana. Atsauces lapas pastāv kāda iemesla dēļ. Kāpēc saglabāt visu enciklopēdiju atmiņā, ja to var vienkārši atvērt, kad vien tas ir nepieciešams?

newbie-coder-tips-reference-viss

Tātad, kad iegaumēt un kad atsaukties?

Runājot par konceptuālo materiālu, vienmēr iekļaujiet to pēc iespējas labāk. Ar to es domāju teorijas izpratni pat tad, ja nevarat to pārvērst faktiskā kodā (un teorijai ir jābūt pietiekami skaidrai, lai jūs varētu to skaidri mācīt).

Visam pārējam, piemēram, specifiskiem funkciju nosaukumiem, parametru sarakstiem vai pat valodas dīvainībām, Es neuztraucos par apņemšanos saglabāt atmiņu. Jūtieties brīvi atlikt uz atsauces lapu. Dažreiz jūs uz kaut ko atsaucaties tik bieži, ka galu galā to iegaumējat. Ja tā notiek, labi. Ja nē, arī tas ir labi.

Personīgi man ir simtiem interneta grāmatzīmju uz dažādām API, ceļvežiem un pamācībām. Ja man ir jāievieš kāds ceļa noteikšanas algoritms, es varētu atsaukties uz ceļvedi, kas palīdzēs man to kodēt, pirms aizmirstu par to vēlreiz. Tas palīdz izprast pamatā esošos jēdzienus, bet es cenšos neuztraukties par ieviešanas detaļām.

Pēdējās domas

Es atkārtošu to miljons reižu, ja man vajadzēs: programmēšana ir grūta, un tas ir labi, ja jūs ar to cīnāties. Es programmēju kā hobiju vairāk nekā desmit gadus, un joprojām jūtos iebiedēts, kad man ir jāapgūst jaunas koncepcijas.

Nepārbaudiet sevi, ja nevarat visu uzreiz atcerēties. Cerams, ka iepriekš minētie padomi jums noderēs, un pat tad, ja tie nenotiks, vienmēr varat paļauties uz grāmatzīmēm pievienotām atsaucēm kā pēdējo līdzekli.

Vai jums šķiet grūti programmēt? Kādus trikus un padomus jūs zināt, kas varētu būt noderīgi iesācējiem kodētājiem? Dalieties savās gudrībās ar mums zemāk esošajos komentāros!

Attēlu kredīti: Binārais programmētājs, izmantojot Shutterstock, Atmiņas dzēšgumija, izmantojot Shutterstock, Apslēpts kods, izmantojot Shutterstock, Gumijas Ducky Via Shutterstock, Tastatūras mašīnrakstītāja, izmantojot Shutterstock, PHP avota kods, izmantojot Shutterstock, Failu mapes, izmantojot Shutterstock

Džoelam Lī ir B.S. datorzinātnēs un vairāk nekā sešu gadu profesionāla rakstīšanas pieredze. Viņš ir MakeUseOf galvenais redaktors.