Publicitate
Programarea este greu. Singurii oameni care spun contrariul sunt cei care au ani de experiență în codificare. Este în regulă să fii copleșit! Există o lot să înveți și probabil vei uita lucrurile la fel de repede pe cât le înveți. Crede-mă: este normal.
Dar doar pentru că este normal nu înseamnă că nu este frustrant. Adevărul trebuie spus, învățând cum să codificați Cum să înveți programarea fără tot stresulPoate ai decis să te apuci de programare, fie pentru o carieră, fie doar ca un hobby. Grozav! Dar poate că începi să te simți copleșit. Nu prea grozav. Iată ajutor pentru a vă ușura călătoria. Citeste mai mult poate fi extrem de stresant dacă nu îl abordați cu mentalitatea și atitudinea potrivite.
Vrei să înveți acea nouă limbă sau bibliotecă sau cadru cât mai curând posibil, nu? Asta e de înțeles. Din fericire, există o mână de sfaturi care vă pot ajuta să păstrați mai bine toate acele informații de programare grele care continuă să zboare într-o ureche și chiar pe cealaltă.
Gata cu sesiunile de cram
Nimeni nu vrea să audă, dar înghesuirea este cea mai proastă modalitate de a învăța cum să programezi. Dacă sunteți ceva ca mine, înghesuitul era al tău mod de operare toată școala și universitatea. Este singurul mod prin care știi să studiezi.
Dar invata din greselile mele: cu cât încerci să înghesui mai mult, cu atât mai puțin îți vei aminti. Acest lucru este destul de adevărat pentru orice subiect bazat pe cunoștințe, dar este valabil mai ales când vine vorba de programare.
Baza acestei afirmații vine dintr-un studiu din 2008 de la Universitatea din California, San Diego:
„Elevii au rezultate mai bune atunci când își spalează sesiunile de studiu, mai degrabă decât atunci când încearcă să înghesuie totul în noggins în timpul unei singure ședințe.”
De ce? Cel mai probabil din cauza efect de poziție în serie:
„Efectul poziției în serie este tendința unei persoane de a-și aminti cel mai bine primul și ultimul element dintr-o serie, iar elementele din mijloc cel mai rău.”
Cu alte cuvinte: în orice sesiune de studiu dată, este mai probabil să păstrați informațiile pe care le-ați învățat în apropiere începutul și sfârșitul sesiunii și mai probabil să uite informațiile de la mijlocul sesiune.
Vrei să maximizezi numărul de începuturi și sfârșituri. De aceea, este mai bine să aveți mai multe sesiuni scurte în loc de câteva sesiuni lungi când vine vorba de învățare și absorbție de material nou.
Data viitoare când vă așezați pentru a învăța cod, luați-l câte un subiect și luați o scurtă pauză între fiecare subiect. (Asigurați-vă că nu vă puteți transforma pauzele în amânare!)
Review, Review, Review
Un alt motiv pentru care înghesuiala este antitetică reținerii cunoștințelor pe termen lung este că memoria se estompează în timp. Acest lucru nu este întotdeauna adevărat - sunt sigur că toți avem câteva amintiri din copilărie care nu vor dispărea niciodată - dar pare să fie cazul general pentru amintirile care nu sunt legate de emoție.
Există o dezbatere dacă memoria însăși se deteriorează din cauza timpului (teoria dezintegrarii) sau pur și simplu este împins și înlocuit cu noi amintiri în timp (teoria interferenței). Indiferent de teoria la care subscrieți, rezultatul este că amintirile mai vechi sunt mai probabil să dispară.
Aici intervine recenzia.
Gândește-te la asta ca la o plimbare printr-o pădure de amintiri. De fiecare dată când doriți să accesați o memorie, trebuie trasează calea neuronală pentru a-l găsi. De fiecare dată când urmăriți acea amintire, calea devine un pic mai mult – la fel cum se formează în mod natural o cale de pământ când oamenii merg pe aceeași cale iar și iar. Dacă încetezi să mergi pe potecă, aceasta poate dispărea și amintirea ajunge să se piardă undeva în pădure.
Lăsând deoparte toată psihologia pop, iată concluzia: când vine vorba de programare, nu este suficient să înveți un subiect doar o dată sau de două ori. Trebuie să-l revedeți de zeci sau chiar de sute de ori. Fiecare recenzie gravează acest subiect în creierul tău puțin mai profund.
Știu cât de greu poate fi acest lucru dacă ești un explozie natural, dar vei fi surprins cât de repede începi să reții materialul odată ce faci efortul de a-l revizui în mod regulat.
Utilizați mai multe resurse diferite
Cel mai dificil aspect al programării – cel puțin pentru codificatorii noi – este amploarea totală a detaliilor și nuanțelor care trebuie interiorizate. Până când se va întâmpla acea interiorizare, vei fi într-o stare perpetuă de zgârieturi de cap.
În funcție de limbă, va trebui să memorați sute de reguli de sintaxă (de exemplu, cuvinte cheie, punct și virgulă, spații albe). Unele limbi sunt mai stricte, altele sunt mai puțin, iar altele au propriile lor abordări unice ale sintaxei, care nu sunt folosite nicăieri altundeva. Toate acestea pot fi confuze dacă nu aveți experiență anterioară de codare.
Ca să nu mai vorbim de toate informațiile conceptuale care transcende limbile individuale. Subiecte precum programarea orientată pe obiecte, sistemele entități-componente și tiparele observatorului vă pot face cu adevărat să vă învârtă capul prima dată când încercați să le învățați.
Am mai împărtășit această ilustrație, dar este atât de clar încât merită repetat:
„Să presupunem că cineva ți-a arătat o fotografie a unei statui. S-ar putea să vă ofere o imagine suficientă pentru a obține o imagine adecvată a statuii, dar nu veți obține întreaga imagine. O fotografie micșorată ar pierde detalii complicate, în timp ce o fotografie mărită ar pierde simțul perspectivei. Cu toate acestea, cu fotografii suplimentare făcute din alte unghiuri, puteți începe cu adevărat să vedeți plenitudinea statuii în textură, în dimensiune, în detaliu, din față în spate, dintr-o parte în alta și de sus pana jos."
Învățarea programării poate fi surprinzător de arbitrară. Toată lumea ar putea lăuda Resursa A ca fiind cea mai bună modalitate de a învăța Limba X, dar poate că nu are sens pentru tine. Poate că toată lumea urăște Resursa B, dar arunci o privire și are sens! Cât despre altcineva, poate că ei se oprește atunci când studiază Resursele A și B, dar beneficiază foarte mult de Resursa C.
De aceea este atât de important să fii dispus să consumi tot felul de resurse. Fiecare învață într-un mod diferit. Dacă întâmpinați probleme cu un anumit subiect, căutați o altă resursă. Poate că acesta va fi mai potrivit pentru tine. Poate nu.
Chiar dacă credeți că înțelegeți anumite subiecte, este posibil să aveți mai multe de învățat despre el. De asemenea, este posibil ca explicația altcuiva să solidifice definitiv conceptul în mintea ta. Nu se știe niciodată, așa că de ce să nu consumi cât mai multe resurse poți?
Rețineți că jocurile pot fi o resursă extrem de utilă! Verificați acestea jocuri de codare distractive și educaționale Cele mai bune 9 jocuri de codificare pentru a vă dezvolta abilitățile de programareJocurile de codificare vă ajută să învățați mai repede cu experiență și practică practică. În plus, sunt o modalitate distractivă de a-ți testa abilitățile de programare! Citeste mai mult .
Predați concepte pe măsură ce le învățați
Există un concept frumos în programare numit depanare rață de cauciuc Cele mai ciudate principii de programare de care nu ai auzit niciodatăUrmătoarele principii te vor învăța să fii înțelept cu codul tău. Unele sunt ciudate, iar multe sunt pline de umor, dar toate sunt la fel de practice și importante. Ia aminte! Citeste mai mult , care descrie tehnica de a explica codul cuiva, rând cu linie, unei rațe de cauciuc neînsuflețite. Este folosit atunci când un anumit segment de cod este rupt, dar nu există un motiv evident pentru asta.
Destul de ciudat, majoritatea programatorilor au un „Eureka!” moment în mijlocul explicării codului, deoarece văd brusc unde apare eroarea în logica de codare. Verbalizarea declanșează o zonă diferită a creierului, forțându-vă să vedeți problema dintr-un unghi nou.
Acest concept poate fi folosit și pentru a vă ajuta să învățați material nou. Este posibil să fi întâlnit acest citat popular care este adesea atribuit lui Albert Einstein:
„Dacă nu poți explica simplu, nu o înțelegi suficient de bine.”
Cu excepția unor domenii care se ocupă de cunoștințe teoretice avansate, această zicală este adevărată. Cu cât înțelegi mai mult un subiect, cu atât ești mai bine pregătit să-l explici în așa fel încât cineva care nu are cunoștințe despre respectivul subiect poate ajunge să-l înțeleagă.
Opusul acestui lucru este și adevărat. Pe măsură ce încercați să predați un subiect, veți întâlni anumite concepte pe care parcă nu le puteți explica într-un mod clar. Nu numai că este o modalitate minunată de a diagnostica punctele slabe ale cunoștințelor tale, ci și procesul real de găsire a explicației potrivite poate ajuta la consolidarea conceptului în mintea ta.
Se numește învățare prin predare și este practic o întorsătură a depanării rațelor de cauciuc.
Acum, nu spun că ar trebui de fapt învață pe alții; mai degrabă, fiecare subiect nou de programare pe care îl înveți, încearcă să-l înveți unei rate de cauciuc (sau unui prieten invizibil). Poate fi o prostie la început, dar s-ar putea să-l găsești incredibil de fructuos când vine vorba de păstrarea memoriei.
Practica deliberată face perfectul
Noțiunea de talent este o prostie completă. Nimeni nu iese din uter ca violonist, luptător sau programator de talie mondială. Sigur, unii oameni ar putea fi mai înclinați către anumite discipline, dar talentul fără experiență este inutil Nu vă lăsați să moară talentele ascunse: 7 moduri de a merge și de a le găsi din nouVestea proastă este că trebuie să muncești din greu cu intenția de a-ți șlefui talentele ascunse. Vestea bună este că există mai multe oportunități ca niciodată de a vă scuipa-străluci talentele. Citeste mai mult . În mod similar, munca grea este întotdeauna mai valoroasă decât talentul.
Acestea fiind spuse, nu toate formele de muncă grea sunt egale. Malcolm Gladwell a inventat infama Regulă a 10.000 de ore, care spune că trebuie să investești cel puțin 10.000 de ore într-un subiect pentru a deveni un maestru în el. Deși sentimentul poate fi adevărat, mulți oameni interpretează greșit ceea ce încerca el să spună.
Pe scurt, un angajament de 10.000 de ore nu garantează de fapt măiestria. Știți zicala: „Practica nu face perfectă. Practica perfectă face perfectă.” Pentru a avea sens, practica trebuie să fie intenționată Vrei să devii expert în ceva? Încercați practica deliberatăEste prea ușor să te simți abătut atunci când încerci cu greu să îmbunătățești o anumită abilitate. Folosiți puterea „practicii deliberate” pentru a trece peste acele platouri enervante. Citeste mai mult . Măiestria poate fi atinsă doar prin 10.000 de ore de practică deliberată.
Modul în care exersezi contează mult mai mult decât cât timp petreci exersând.
Cititul este pasiv. Vizionarea lecțiilor YouTube este pasivă. Ascultarea podcast-urilor este pasivă. În calitate de programator începător, s-ar putea să fiți tentat să fluturați de la un tutorial la altul, abordând subiect după subiect, fără a aplica efectiv niciuna dintre aceste cunoștințe într-un mod practic. Rezistă acestei tentații.
Una este să înțelegi un exemplu înaintea ta, dar alta este să sintetizezi o soluție de la zero. Dacă vrei să accelerezi procesul de învățare, trebuie să fii dispus să fii activ în loc de pasiv. Practica activă este singurul gen care contează până la urmă.
Experimentați cu proiecte personale
Pentru mine temele erau cea mai proastă parte a școlii. Părea doar un truc elaborat pentru a ucide distracția și a ține studenții ocupați - ceea ce, pentru a fi corect, uneori era adevărat. Dar acum că mă uit înapoi, importanța temelor are în sfârșit sens. M-a forțat să aplic cunoștințele nou dobândite într-un mod activ.
Dacă sunteți înscris în cursuri si cursuri de programare Cele mai bune 11 site-uri pentru cursuri online gratuite de programare a computerelorFolosind aceste cursuri online gratuite de programare a computerelor, puteți deveni un programator grozav fără o diplomă de informatică. Citeste mai mult , nu subestima eficacitatea temelor. Luați-o în serios, tratând-o întotdeauna ca pe o șansă de a consolida și mai mult ceea ce ați învățat în memoria pe termen lung.
Dar de multe ori temele pentru acasă încă nu sunt suficiente. (Și dacă înveți cum să programezi pe cont propriu fără un instructor real, probabil că nu ai nicio temă pentru a începe.)
Care este solutia? Creați câteva proiecte secundare uzate!
Gândiți-vă la a câteva idei de proiecte 5 idei de proiecte care să vă ajute să învățați mai repede programareaExistă câteva moduri de a ușura curba de învățare pentru programare. Murdăriți-vă mâinile și învățați mai repede cu proiecte secundare pe care le puteți începe oricând. Joacă-te cu acești cinci. Citeste mai mult pe care doriți să le implementați. Pentru începători absoluti, ați putea lua în considerare un joc de Tic-Tac-Toe sau Hangman. Pentru programatorii experimentați care încearcă să învețe un nou cadru, încercați să codificați o aplicație mobilă simplă sau un joc web. Atâta timp cât te interesează la nivel personal, mergi!
Frumusețea acestei abordări este dublă.
În primul rând, este mai probabil să vă rețină atenția. Studiile au arătat că studenții învață mai bine atunci când pot aborda subiecte care îi interesează. Exact asta oferă un proiect personal. Aveți un obiectiv final pe care doriți să-l atingeți, astfel încât este mai probabil să păstrați informațiile care vă vor duce acolo.
În al doilea rând, nu există presiune pentru a reuși. În timp ce succesul ar fi frumos, lipsa formalității îți permite să fii experimental și creativ. În mod inevitabil, vei întâmpina probleme, dar este mai mult ca să te joci cu Lego decât ca temă. Este mai distractiv și nu la fel de stresant.
Relaxați-vă și marcați totul
Adevărul este că niciun programator nu-și amintește Tot au invatat. Chiar și după ce ai lucrat cu o anumită bibliotecă sau cadru de ceva vreme, nu este neobișnuit dacă nu poți să-ți amintești fiecare funcție sau variabilă din capul tău.
De fapt, încercarea de a memora totul ar putea ajunge să fie o pierdere uriașă de timp și efort. Fișele de referință există cu un motiv. De ce să memorezi o întreagă enciclopedie când o poți deschide oricând ai nevoie?
Deci, când să memorați și când să faceți referire?
Când vine vorba de material conceptual, interiorizați-l întotdeauna cât mai bine puteți. Prin asta mă refer la înțelegerea teoriei chiar dacă nu o poți converti în cod real (și teoria ar trebui să fie suficient de clară pentru tine pentru a o preda clar).
Pentru orice altceva - cum ar fi nume de funcții specifice, liste de parametri sau chiar ciudații de limbă - Nu mi-aș face griji să mă angajez în memorie. Simțiți-vă liber să amânați la o foaie de referință. Uneori, vei face referire la ceva atât de des încât ajungi să-l memorezi. Dacă se întâmplă asta, bine. Dacă nu, e bine și asta.
Personal, am sute de marcaje pe Internet pentru diverse API-uri, ghiduri și tutoriale. Dacă trebuie să implementez un fel de algoritm de localizare a căii, s-ar putea să fac referire la un ghid care să mă ajute să îl codific înainte de a uita din nou de el. Ajută la înțelegerea conceptelor de bază, dar încerc să nu mă îngrijoreze de detaliile implementării.
Gânduri finale
O voi repeta de un milion de ori dacă va trebui: programarea este grea și este în regulă dacă te lupți cu ea. Programez ca hobby de peste un deceniu și încă mă simt intimidat când am concepte noi de învățat.
Nu vă bătuți dacă nu vă puteți aminti totul imediat. Sfaturile de mai sus se vor dovedi utile și, chiar dacă nu, vă puteți baza întotdeauna pe referințele marcate ca ultimă soluție.
Ți se pare dificilă programarea? Ce fel de trucuri și sfaturi cunoașteți care ar putea fi utile pentru programatorii începători? Împărtășește-ți înțelepciunea cu noi în comentariile de mai jos!
Credite de imagine: Programator binar prin Shutterstock, Eraser de memorie prin Shutterstock, Cod ofuscat prin Shutterstock, Ducky de cauciuc prin Shutterstock, Dactilograf cu tastatură prin Shutterstock, Cod sursă PHP prin Shutterstock, Foldere de fișiere prin Shutterstock
Joel Lee are un B.S. în Informatică și peste șase ani de experiență profesională în scris. El este redactorul șef pentru MakeUseOf.